![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
This chapter describes the Remote Authentication Dial-In User Service (RADIUS) security system, defines its operation, and identifies appropriate and inappropriate network environments for using RADIUS technology. The "RADIUS Configuration Task List" section describes how to configure RADIUS with the authentication, authorization, and accounting (AAA) command set. The "RADIUS Authentication and Authorization Example" section at the end of this chapter offers two possible implementation scenarios.
This section includes the following topics:
For a complete description of the commands used in this chapter, refer to the "RADIUS Commands" chapter in the Security Command Reference. To locate documentation of other commands that appear in this chapter, use the command reference master index or search online.
RADIUS is a distributed client/server system that secures networks against unauthorized access. In the Cisco implementation, RADIUS clients run on Cisco routers and send authentication requests to a central RADIUS server that contains all user authentication and network service access information.
RADIUS is a fully open protocol, distributed in source code format, that can be modified to work with any security system currently available on the market.
Cisco supports RADIUS under its AAA security paradigm. RADIUS can be used with other AAA security protocols, such as TACACS+, Kerberos, or local username lookup. RADIUS is supported on all Cisco platforms.
RADIUS has been implemented in a variety of network environments that require high levels of security while maintaining network access for remote users.
Use RADIUS in the following network environments that require access security:
RADIUS is not suitable in the following network security situations:
When a user attempts to log in and authenticate to an access server using RADIUS, the following steps occur:
The ACCEPT or REJECT response is bundled with additional data that is used for EXEC or network authorization. You must first complete RADIUS authentication before using RADIUS authorization. The additional data included with the ACCEPT or REJECT packets consists of the following:
To configure RADIUS on your Cisco router or access server, you must perform the following tasks:
The following configuration tasks are optional:
This section describes how to set up RADIUS for authentication, authorization, and accounting on your network, and includes the following sections:
The RADIUS host is normally a multiuser system running RADIUS server software from Livingston, Merit, Microsoft, or another software provider. A RADIUS server and a Cisco router use a shared secret text string to encrypt passwords and exchange responses.
To configure RADIUS to use the AAA security commands, you must specify the host running the RADIUS server daemon and a secret text string that it shares with the router. Use the radius-server commands to specify the RADIUS server host and a secret text string.
To specify a RADIUS server host and shared secret text string, perform the following tasks in global configuration mode:
Task | Command |
---|---|
Specify the IP address or host name of the remote RADIUS server host and assign authentication and accounting destination port numbers. | radius-server host {hostname | ip-address} [auth-port port-number] [acct-port port-number] |
Specify the shared secret text string used between the router and the RADIUS server. | radius-server key string |
To customize communication between the router and the RADIUS server, use the following optional radius-server global configuration commands:
Task | Command |
---|---|
Specify the number of times the router transmits each RADIUS request to the server before giving up (default is three). | radius-server retransmit retries |
Specify the number of seconds a router waits for a reply to a RADIUS request before retransmitting the request. | radius-server timeout seconds |
Specify the number of minutes a RADIUS server, which is not responding to authentication requests, is passed over by requests for RADIUS authentication. | radius-server dead-time minutes |
Although an Internet Engineering Task Force (IETF) draft standard for RADIUS specifies a method for communicating vendor-proprietary information between the network access server and the RADIUS server, some vendors have extended the RADIUS attribute set in a unique way. Cisco IOS software supports a subset of vendor-proprietary RADIUS attributes.
As mentioned earlier, to configure RADIUS (whether vendor-proprietary or IETF draft-compliant), you must specify the host running the RADIUS server daemon and the secret text string it shares with the Cisco device. You specify the RADIUS host and secret text string by using the radius-server commands. To identify that the RADIUS server is using a vendor-proprietary implementation of RADIUS, use the radius-server host non-standard command. Vendor-proprietary attributes will not be supported unless you use the radius-server host non-standard command.
To specify a vendor-proprietary RADIUS server host and a shared secret text string, perform the following tasks in global configuration mode:
Task | Command |
---|---|
Specify the IP address or host name of the remote RADIUS server host and identify that it is using a vendor-proprietary implementation of RADIUS. | radius-server host {hostname | ip-address} non-standard |
Specify the shared secret text string used between the router and the vendor-proprietary RADIUS server. The router and the RADIUS server use this text string to encrypt passwords and exchange responses. | radius-server key string |
Some vendor-proprietary implementations of RADIUS let the user define static routes and IP pool definitions on the RADIUS server instead of on each individual network access server in the network. Each network access server then queries the RADIUS server for static route and IP pool information.
To have the Cisco router or access server query the RADIUS server for static routes and IP pool definitions when the device first starts up, perform the following task in global configuration mode:
Task | Command |
---|---|
Tell the Cisco router or access server to query the RADIUS server for the static routes and IP pool definitions used throughout its domain. | radius-server configure-nas |
After you have identified the RADIUS server and defined the RADIUS authentication key, you need to define method lists for RADIUS authentication. Because RADIUS authentication is facilitated through AAA, you need to issue the aaa authentication command, specifying RADIUS as the authentication method. For more information, refer to the "Configuring Authentication" chapter in the Security Configuration Guide.
AAA authorization lets you set parameters that restrict a user's network access. Authorization using RADIUS provides one method for remote access control, including one-time authorization or authorization for each service, per-user account list and profile, user group support, and support of IP, IPX, ARA, and Telnet. Because RADIUS authorization is facilitated through AAA, you need to issue the aaa authorization command, specifying RADIUS as the authorization method. For more information, refer to the "Configuring Authorization" chapter.
The AAA accounting feature enables you to track the services users are accessing as well as the amount of network resources they are consuming. Because RADIUS accounting is facilitated through AAA, you need to issue the aaa accounting command, specifying RADIUS as the accounting method. For more information, refer to the "Configuring Accounting" chapter.
The network access server monitors the RADIUS authorization and accounting functions defined by RADIUS attributes in each user-profile. For a list of supported RADIUS attributes, refer to the "RADIUS Attributes" appendix.
An Internet Engineering Task Force (IETF) draft standard for RADIUS specifies a method for communicating vendor-proprietary information between the network access server and the RADIUS server. Some vendors, nevertheless, have extended the RADIUS attribute set in a unique way. Cisco IOS software supports a subset of vendor-proprietary RADIUS attributes. For a list of supported vendor-proprietary RADIUS attributes, refer to the "RADIUS Attributes" appendix.
RADIUS configuration examples in this section include the following:
The following example shows how to configure the router to authenticate and authorize using RADIUS:
aaa authentication login use-radius radius local aaa authentication ppp user-radius if-needed radius aaa authorization exec radius aaa authorization network radius
The lines in this sample RADIUS authentication and authorization configuration are defined as follows:
The following sample is a general configuration using RADIUS with the AAA command set: radius-server host 123.45.1.2 radius-server key myRaDiUSpassWoRd username root password ALongPassword aaa authentication ppp dialins radius local aaa authorization network radius local aaa accounting network start-stop radius aaa authentication login admins local aaa authorization exec local line 1 16 autoselect ppp autoselect during-login login authentication admins modem ri-is-cd interface group-async 1 encaps ppp ppp authentication pap dialins
The lines in this sample RADIUS authentication, authorization, and accounting configuration are defined as follows:
The following sample is a general configuration using vendor-proprietary RADIUS with the AAA command set: radius-server host alcatraz non-standard radius-server key myRaDiUSpassWoRd radius-server configure-nas username root password ALongPassword aaa authentication ppp dialins radius local aaa authorization network radius local aaa accounting network start-stop radius aaa authentication login admins local aaa authorization exec local line 1 16 autoselect ppp autoselect during-login login authentication admins modem ri-is-cd interface group-async 1 encaps ppp ppp authentication pap dialins
The lines in this sample RADIUS authentication, authorization, and accounting configuration are defined as follows:
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |