RADIUS is a client/server-based system that secures a Cisco network against intruders. Implemented in IOS, RADIUS sends authentication requests to a RADIUS server. Radius was created by Livingston Enterprises and is now defined in RFC 2138/2139.
A RADIUS server is a device that has the RADIUS daemon or application installed. RADIUS must be used with AAA to enable the authentication, authorization, and accounting of remote users when using Cisco IOS routers.
When a RADUIS server authenticates a user, the following events occur:
1. The user is prompted for and enters a username and password.
2. The username and encrypted password are sent over the network to the RADIUS server.
3. The user receives one of the following responses from the RADIUS server:
ACCEPT—The user is authenticated.
ACCEPT-REJECT—The user is not authenticated and is prompted to re-enter the username and password, or access is denied. The RADIUS server sends this response when the user enters an invalid username/password pairing.
CHALLENGE—A challenge is issued by the RADIUS server. The challenge collects additional data from the user.
CHANGE PASSWORD—The RADIUS server issues a request asking the user to select a new password.
An ACCEPT or REJECT response can contain additional information for services that the user can access, including Telnet, rlogin, or local-area transport (LAT) connections, and PPP, Serial Line Internet Protocol (SLIP), or EXEC services.
RADIUS is commonly used when PPP is used.
The RADIUS server accepts or rejects a username and password pair. In some instances, a user might be asked to enter more information (this is called a challenge response). For example, if a user’s password has expired, a RADUIS server will prompt the user for a new password.
Transactions between the client (end user) and the RADIUS server are authenticated through a shared secret. The username is sent as clear text. RADIUS supports both Password Authentication Protocol (PAP) and Challenge Handshake Authentication Protocol (CHAP). PAP and CHAP are security protocols that allow users to gain access to remote devices with PPP. A RADIUS server will never send the user’s password over the network in any circumstance. If the username/password pairing is entered incorrectly, the RADIUS server will send an ACCESS_REJECT response. The end user must re-enter the pairings or the connection will be rejected.
RADIUS supports a number of predefined attributes that can be exchanged between client and server, such as the client’s IP address. RADIUS attributes carry specific details about authentication.
RFC 2138 defines a number of attributes. The following bulleted list provides details from the most common attributes:
² Attribute type 1—Username (defines usernames, such as numeric, simple ASCII characters, or a Simple Mail Transfer Protocol [SMTP] address)
² Attribute type 2—User Password (defines the password, which is encrypted using Message Digest 5 [MD5])
² Attribute type 3—CHAP Password (used only in access-request packets)
² Attribute type 4—NAS IP address (defines the NAS’s IP address; used only in accessrequest packets)
² Attribute type 5—NAS Port (this is not the User Datagram Protocol (UDP) port number; it indicates the NAS’s physical port number, ranging from 0 to 65,535)
² Attribute type 6—Service-Type (Type of service requested or type of service to be provided). Not supported by Cisco IOS.
² Attribute type 7—Protocol (defines required framing; for example, PPP is defined when this attribute is set to 1 and Serial Line Internet Protocol [SLIP] is set to 2)
² Attribute type 8—IP address (defines the IP address to be used by the remote user)
² Attribute type 9—IP subnet mask (defines the subnet mask to be used by the remote user)
² Attribute type 10—Routing
² Attribute type 13—Compression
² Attribute type 19—Callback ID
² Attribute type 26—Vendor-specific. Cisco (vendor-ID 9) uses one defined option: vendor type 1 named cisco-avpair; this attribute transmits TACACS+ A/V pairs
² Attribute type 61—NAS port type
RADIUS Configuration Task List
A RADIUS server is usually software that runs on a variety of platforms, including Microsoft NT servers or a UNIX host. RADIUS can authenticate router users and vendors, and even validate IP routes.
To configure RADIUS on your Cisco router or access server, perform the following tasks: Step 1 Enable AAA with the aaa new-model global configuration command. AAA must be configured if you plan to use RADIUS. Step 2 Use the aaa authentication global configuration command to define method lists for RADIUS authentication. Step 3 Use line and interface commands to enable the defined method lists to be used. Step 4 Define the RADIUS server and secret key with the following IOS commands:
radius-server ip address
radius-server key secret key There are two optional RADIUS commands: Use the aaa authorization global command to authorize specific user functions.
Use the aaa accounting command to enable accounting for RADIUS connections.
Examples: configures a Cisco IOS router with AAA and RADIUS support.
aaa new-model
aaa authentication login use-radius group radius local
aaa authentication ppp user-radius if-needed group radius
aaa authorization exec default group radius
aaa authorization network default group radius
radius-server 3.3.3.3
radius-server key IlovetheMotheroftheEucharist
The command lines in this RADIUS authentication and authorization configuration are defined as follows:
² The aaa authentication login use-radius group radius local command configures the router to use RADIUS for authentication at the login prompt. If RADIUS returns an error, the user is authenticated using the local database. In this example, use-radius is the name of the method list, which specifies RADIUS and then local authentication. If the RADIUS server returns the REJECT response, the user is denied access and the router will not check its local database.
² The aaa authentication ppp user-radius if-needed group radius command configures the Cisco IOS Software to use RADIUS authentication for lines using PPP with CHAP or PAP, if the user is not already authorized. If the EXEC facility has authenticated the user, RADIUS authentication is not performed. In this example, user-radius is the name of the method list defining RADIUS as the if-needed authentication method.
² The aaa authorization exec default group radius command sets the RADIUS information used for EXEC authorization, autocommands, and access lists.
² The aaa authorization network default group radius command sets RADIUS for network authorization, address assignment, and access lists.
² The radius-server commands define the NAS.
² The radius-server key commands define the shared secret text string between the network access server and the RADIUS server host.
Example:
Hostname R1
username simon password SimonisisAgreatdrummeR
aaa new-model
aaa authentication ppp dialins group radius local
aaa authorization network default group radius local
aaa accounting network default start-stop group radius
aaa authentication login simon local
aaa authorization exec default local
radius-server host 3.3.3.3
radius-server key CCIEsrock
Description:
The above example configurations are defined as follows:
• The radius-server host command defines the RADIUS server host’s IP address.
• The radius-server key command defines the shared secret text string between the network access server and the RADIUS server host.
• The aaa authentication ppp dialins group radius local command defines the authentication method list, dialins, which specifies that RADIUS authentication and then (if the RADIUS server does not respond) local authentication will be used on serial lines using PPP.
• The aaa authorization network default group radius local command assigns an address and other network parameters to the RADIUS user.
• The aaa accounting network default start-stop group radius command tracks PPP usage. This command is used for all network services. Can be PPP, but also SLIP or ARAP.
• The aaa authentication login simon local command defines method list, simon, for local authentication.
• The aaa authentication login simon command applies the simon method list for login authentication.
Cisco’s website provides a long list of configuration examples. To view more detailed configurations, visit the following web address and follow the link to Security:
www.cisco.com/kobayashi/technotes/serv_tips.shtml