rlm_eap
Synopsis
Configuration for EAP types (PEAP, TTLS, etc.). EAP types not listed
here may be supported via the eap2 module.
|
Note
|
Do not set Auth-Type := EAP. The server is smart enough to
figure this out on its own. The most common side effect of setting
Auth-Type := EAP is that the users then cannot use any other
authentication method.
|
Processing Sections
authorize
When listed in the authorize section, the eap module looks for the
EAP-Message attribute in the Access-Request packet. If found, the
module sets Auth-Type := EAP.
- Return codes
-
noopNoEAP-Messageattribute was found in the packet. -
failTheEAP-Messagecontained an invalid EAP packet. -
handledTheEAP-Messagecontained an EAP-Start packet, and the server will respond with an EAP-Identity request. -
okThe module is processing EAP-TTLS or PEAP, and has not yet set up the inner tunnel. -
updatedThe module setAuth-Type := EAP, and processing is continuing.
authenticate
When listed in the authenticate section, the eap module performs
EAP authentication. It calls an EAP sub-module to perform the
authentication.
- Return codes
-
failTheEAP-Messagecontained an invalid EAP packet. -
invalidThe EAP packet cannot be resolved to a known EAP type. -
handledThe inner EAP data will be proxied to another server. -
okThe request was successfully authenticated by the EAP type. -
rejectedThe request was rejected by the EAP type.
post-auth
When listed in the post-auth section, the eap module updates the
reply for EAP failures. This is done only for the Post-Auth-Type
Reject section.
The use-case here is that another module may reject the user.
However, the EAP standards still require that an EAP-Fail is sent
inside of the Access-Reject. The eap module will look for this
situation, and ensure that the reject packet contains the correct
information.
- Return codes
-
noopThe Access-Request does not containEAP-Message, or the reply is an Access-Accept. -
failThe module was unable to create an EAP packet. -
updatedThe module added anEAP-Messagecontain an EAP failure, and also added aMessage-Authenticatorattribute to theAccess-Rejectpacket.
post-proxy
When listed in the post-proxy section, the eap module updates the
Cisco-specific attributes for the leap method.
When the inner EAP data was proxied, the module also calls the EAP type to finish processing the encapsulating EAP type.
- Return codes
-
noopThere was no inner EAP session, and noleapinformation. -
failThere is an inner EAP session, but there was a problem retrieving it. -
rejectThe inner EAP session rejected the session. -
okThe inner EAP session continued processing the request. -
updatedTheleapinformation was successfully updated.
Expansions
None.
Directives
- Syntax
-
cisco_accounting_username_bug = boolean
- Default
-
no
- Description
-
Cisco AP1230B firmware 12.2(13)JA1 has a bug. When given a
User-Nameattribute in anAccess-Accept, it copies one more byte than it should.Cisco_accounting_username_bugprovides a reconfigured workaround (an extra zero byte is added).
- Syntax
-
default_eap_type = string
- Default
-
md5
- Description
-
Invokes the default supported
EAPtype when theEAP-Identityresponse is received. The incoming EAP messages do not specify which EAP type they will be using, so it must be set here. For now, only one default EAP type may be used at a time. If theEAP-Typeattribute is set by another module, then that value takes precedence over the default type configured here.
- Syntax
-
ignore_unknown_eap_types = boolean
- Default
-
no
- Description
-
There are many
EAPtypes, but the server has support for only a limited subset. If the server receives a request for an EAP type it does not support, then it normally rejects the request. By setting this configuration toyes, you can tell the server to instead keep processing the request. Another module must then be configured to proxy the request to another RADIUS server which supports that EAP type. If another module is not configured to handle the request, then the request will still end up being rejected.
The only reason to set this value to yes is if you are writing your
own experimental EAP type.
- Syntax
-
max_sessions = integer
- Default
-
4096
- Description
-
Helps prevent DoS attacks by limiting the number of sessions that the server is tracking. Most systems can handle a hundred or so simultaneous
EAPsessions per second, so the default limit of 4096 should be sufficient.
- Syntax
-
timer_expire = integer
- Default
-
60
- Description
-
A list is maintained to correlate
EAP-Responsepackets withEAP-Requestpackets. After the above configurable length of time, entries in the list expire, and are deleted. Requests are also deleted when the EAP session either succeeds or fails. i.e. This timer is used only for unfinished sessions.
Setting this value too low means that slow EAP sessions will get deleted before they finish. That configuration is not recommended.
Setting this value too high means that a little more memory is used than necessary.
In general, EAP sessions should finish within a few seconds.
Supported EAP-types
The EAP module has a number of sub-sections which contain configurations for each EAP type. Please see the following links for information on each EAP type.
The tls parameters are configured separately from the EAP-TLS
configuration. See the tls-common section.