<AuthBy RADSEC>
clauses in other Radiators
other RadSec clients and processes RADIUS requests sent over the RadSec
connection in a similar way to how a Client clause received conventional
UDP RADIUS requests. RadSec can be used to provide secure reliable
proxying of RADIUS requests from one Radiator to another, even over
insecure networks. For more information, see RadSec white paper .<ServerRADSEC>
and any RadSec clients that
connect to it must have the same Secret configured, otherwise they are not
able to exchange RADIUS requests correctly, irrespective of whether any
TLS or other configuration parameters are correct. For compliance with RFC
6614, ServerRADSEC defaults to a Secret of
radsec
.<ServerRADSEC>
are dispatched to the first
matching <Realm>
or
<Handler>
clause, in the same was as the
<Client>
clause. The reply to any incoming
request will be automatically delivered back to the original requesting
RadSec client.<ServerRADSEC>
supports
TLS. For more information about TLS parameters, see Section 3.11. TLS configuration. When you enable TLS, you
must configure a server certificate, otherwise a RadSec client is not able
to establish a TLS encrypted connection to
<ServerRADSEC>
. TLS_RequireClientCert
enabled by default. When a
RadSec client presents a certificate to the RadSec Server, the RadSec
server performs a number of checks to validate the client certificate. The
client certificate is checked for valid start and end dates, and also
checks the chain of validity back to the issuing Certificate Authority,
using the root certificates specified in TLS_CAFile
or TLS_CAPath
. If TLS_PolicyOID
parameter is defined, the OIDs must be present in the certificate path.
Also a client certificate is only accepted if at least one of the
following conditions are true:subjectAltNameDNS
is configured, its value is
used to match the certicicate's subjectAltName values with type
DNS.TLS_ExpectedPeerName
parameter in this
<ServerRADSEC>
clause.TLS_SubjectAltNameURI
parameter is defined
in the <ServerRADSEC>
clause, the
certificate must contain a subjectAltName
of type
URI that matches the TLS_SubjectAltNameURI
regular expression.TLS_CertificateFingerprint
parameter is
defined in the <AuthBy RADSEC>
clause, the
certificate's fingerprint must match at least one of the
TLS_CertificateFingerprint
options.TLS_ExpectedPeerName
pattern is .+, which matches any Subject. This means than in the default
configuration, <ServerRADSEC>
accepts any
client whose client certificate can be validated against a root
certificate specified by TLS_CAFile
or
TLS_CAPath
.<ServerRADSEC>
listens to for connections from
RadSec clients. The default value 2083
, the official IANA
port number for RadSec. Port
can be a numeric port
number or symbolic port or service name.BindAddress
, which defaults to
0.0.0.0
. It listens to all networks connected to the
host. For more information, see Section 3.7. Global parameters.BindAddress
can include special formatting
characters, and multiple comma separated IPv4 and IPv6
addresses.BindAddress
must be either IPv4 or IPv6
addresses. Radiator binds all addresses to one listen socket instead of
creating multiple listen sockets.BindAddress
:# Only listen on one IPv4 address and the IPv6 loopback BindAddress 203.63.154.1, ::1
<ServerRADSEC>
and RadSec clients
that connect to it. The shared secret is used in the same way as
Secret
parameter in the Client clause: to encrypt
passwords and generate message authenticators. The shared secret must be
configured identically into <ServerRADSEC>
and
all RadSec clients that connect to it, regardless of whether TLS is
enabled or not. An authentication error will occur if the shared secret is
not correctly configured. For compliance with RFC 6614, the default value
is radsec
.# Remove any NAS-IP-Address,NAS-Port attributes StripFromRequest NAS-IP-Address,NAS-Port
<ServerRADSEC>
receives. It can be used to tag requests arriving from RadSec for special
handling within Radiator or in remote RADIUS servers.AddToRequest
:AddToRequest NAS-Identifier=RADSEC
<ServerRADSEC>
receives.
Unlike AddToRequest
, an attribute is added only if it
does not exist in the request already. The value is a comma-separated list
of attribute-value pairs.# Only permit a limited set of attributes in a reject. AllowInReject Message-Authenticator, EAP-Message
# Realmless logins to this NAS will be treated # as if they are for realm open.com.au <ServerRADSEC> Secret .... ..... DefaultRealm open.com.au </Client> <Realm open.com.au> ..... </Realm>
tcp
for TCP/IP or
sctp
for SCTP (Stream Control Transmission Protocol). The
default value is tcp
. Not all hosts are able to support
sctp
, consult your vendor. The protocol setting must be
the same in each RadSec server and client.Protocol sctp
modprobe sctp
PreHandlerHook
is called for
each request after per-Client user name rewriting and duplicate
rejection, and before the request is passed to a Realm or Handler
clause.PreHandlerHook
specifies a Perl hook to be called before the inner request is
re-dispatched to a matching Realm or Handler.EAP_LEAP_MSCHAP_Convert
flag is
set, PreHandlerHook
specifies a Perl hook to
be called before the converted request is re-dispatched to a
matching Realm or Handler.EAP_PEAP_MSCHAP_Convert
flag is set, PreHandlerHook
specifies a Perl
hook to be called before the converted request is re-dispatched to
a matching Realm or Handler.EAP_GTC_PAP_Convert
flag is
set, PreHandlerHook
specifies a Perl hook to
be called before the converted request is re-dispatched to a
matching Realm or Handler.PreHandlerHook
is
called for each request created by the clause before the request is
passed to a Realm or Handler clause.PreHandlerHook
is
called for each request after global and per-ServerRADSEC user name
rewriting and before the request is passed to a Realm or Handler
clause.PreHandlerHook
is
called for each request received by ServerDIAMETER before the request
is passed to a Realm or Handler clause.PreHandlerHook
is
called for each request before it is passed to a Realm or Handler
clause. If a Client is found for the request, Client's
PrehandlerHook
is run before ServerTACASPLUS's
PreHandlerHook
. Global and per-Client user name
rewriting and other processing is done before the hooks are
run.PreHandlerHook
can be an arbitrarily complicated Perl function, that might run external
processes, consult databases, change the contents of the current request
or many other things. Here is an example of using
PreHandlerHook
:# Fake a new attribute into the request PreHandlerHook sub { ${$_[0]}->add_attr('test-attr', \ 'test-value');}
PacketTrace
set off or
0
.PacketTrace
is available
for the following clauses:Client
Handler
Realm
AuthBy
ServerDIAMETER
ServerRADSEC
ServerTACACSPLUS
PacketTrace
:# Debug any packets that pass through here PacketTrace
StatusServer
to one of the
following values:off
minimal
default
0
. When connections are known to be short-lived, a
non-default value may be useful. This parameter is available for all
Stream based modules, such as <ServerDIAMETER>
and <AuthBy RADSEC>
.# Debug logging is enough for peer disconnects DisconnectTraceLevel 4
<ServerDIAMETER>
and
<ServerRADSEC>
.# Allow one connection for each listen socket StreamMaxClients 1
# Only accept connections from some addresses Clients 127.0.0.1, 203.63.154.29 Clients 203.63.154.27