CCNA Security Lab: Securing Administrative Access Using AAA and RADIUS
Topology
IP Addressing Table
Device | Interface IP Address | Subnet Mask | Default Gateway | Switch Port |
R1 | FA0/1 192.168.1.1 | 255.255.255.0 | N/A | S1 FA0/5 |
S0/0/0 (DCE) 10.1.1.1 | 255.255.255.252 | N/A | N/A | |
R2 | S0/0/0 10.1.1.2 | 255.255.255.252 | N/A | N/A |
S0/0/1 (DCE) 10.2.2.2 | 255.255.255.252 | N/A | N/A | |
R3 | FA0/1 192.168.3.1 | 255.255.255.0 | N/A | S3 FA0/5 |
S0/0/1 10.2.2.1 | 255.255.255.252 | N/A | N/A | |
PC-A | NIC 192.168.1.3 | 255.255.255.0 | 192.168.1.1 | S1 FA0/6 |
PC-C | NIC 192.168.3.3 | 255.255.255.0 | 192.168.3.1 | S3 FA0/18 |
Device Interface IP Address Subnet Mask Default Gateway Switch Port
Objectives
Part 1: Basic Network Device Configuration
- Configure basic settings such as host name, interface IP addresses, and access passwords.
- Configure static routing.
Part 2: Configure Local Authentication
- Configure a local database user and local access for the console, vty, and aux lines.
- Test the configuration.
Part 3: Configure Local Authentication Using AAA
- Configure the local user database using Cisco IOS.
- Configure AAA local authentication using Cisco IOS.
- Configure AAA local authentication using SDM.
- Test the configuration.
Part 4: Configure Centralized Authentication Using AAA and RADIUS
- Install a RADIUS server on a computer.
- Configure users on the RADIUS server.
- Configure AAA services on a router to access the RADIUS server for authentication using Cisco IOS.
- Configure AAA services on a router to access the RADIUS server for authentication using SDM.
- Test the AAA RADIUS configuration.
Background
The most basic form of router access security is to create passwords for the console, vty, and aux lines. A user is prompted for only a password when accessing the router. Configuring a privileged EXEC mode enable secret password further improves security, but still only a basic password is required for each mode of access.
In addition to basic passwords, specific usernames or accounts with varying privilege levels can be defined in the local router database that can apply to the router as a whole. When the console, vty, or aux lines are configured to refer to this local database, the user is prompted for a username and a password when using any of these lines to access the router.
Additional control over the login process can be achieved using Authentication, Authorization, and Accounting (AAA). For basic authentication, AAA can be configured to access the local database for user logins, and fallback procedures can also be defined. However, this approach is not very scalable because it must be configured on every router. To take full advantage of AAA and achieve maximum scalability, it is used in conjunction with an external TACACS+ or RADIUS server database. When a user attempts to login, the router references the external server database to verify that the user is logging in with a valid username and password.
In this lab, you build a multi-router network and configure the routers and hosts. You use various CLI commands and SDM tools to configure routers with basic local authentication and local authentication using AAA. You install RADIUS software on an external computer and use AAA to authenticate users with the RADIUS server.
Note: The router commands and output in this lab are from a Cisco 1841 with Cisco IOS Release 12.4(20)T (Advance IP image). Other routers and Cisco IOS versions can be used. See the Router Interface Summary table at the end of the lab to determine which interface identifiers to use based on the equipment in the lab. Depending on the router model and Cisco IOS version, the commands available and output produced might vary from what is shown in this lab.
Note: Make sure that the routers and switches have been erased and have no startup configurations.
Instructor Note: Instructions for erasing both the switch and router are provided in the Lab Manual, located on Academy Connection in the Tools section.
Required Resources
- 3 routers with SDM 2.5 installed (Cisco 1841 with Cisco IOS Release 12.4(20)T1 or comparable)
- 2 switches (Cisco 2960 or comparable)
- PC-A: Windows XP, Vista, or Windows Server with RADIUS server software available
- PC-C: Windows XP or Vista
- Serial and Ethernet cables as shown in the topology
- Rollover cables to configure the routers via the console
Instructor Note:
This lab is divided into five parts. Each part can be administered individually or in combination with others as time permits. The main goal is to configure various types of user access authentication, from basic local access validation to the use of AAA and then AAA with an external RADIUS server. Both Cisco IOS and SDM methods of configuring the router are covered. R1 and R3 are on separate networks and communicate through R2, which simulates an ISP type situation. Students can work in teams of two for router authentication configuration, one person configuring R1 and the other R3.
Although switches are shown in the topology, students can omit the switches and use crossover cables between the PCs and routers R1 and R3.
The basic running configs for all three routers are captured after Part 1 and Part 2 of the lab are completed. The running config commands that are added to R1 and R3 in Parts 3 and 4 are captured and listed separately. All configs are found at the end of the lab.
Part 1: Basic Network Device Configuration
In Part 1 of this lab, you set up the network topology and configure basic settings, such as the interface IP addresses, static routing, device access, and passwords.
All steps should be performed on routers R1 and R3. Only steps 1, 2, 3 and 6 need to be performed on R2. The procedure for R1 is shown here as an example.
Step 1: Cable the network as shown in the topology.
Attach the devices shown in the topology diagram, and cable as necessary.
Step 2: Configure basic settings for each router.
a. Configure host names as shown in the topology.
b. Configure the interface IP addresses as shown in the IP addressing table.
c. Configure a clock rate for the routers with a DCE serial cable attached to their serial interface.
R1(config)#interface S0/0/0 R1(config-if)#clock rate 64000
d. To prevent the router from attempting to translate incorrectly entered commands as though they were host names, disable DNS lookup.
R1(config)#no ip domain-lookup
Step 3: Configure static routing on the routers.
a. Configure a static default route from R1 to R2 and from R3 to R2.
b. Configure a static route from R2 to the R1 LAN and from R2 to the R3 LAN.
Step 4: Configure PC host IP settings.
Configure a static IP address, subnet mask, and default gateway for PC-A and PC-C, as shown in the IP addressing table.
Step 5: Verify connectivity between PC-A and R3.
a. Ping from R1 to R3.
Were the ping results successful?
Yes If the pings are not successful, troubleshoot the basic device configurations before continuing.
b. Ping from PC-A on the R1 LAN to PC-C on the R3 LAN.
Were the ping results successful?
Yes If the pings are not successful, troubleshoot the basic device configurations before continuing.
Note: If you can ping from PC-A to PC-C, you have demonstrated that static routing is configured and functioning correctly. If you cannot ping but the device interfaces are up and IP addresses are correct, use the show run and show ip route commands to help identify routing protocol-related problems.
Step 6: Save the basic running configuration for each router.
Use the Transfer > Capture text option in HyperTerminal or some other method to capture the running configs for each router. Save the three files so that they can be used to restore configs later in the lab.
Step 7: Configure and encrypt passwords on R1 and R3.
Note: Passwords in this task are set to a minimum of 10 characters but are relatively simple for the benefit of performing the lab. More complex passwords are recommended in a production network. For this step, configure the same settings for R1 and R3. Router R1 is shown here as an example.
a. Configure a minimum password length. Use the security passwords command to set a minimum password length of 10 characters.
R1(config)#security passwords min-length 10
b. Configure the enable secret password on both routers.
R1(config)#enable secret cisco12345
c. Configure the basic console, auxiliary port, and vty lines.
d. Configure a console password and enable login for router R1. For additional security, the exectimeout command causes the line to log out after 5 minutes of inactivity. The logging synchronous command prevents console messages from interrupting command entry.
Note: To avoid repetitive logins during this lab, the exec timeout can be set to 0 0, which prevents it from expiring. However, this is not considered a good security practice.
R1(config)#line console 0 R1(config-line)#password ciscoconpass R1(config-line)#exec-timeout 5 0 R1(config-line)#login R1(config-line)#logging synchronous
e. Configure a password for the aux port for router R1.
R1(config)#line aux 0 R1(config-line)#password ciscoauxpass R1(config-line)#exec-timeout 5 0 R1(config-line)#login
f. Configure the password on the vty lines for router R1.
R1(config)#line vty 0 4 R1(config-line)#password ciscovtypass R1(config-line)#exec-timeout 5 0 R1(config-line)#login
g. Encrypt the console, aux, and vty passwords.
R1(config)#service password-encryption
h. Issue the show run command. Can you read the console, aux, and vty passwords? Why or why not?
No, the passwords are now encrypted
Step 8: Configure a login warning banner on routers R1 and R3.
a. Configure a warning to unauthorized uses using a message-of-the-day (MOTD) banner with the banner motd command. When a user connects to the router, the MOTD banner appears before the login prompt. In this example, the dollar sign ($) is used to start and end the message.
R1(config)#banner motd $Unauthorized access strictly prohibited and prosecuted to the full extent of the law$ R1(config)#exit
b. Issue the show run command. What does the $ convert to in the output? The $ is converted to ^C when the running-config is displayed.
c. Exit privileged EXEC mode using the disable or exit command and press Enter to get started. Does the MOTD banner look like what you expected? Yes.
Note: If it does not, just recreate it using the banner motd command.
Step 9: Save the basic configurations.
Save the running configuration to the startup configuration from the privileged EXEC prompt.
R1#copy running-config startup-config
Part 2: Configure Local Authentication
In Part 2 of this lab, you configure a local username and password and change the access for the console, aux, and vty lines to reference the router’s local database for valid usernames and passwords. Perform all steps on R1 and R3. The procedure for R1 is shown here.
Step 1: Configure the local user database.
a. Create a local user account with MD5 hashing to encrypt the password.
R1(config)#username user01 secret user01pass
b. Exit global configuration mode and display the running configuration. Can you read the user’s password?
No, a secret password is encrypted
Step 2: Configure local authentication for the console line and login.
a. Set the console line to use the locally defined login usernames and passwords.
R1(config)#line console 0 R1(config-line)#login local
b. Exit to the initial router screen that displays: R1 con0 is now available, Press RETURN to get started.
c. Log in using the user01 account and password previously defined.
d. What is the difference between logging in at the console now and previously?
This time you are prompted to enter a username as well as a password.
e. After logging in, issue the show run command. Were you able to issue the command? Why or why not?
No, it requires privileged EXEC level.
f. Enter privileged EXEC mode using the enable command. Were you prompted for a password? Why or why not?
Yes, the new users created will still be required to enter the enable secret password to enter privileged EXEC mode.
Step 3: Test the new account by logging in from a Telnet session.
a. From PC-A, establish a Telnet session with R1.
PC-A>telnet 192.168.1.1
b. Were you prompted for a user account? Why or why not? No, the vty lines were not set to use the locally defined accounts as the line 0 console was.
c. What password did you use to login? ciscovtypass
d. Set the vty lines to use the locally defined login accounts.
R1(config)#line vty 0 4 R1(config-line)#login local e. From PC-A, telnet R1 to R1 again. PC-A>telnet 192.168.1.1
f. Were you prompted for a user account? Why or why not? Yes, the vty lines are now set to use the locally defined accounts.
g. Log in as user01 with a password of user01pass.
h. While connected to R1 via Telnet, access privileged EXEC mode with the enable command.
i. What password did you use? The enable secret password, cisco12345
j. For added security, set the aux port to use the locally defined login accounts.
R1(config)#line aux 0 R1(config-line)#login local
k. End the Telnet session with the exit command.
Step 4: Save the configuration on R1.
a. Save the running configuration to the startup configuration from the privileged EXEC prompt.
R1#copy running-config startup-config
b. Use HyperTerminal or another means to save the R1 running configuration from Parts 1 and 2 of this lab and edit it so that it can be used to restore the R1 config later in the lab.
Note: Remove all occurrences of “- – More – -.” Remove any commands that are not related to the items you configured in Parts 1 and 2 of the lab, such as the Cisco IOS version number, no service pad, and so on. Many commands are entered automatically by the Cisco IOS software. Also replace the encrypted passwords with the correct ones specified previously.
Step 5: Perform steps 1 through 4 on R3 and save the configuration.
a. Save the running configuration to the startup configuration from the privileged EXEC prompt.
R3#copy running-config startup-config
b. Use HyperTerminal or another means to save the R3 running configuration from Parts 1 and 2 of this lab and edit it so that it can be used to restore the R3 config later in the lab.
Part 3: Configure Local Authentication Using AAA on R3
Task 1: Configure the Local User Database Using Cisco IOS
Note: If you want to configure AAA using SDM, go to Task 3.
Step 1: Configure the local user database.
a. Create a local user account with MD5 hashing to encrypt the password.
R3(config)#username Admin01 privilege 15 secret Admin01pass
b. Exit global configuration mode and display the running configuration. Can you read the user’s password?
No, a secret password is encrypted
Task 2: Configure AAA Local Authentication Using Cisco IOS
Step 1: Enable AAA services.
a. On R3, enable services with the global configuration command aaa new-model. Because you are implementing local authentication, use local authentication as the first method, and no authentication as the secondary method. If you were using an authentication method with a remote server, such as TACACS+ or RADIUS, you would configure a secondary authentication method for fallback if the server is unreachable. Normally, the secondary method is the local database. In this case, if no usernames are configured in the local database, the router allows all users login access to the device.
b. Enable AAA services.
R3(config)#aaa new-model
Step 2: Implement AAA services for console access using the local database.
a. Create the default login authentication list by issuing the aaa authentication login default method1[method2][method3] command with a method list using the local and none keywords.
R3(config)#aaa authentication login default local none
Note: If you do not set up a default login authentication list, you could get locked out of the router and be forced to use the password recovery procedure for your specific router.
b. Exit to the initial router screen that displays: R3 con0 is now available, Press RETURN to get started.
c. Log in to the console as Admin01 with a password of Admin01pass. Remember that passwords are case-sensitive. Were you able to log in? Why or why not? Yes, the router verified the account against the local database.
Note: If your session with the console port of the router times out, you might have to log in using the default authentication list.
d. Exit to the initial router screen that displays: R3 con0 is now available, Press RETURN to get started.
e. Attempt to log in to the console as baduser with any password. Were you able to log in? Why or why not?
Yes, if the username is not found in the local database the none option on the command aaa authentication login default local none requires no authentication.
f. If no user accounts are configured in the local database, which users are permitted to access the device?
Any users can access the device. It does not matter whether the username exists in the local database or if the password is correct.
Step 3: Create a AAA authentication profile for Telnet using the local database.
a. Create a unique authentication list for Telnet access to the router. This does not have the fallback of
no authentication, so if there are no usernames in the local database, Telnet access is disabled. To
create an authentication profile that is not the default, specify a list name of TELNET_LINES and
apply it to the vty lines.
R3(config)#aaa authentication login TELNET_LINES local R3(config)#line vty 0 4 R3(config-line)#login authentication TELNET_LINES
b. Verify that this authentication profile is used by opening a Telnet session from PC-C to R3.
PC-C>telnet 192.168.3.1 Trying 192.168.10.1 ... Open
c. Log in as Admin01 with a password of Admin01pass. Were you able to login? Why or why not? Yes, the router accessed the local database.
d. Exit the Telnet session with the exit command, and telnet to R3 again.
e. Attempt to log in as baduser with any password. Were you able to login? Why or why not?
No, if the username is not found in the local database, there is no fallback method specified in the authentication list for the vty lines.
Task 3: (Optional) Configure AAA Local Authentication Using Cisco SDM
You can also use SDM to configure the router to support AAA.
Note: If you configured R3 AAA authentication using Cisco IOS commands in Tasks 1 and 2, you can skip this task. If you performed Tasks 1 and 2 and you want to perform this task, you should restore R3 to its basic configuration. See Part 4, Step 1 for the procedure to restore R3 to its basic configuration. Even if you do not perform this task, read through the steps to become familiar with the SDM process.
Step 1: Implement AAA services and HTTP router access prior to starting SDM.
a. From the CLI global config mode, enable a new AAA model.
R3(config)#aaa new-model b. Enable the HTTP server on R3 for SDM access. R3(config)#ip http server
Note: For maximum security, enable secure http server using the ip http secure-server command.
Step 2: Access SDM and set command delivery preferences.
a. Open a browser on PC-C and start SDM by entering the R3 IP address 192.168.3.1 in the address field.
b. Log in with no username and the enable secret password cisco12345.
c. In the Password Needed – Networking dialog box, enter cisco12345 in the Password field and click Yes.
d. Configure SDM to allow you to preview the commands before sending them to the router. Select Edit > Preferences.
e. In the User Preferences window, check the Preview commands before delivering to router check box and click OK.
Step 3: Create an administrative user with SDM.
a. Click the Configure button at the top of the screen.
b. Select Additional Tasks > Router Access > User Accounts/View.
c. In the User Accounts/View window, click Add.
d. In the Add an Account window, enter Admin01 in the Username field.
e. Enter the password Admin01pass in the New Password and Confirm New Password fields. (Remember, passwords are case-sensitive.)
f. Confirm that the Encrypt Password using MD5 Hash Algorithm check box is checked.
g. Select 15 from the Privilege Level drop-down list and click OK.
h. In the Deliver Configuration to Router window, make sure that the Save running config to router’s startup config check box is checked, and click Deliver.
i. In the Commands Delivery Status window, click OK.
Step 4: Create a AAA method list for login.
a. Click the Configure button at the top of the screen.
b. Select Additional Tasks > AAA > Authentication Policies > Login.
c. In the Authentication Login window, click Add.
d. In the Add a Method List for Authentication Login window, verify that Default is in the Name field.
e. Click Add in the Methods section.
f. In the Select Method List(s) for Authentication Login window, choose local and click OK. Take note of the other methods listed, which include RADIUS (group radius) and TACACS+ (group tacacs+).
g. Click OK to close the window.
h. Repeat steps 4f and 4g, and choose none as a second authentication method.
i. In the Deliver Configuration to Router window, make sure that the Save running config to router’s startup config checkbox is checked, and click Deliver. In the Commands Delivery Status window, click OK.
j. What command was delivered to the router? aaa authentication login default local none. This is the same Cisco IOS command that would have been entered at the CLI in Task 2, Step 2.
Step 5: Verify the AAA username and profile for console login.
a. Exit to the initial router screen that displays: R3 con0 is now available, Press RETURN to get started.
b. Log in to the console as Admin01 with a password of Admin01pass. Were you able to login? Why or why not?
Yes, the router verified the account against the local database.
c. Exit to the initial router screen that displays: R3 con0 is now available, Press RETURN to get started.
d. Attempt to log in to the console as baduser. Were you able to login? Why or why not?
Yes, if the username is not found in the local database, the none option on the command aaa authentication login default local none requires no authentication. If no user accounts are configured in the local database, which users are permitted to access the device? All users can access the device, regardless of the name or password they use.
e. Log in to the console as Admin01 with a password of Admin01pass. Access privileged EXEC mode using the enable secret password cisco12345 and then show the running config. What commands are associated with the SDM session?
aaa new-model aaa authentication login default local none username Admin01 privilege 15 secret 5 $1$w1TF$FPwXTyg2tleLjrjqZpTSw.
Task 4: Observe AAA Authentication Using Cisco IOS Debug
In this task, you use the debug command to observe successful and unsuccessful authentication attempts.
Step 1: Verify that the system clock and debug time stamps are configured correctly.
a. From the R3 user or privileged EXEC mode prompt, use the show clock command to determine what the current time is for the router. If the time and date are incorrect, set the time from privileged EXEC mode with the command clock set HH:MM:SS DD month YYYY. An example is provided here for R3.
R3#clock set 14:15:00 26 December 2008
b. Verify that detailed time-stamp information is available for your debug output using the show run command. This command displays all lines in the running config that include the text “timestamps”.
R3#show run | include timestamps service timestamps debug datetime msec service timestamps log datetime msec
c. If the service timestamps debug command is not present, enter it in global config mode.
R3(config)#service timestamps debug datetime msec R3(config)#exit d. Save the running configuration to the startup configuration from the privileged EXEC prompt. R3#copy running-config startup-config
Step 2: Use debug to verify user access.
a. Activate debugging for AAA authentication.
R3#debug aaa authentication AAA Authentication debugging is on
b. Start a Telnet session from PC-C to R3.
c. Log in with username Admin01 and password Admin01pass. Observe the AAA authentication events in the console session window. Debug messages similar to the following should be displayed.
R3# Dec 26 14:36:42.323: AAA/BIND(000000A5): Bind i/f Dec 26 14:36:42.323: AAA/AUTHEN/LOGIN (000000A5): Pick method list 'default'
d. From the Telnet window, enter privileged EXEC mode. Use the enable secret password of cisco12345. Debug messages similar to the following should be displayed. In the third entry, note the username (Admin01), virtual port number (tty194), and remote Telnet client address (192.168.3.3). Also note that the last status entry is “PASS.”
R3# Dec 26 14:40:54.431: AAA: parse name=tty194 idb type=-1 tty=-1 Dec 26 14:40:54.431: AAA: name=tty194 flags=0x11 type=5 shelf=0 slot=0 adapter=0 port=194 channel=0 Dec 26 14:40:54.431: AAA/MEMORY: create_user (0x64BB5510) user='Admin01' ruser=' NULL' ds0=0 port='tty194' rem_addr='192.168.3.3' authen_type=ASCII service=ENABLE priv=15 initial_task_id='0', vrf= (id=0) Dec 26 14:40:54.431: AAA/AUTHEN/START (2467624222): port='tty194' list='' action=LOGIN service=ENABLE Dec 26 14:40:54.431: AAA/AUTHEN/START (2467624222): non-console enable – default to enable password Dec 26 14:40:54.431: AAA/AUTHEN/START (2467624222): Method=ENABLE R3# Dec 26 14:40:54.435: AAA/AUTHEN(2467624222): Status=GETPASS R3# Dec 26 14:40:59.275: AAA/AUTHEN/CONT (2467624222): continue_login (user='(undef)') Dec 26 14:40:59.275: AAA/AUTHEN(2467624222): Status=GETPASS Dec 26 14:40:59.275: AAA/AUTHEN/CONT (2467624222): Method=ENABLE Dec 26 14:40:59.287: AAA/AUTHEN(2467624222): Status=PASS Dec 26 14:40:59.287: AAA/MEMORY: free_user (0x64BB5510) user='NULL' ruser='NULL' port='tty194' rem_addr='192.168.3.3' authen_type=ASCII service=ENABLE priv=15 v rf= (id=0)
e. From the Telnet window, exit privileged EXEC mode using the disable command. Try to enter privileged EXEC mode again, but use a bad password this time. Observe the debug output on R3, noting that the status is “FAIL” this time.
Dec 26 15:46:54.027: AAA/AUTHEN(2175919868): Status=GETPASS Dec 26 15:46:54.027: AAA/AUTHEN/CONT (2175919868): Method=ENABLE Dec 26 15:46:54.039: AAA/AUTHEN(2175919868): password incorrect Dec 26 15:46:54.039: AAA/AUTHEN(2175919868): Status=FAIL Dec 26 15:46:54.039: AAA/MEMORY: free_user (0x6615BFE4) user='NULL' ruser='NULL' port='tty194' rem_addr='192.168.3.3' authen_type=ASCII service=ENABLE priv=15 v rf= (id=0)
f. From the Telnet window, exit the Telnet session to the router. Then try to open a Telnet session to the router again, but this time try to log in with the username Admin01 and a bad password. From the console window, the debug output should look similar to the following.
Dec 26 15:49:32.339: AAA/AUTHEN/LOGIN (000000AA): Pick method list 'default'
What message was displayed on the Telnet client screen?
% Authentication failed
g. Turn off all debugging using the undebug all command at the privileged EXEC prompt.
Part 4: Configure Centralized Authentication Using AAA and RADIUS.
In Part 4 of the lab, you install RADIUS server software on PC-A. You then configure router R1 to access the
external RADIUS server for user authentication. The freeware server WinRadius is used for this section of the lab.
Task 1: Restore Router R1 to Its Basic Settings
To avoid confusion as to what was already entered and the AAA RADIUS configuration, start by restoring router R1 to its basic configuration as performed in Parts 1 and 2 of this lab.
Step 1: Erase and reload the router.
a. Connect to the R1 console, and log in with the username Admin01 and password Admin01pass.
b. Enter privileged EXEC mode with the password cisco12345.
c. Erase the startup config and then issue the reload command to restart the router.
Step 2: Restore the basic configuration.
a. When the router restarts, enter privileged EXEC mode with the enable command, and then enter global config mode. Use the HyperTerminal Transfer > Send File function, cut and paste or use another method to load the basic startup config for R1 that was created and saved in Part 2 of this lab.
b. Test connectivity by pinging from host PC-A to PC-C. If the pings are not successful, troubleshoot the router and PC configurations until they are.
c. If you are logged out of the console, log in again as user01 with password user01pass, and access privileged EXEC mode with the password cisco12345.
d. Save the running config to the startup config using the copy run start command.
Task 2: Download and Install a RADIUS Server on PC-A
There are a number of RADIUS servers available, both freeware and for cost. This lab uses WinRadius, a freeware standards-based RADIUS server that runs on Windows XP and most other Windows operating systems. The free version of the software can support only five usernames.
Step 1: Download the WinRadius software.
a. Create a folder named WinRadius on your desktop or other location in which to store the files.
b. Download the latest version from http://www.suggestsoft.com/soft/itconsult2000/winradius/. The publisher asks that you provide your email address and send them feedback after you install and try WinRadius. You may skip the survey if desired.
c. Save the downloaded zip file in the folder you created in Step 1a, and extract the zipped files to the same folder. There is no installation setup. The extracted WinRadius.exe file is executable.
d. You may create a shortcut on your desktop for WinRadius.exe.
Step 2: Configure the WinRadius server database.
a. Start the WinRadius.exe application. WinRadius uses a local database in which it stores user information. When the application is started for the first time, the following messages are displayed Please go to “Settings/Database and create the ODBC for your RADIUS database. Launch ODBC failed.
b. Select Settings > Database from the main menu and the following screen is displayed. Click the Configure ODBC automatically button and then click OK. You should see a message that the ODBC was created successfully. Exit WinRadius and restart the application for the changes to take effect.
c. When WinRadius starts again, you should see messages similar to the following displayed.
d. On which ports is WinRadius listening for authentication and accounting? The authentication port is 1812, and the accounting port is 1813.
Step 3: Configure users and passwords on the WinRadius server.
Note: The free version of WinRadius can support only five usernames. The usernames are lost if you exit the application and restart it. Any usernames created in previous sessions must be recreated. Note that the first message in the previous screen shows that zero users were loaded. No users had been created prior to this, but this message is displayed each time WinRadius is started, regardless of whether users were created or not.
a. From the main menu, select Operation > Add User.
b. Enter the username RadUser with a password of RadUserpass. Remember that passwords are casesensitive.
c. Click OK. You should see a message on the log screen that the user was added successfully.
Step 4: Clear the log display.
From the main menu, select Log > Clear.
Step 5: Test the new user added using the WinRadius test utility.
a. A WinRadius testing utility is included in the downloaded zip file. Navigate to the folder where you unzipped the WinRadius.zip file and locate the file named RadiusTest.exe.
b. Start the RadiusTest application, and enter the IP address of this RADIUS server (192.168.1.3), username RadUser, and password RadUserpass as shown. Do not change the default RADIUS port number of 1813 and the RADIUS password of WinRadius.
c. Click Send and you should see a Send Access_Request message indicating the server at 192.168.1.3, port number 1813, received 44 hexadecimal characters. On the WinRadius log display, you should also see a message indicating that user RadUser was authenticated successfully.
d. Close the RadiusTest application.
Task 3: Configure R1 AAA Services and Access the RADIUS Server Using Cisco IOS
Note: If you want to configure AAA using SDM, go to Task 5.
Step 1: Enable AAA on R1.
Use the aaa new-model command in global configuration mode to enable AAA.
R1(config)#aaa new-model
Step 2: Configure the default login authentication list.
a. Configure the list to first use RADIUS for the authentication service, and then none. If no RADIUS server can be reached and authentication cannot be performed, the router globally allows access without authentication. This is a safeguard measure in case the router starts up without connectivity to an active RADIUS server.
R1(config)#aaa authentication login default group radius none
b. You could alternatively configure local authentication as the backup authentication method instead.
Note: If you do not set up a default login authentication list, you could get locked out of the router and need to use the password recovery procedure for your specific router.
Step 3: Specify a RADIUS server.
Use the radius-server host hostname key key command to point to the RADIUS server. The hostname parameter accepts either a host name or an IP address. Use the IP address of the RADIUS server, PC-A (192.168.1.3). The key is a secret password shared between the RADIUS server and the RADIUS client (R1 in this case) and used to authenticate the connection between the router and the server before the user authentication process takes place. The RADIUS client may be a Network Access Server (NAS), but router R1 plays that role in this lab. Use the default NAS secret password of WinRadius specified on the RADIUS server (see Task 2, Step 5). Remember that passwords are case-sensitive.
R1(config)#radius-server host 192.168.1.3 key WinRadius
Task 4: Test the AAA RADIUS Configuration
Step 1: Verify connectivity between R1 and the computer running the RADIUS server.
Ping from R1 to PC-A. R1#ping 192.168.1.3
If the pings were not successful, troubleshoot the PC and router configuration before continuing.
Step 2: Test your configuration.
a. If you restarted the WinRadius server, you must recreate the user RadUser with a password of RadUserpass by selecting Operation > Add User.
b. Clear the log on the WinRadius server by selecting Log > Clear from the main menu.
c. On R1, exit to the initial router screen that displays: R1 con0 is now available, Press RETURN to get started.
d. Test your configuration by logging in to the console on R1 using the username RadUser and the password of RadUserpass. Were you able to gain access to the user EXEC prompt and, if so, was there any delay? Yes, and there was a significant delay.
e. Exit to the initial router screen that displays: R1 con0 is now available, Press RETURN to get started.
f. Test your configuration again by logging in to the console on R1 using the nonexistent username of Userxxx and the password of Userxxxpass. Were you able to gain access to the user EXEC prompt? Why or why not?
Yes, even though an invalid username and password were supplied, the none parameter on the default login list allows any username access.
g. Were any messages displayed on the RADIUS server log for either login? No
h. Why was a nonexistent username able to access the router and no messages are displayed on the RADIUS server log screen? The router is not communicating with the RADIUS server software.
i. When the RADIUS server is unavailable, messages similar to the following are typically displayed
after attempted logins.
*Dec 26 16:46:54.039: %RADIUS-4-RADIUS_DEAD: RADIUS server 192.168.1.3:1645,1646 is not responding. *Dec 26 15:46:54.039: %RADIUS-4-RADIUS_ALIVE: RADIUS server 192.168.1.3:1645,1646 is being marked alive.
Step 3: Troubleshoot router-to-RADIUS server communication.
a. Check the default Cisco IOS RADIUS UDP port numbers used on R1 with the radius-server host command and the Cisco IOS Help function.
R1(config)#radius-server host 192.168.1.3 ? acct-port UDP port for RADIUS accounting server (default is 1646) alias 1-8 aliases for this server (max. 8) auth-port UDP port for RADIUS authentication server (default is 1645) < Output omitted >
b. Check the R1 running configuration for lines containing the command radius. The following command display all running config lines that include the text “radius”.
R1#show run | incl radius aaa authentication login default group radius none radius-server host 192.168.1.3 auth-port 1645 acct-port 1646 key 7 097B47072B04131B1E1F < Output omitted >
c. What are the default R1 Cisco IOS UDP port numbers for the RADIUS server? 1645 and 1646
Step 4: Check the default port numbers on the WinRadius server on PC-A.
a. From the WinRadius main menu select Settings > System.
b. What are the default WinRadius UDP port numbers? 1812 and 1813.
Note: The early deployment of RADIUS was done using UDP port number 1645 for authentication and 1646 for accounting, which conflicts with the datametrics service. Because of this conflict, RFC 2865 officially assigned port numbers 1812 and 1813 for RADIUS.
Step 5: Change the RADIUS port numbers on R1 to match the WinRadius server.
Unless specified otherwise, the Cisco IOS RADIUS configuration defaults to UDP port numbers 1645 and 1646. Either the router Cisco IOS port numbers must be changed to match the port number of the RADIUS server or the RADIUS server port numbers must be changed to match the port numbers of the Cisco IOS router. In this step, you modify the IOS port numbers to those of the RADIUS server, which are specified in RFC 2865.
a. Remove the previous configuration using the following command.
R1(config)#no radius-server host 192.168.1.3 auth-port 1645 acct-port 1646
b. Issue the radius-server host command again and this time specify port numbers 1812 and 1813, along with the IP address and secret key for the RADIUS server.
R1(config)#radius-server host 192.168.1.3 auth-port 1812 acct-port 1813 key WinRadius
Step 6: Test your configuration by logging into the console on R1.
a. Exit to the initial router screen that displays: R1 con0 is now available, Press RETURN to get started.
b. Log in again with the username of RadUser and password of RadUserpass. Were you able to login? Was there any delay this time?
Yes, and there was negligible delay as R1 was able to access the RADIUS server to validate the username and password.
c. The following message should display on the RADIUS server log. User (RadUser) authenticate OK.
d. Exit to the initial router screen that displays: R1 con0 is now available, Press RETURN to get started.
e. Log in again using an invalid username of Userxxx and the password of Userxxxpass. Were you able to login?
No. R1 accessed the RADIUS server and validation failed.
What message was displayed on the router?
% Authentication failed
The following messages should display on the RADIUS server log.
Reason: Unknown username
User (Userxxx) authenticate failed
Step 7: Create an authentication method list for Telnet and test it.
a. Create a unique authentication method list for Telnet access to the router. This does not have the fallback of no authentication, so if there is no access to the RADIUS server, Telnet access is disabled. Name the authentication method list TELNET_LINES.
R1(config)#aaa authentication login TELNET_LINES group radius
b. Apply the list to the vty lines on the router using the login authentication command.
R1(config)#line vty 0 4 R1(config-line)#login authentication TELNET_LINES
c. Telnet from PC-A to R1, and log in with the username RadUser and the password of RadUserpass. Were you able to gain access to log in?
Yes, R1 contacted the RDIUS server for user authentication, and a valid username/password combination was entered on R1.
d. Exit the Telnet session, and telnet from PC-A to R1 again. Log in with the username Userxxx and the password of Userxxxpass. Were you able to log in?
No, R1 contacted the RADIUS server for user authentication, and the username/password combination was not defined in the RADIUS database, so access was denied.
Task 5: (Optional) Configure R1 AAA Services and Access the RADIUS Server Using SDM
You can also use SDM to configure the router to access the external RADIUS server.
Note: If you configured R1 to access the external RADIUS server using Cisco IOS in Task 3, you can skip this task. If you performed Task 3 and you want to perform this task, restore the router to its basic configuration as described Task 1 of this part, except log in initially as RadUser with the password RadUserpass. If the RADIUS server is unavailable at this time, you will still be able to log in to the console. If you do not perform this task, read through the steps to become familiar with the SDM process.
Step 1: Implement AAA services and HTTP router access prior to starting SDM.
a. From the CLI global config mode, enable a new AAA model.
R1(config)#aaa new-model
b. Enable the HTTP server on R1.
R1(config)#ip http server
Step 2: Access SDM and enable the command preview option.
a. Open a browser on PC-A. Start SDM by entering the R1 IP address 192.168.1.1 in the address field.
b. Log in with no username and the enable secret password cisco12345.
c. In the Password Needed – Networking dialog box, enter cisco12345 in the Password field and click Yes.
d. Configure SDM to allow you to preview commands before sending them to the router. Select Edit > Preferences.
e. In the User Preferences window, check the Preview commands before delivering to router check box and click OK.
Step 3: Configure R1 AAA to access the WinRADIUS server.
a. Click the Configure button at the top of the screen.
b. Select Additional Tasks > AAA > AAA Servers and Groups > AAA Servers.
c. In the AAA Servers window, click Add.
d. In the Add AAA Server window, verify that RADIUS is in the Server Type field.
e. In the Server IP or Host field, enter the IP address of PC-A, 192.168.1.3.
f. Change the Authorization Port from 1645 to 1812, and change the Accounting Port from 1646 to 1813 to match the RADIUS server port number settings.
g. Check the Configure Key check box.
h. Enter WinRadius in both the New Key and Confirm Key fields.
i. In the Deliver Configuration to Router window, click Deliver, and in the Commands Delivery Status window, click OK.
j. What command was delivered to the router? radius-server host 192.168.1.3 auth-port 1812 acct-port 1813 key WinRadius. This is the same Cisco IOS command that would have been entered at the CLI in Task 4, Step 8b.
Step 4: Configure the R1 AAA login method list for RADIUS.
a. Click the Configure button at the top of the screen.
b. Select Additional Tasks > AAA > Authentication Policies > Login.
c. In the Authentication Login window, click Add.
d. In the Select Method List(s) for Authentication Login window, choose group radius and click OK.
e. In the Select Method List(s) for Authentication Login window, choose local as a second method and click OK.
f. In the Deliver Configuration to Router window, click Deliver and in the Commands Delivery Status window, click OK.
g. What command(s) were delivered to the router? aaa authentication login default group radius local. This is similar to the IOS command that would have been entered at the CLI in the Task 3, Step 2. except that “none” was specified as the backup option to radius.
Step 5: Test your configuration.
a. If you restarted the RADIUS server, you must recreate the user RadUser with a password of RadUserpass by selecting Operation > Add User.
b. Clear the log on the WinRadius server by selecting Log > Clear.
c. Test your configuration by opening a Telnet session from PC-A to R1. C:>telnet 192.168.1.1
d. At the login prompt, enter the username RadUser defined on the RADIUS server and a password of RadUserpass.
e. Were you able to login to R1? Yes
Task 6. Reflection
a. Why would an organization want to use a centralized authentication server rather than configuring users and passwords on each individual router? Answers will vary. Updating local databases on network devices is not a scalable solution. A centralized authentication server greatly reduces the administration time required when there are additions or removals to the user list. This is especially true in a large network where the number of updates required might be high enough that a dedicated
person could be required.
b. Contrast local authentication and local authentication with AAA. Answers will vary. With local authentication alone, specific usernames or accounts can be defined in the local router database, with varying privilege levels, that can apply to the router as a whole. When the console, vty, and AUX lines are configured to refer to this local database, the user is prompted for a username and a password when using any of these lines to access the router. Additional control over the login process can be achieved using AAA. For basic authentication, AAA can be configured to access the local database for user logins and various fallback procedures can be defined.
c. Based on the Academy online course content, web research, and the use of RADIUS in this lab, compare and contrast RADIUS with TACACS+. Answers will vary but could include the following:
- RADIUS is an IETF standard based on RFC 2865, and a number of freeware versions of it are available. TACACs+ is Cisco proprietary.
- RADIUS uses UDP while TACACS+ uses TCP.
- RADIUS encrypts only the password in the access-request packet from the client to the server. The remainder of the packet is unencrypted. TACACS+ encrypts the entire body of the packet, but leaves a standard TACACS+ header.
- RADIUS combines authentication and authorization. TACACS+ uses the AAA architecture, which separates AAA. This allows separate authentication solutions that can still use TACACS+ for authorization and accounting.
Router Interface Summary Table
Router Interface Summary | ||||
Router Model | Ethernet Interface #1 |
Ethernet Interface #2 |
Serial Interface #1 |
Serial Interface #2 |
1700 | Fast Ethernet 0 (Fa0) |
Fast Ethernet 1 (Fa1) |
Serial 0 (S0) | Serial 0/0/1 (S0/0/1) |
1800 | Fast Ethernet 0/0 (Fa0/0) |
Fast Ethernet 0/1 (Fa0/1) |
Serial 0/0/0 (S0/0/0) |
Serial 0/0/1 (S0/0/1) |
2600 | Fast Ethernet 0/0 (Fa0/0) |
Fast Ethernet 0/1 (Fa0/1) |
Serial 0/0 (S0/0) | Serial 0/1 (S0/1) |
2800 | Fast Ethernet 0/0 (Fa0/0) |
Fast Ethernet 0/1 (Fa0/1) |
Serial 0/0/0 (S0/0/0) |
Serial 0/0/1 (S0/0/1) |
Note: To find out how the router is configured, look at the interfaces to identify the type of router and how many interfaces the router has. Rather than list all combinations of configurations for each router class, this table includes identifiers for the possible combinations of Ethernet and serial interfaces in the device. The table does not include any other type of interface, even though a specific router might contain one. For example, for an ISDN BRI interface, the string in parenthesis is the legal abbreviation that can be used in Cisco IOS commands to represent the interface. |
Device Configs – Part 1 and 2 combined for R1 and R3
Router R1 (After parts 1 and 2 of this lab)
R1#sh run Building configuration... Current configuration : 1536 bytes ! version 12.4 service timestamps debug datetime msec service timestamps log datetime msec service password-encryption ! hostname R1 ! boot-start-marker boot-end-marker ! security passwords min-length 10 logging message-counter syslog enable secret 5 $1$UNul$LMmwJgKj4Ze1OBToirDDJ. ! no aaa new-model dot11 syslog ip source-route ! ip cef no ip domain lookup ! no ipv6 cef multilink bundle-name authenticated ! username user01 password 7 06131C245E1E5809040401 archive log config hidekeys ! interface FastEthernet0/0 no ip address shutdown duplex auto speed auto ! interface FastEthernet0/1 ip address 192.168.1.1 255.255.255.0 duplex auto speed auto ! interface FastEthernet0/1/0 ! interface FastEthernet0/1/1 ! interface FastEthernet0/1/2 ! interface FastEthernet0/1/3 ! interface Serial0/0/0 ip address 10.1.1.1 255.255.255.252 clock rate 64000 ! interface Serial0/0/1 no ip address shutdown clock rate 2000000 ! interface Vlan1 no ip address ! ip forward-protocol nd ip route 0.0.0.0 0.0.0.0 10.1.1.2 no ip http server no ip http secure-server ! control-plane ! banner motd ^CUnauthorized access strictly prohibited and prosecuted to the ful l extent of the law^C ! line con 0 exec-timeout 0 0 password 7 00071A150754080901314D5D1A logging synchronous login local line aux 0 exec-timeout 5 0 password 7 110A1016141D0A191C3A2A373B login local line vty 0 4 exec-timeout 5 0 password 7 070C285F4D060F110E020A1F17 login local ! scheduler allocate 20000 1000 end
Router R2 (After part 1 of this lab)
R2#sh run Building configuration... Current configuration : 1503 bytes ! version 12.4 service timestamps debug datetime msec service timestamps log datetime msec service password-encryption ! hostname R2 ! boot-start-marker boot-end-marker ! security passwords min-length 10 logging message-counter syslog enable secret 5 $1$BdPR$JZoTKMuMXf7Zd4JKCEPQi1 ! no aaa new-model dot11 syslog ip source-route ! ip cef no ip domain lookup ! no ipv6 cef multilink bundle-name authenticated ! archive log config hidekeys ! interface FastEthernet0/0 no ip address shutdown duplex auto speed auto ! interface FastEthernet0/1 no ip address shutdown duplex auto speed auto ! interface FastEthernet0/1/0 ! interface FastEthernet0/1/1 ! interface FastEthernet0/1/2 ! interface FastEthernet0/1/3 ! interface Serial0/0/0 ip address 10.1.1.2 255.255.255.252 ! interface Serial0/0/1 ip address 10.2.2.2 255.255.255.252 clock rate 64000 ! interface Vlan1 no ip address ! ip forward-protocol nd ip route 192.168.1.0 255.255.255.0 10.1.1.1 ip route 192.168.3.0 255.255.255.0 10.2.2.1 no ip http server no ip http secure-server ! control-plane ! banner motd ^CUnauthorized access strictly prohibited and prosecuted to the full extent of the law^C ! line con 0 exec-timeout 0 0 password 7 00071A150754080901314D5D1A logging synchronous login line aux 0 exec-timeout 5 0 password 7 01100F175804071A395C4F1A0A login line vty 0 4 exec-timeout 5 0 password 7 00071A1507541D1216314D5D1A login ! scheduler allocate 20000 1000 end R2#
Router R3 (After parts 1 and 2 of this lab)
R3#sh run Building configuration... Current configuration : 1535 bytes ! version 12.4 service timestamps debug datetime msec service timestamps log datetime msec service password-encryption ! hostname R3 ! boot-start-marker boot-end-marker ! security passwords min-length 10 logging message-counter syslog enable secret 5 $1$mciB$zaprLqKopLnfRgx3DsLE5. ! no aaa new-model dot11 syslog ip source-route ! ip cef no ip domain lookup ! no ipv6 cef multilink bundle-name authenticated ! username user01 password 7 120C1612005B5D142B3837 archive log config hidekeys ! interface FastEthernet0/0 no ip address shutdown duplex auto speed auto ! interface FastEthernet0/1 ip address 192.168.3.1 255.255.255.0 duplex auto speed auto ! interface FastEthernet0/1/0 ! interface FastEthernet0/1/1 ! interface FastEthernet0/1/2 ! interface FastEthernet0/1/3 ! interface Serial0/0/0 no ip address shutdown no fair-queue clock rate 2000000 ! interface Serial0/0/1 ip address 10.2.2.1 255.255.255.252 ! interface Vlan1 no ip address ! ip forward-protocol nd ip route 0.0.0.0 0.0.0.0 10.2.2.2 no ip http server no ip http secure-server ! control-plane ! banner motd ^CUnauthorized access strictly prohibited and prosecuted to the full extent of the law^C ! line con 0 exec-timeout 0 0 password 7 05080F1C22434D061715160118 logging synchronous login local line aux 0 exec-timeout 5 0 password 7 104D000A0618131E14142B3837 login local line vty 0 4 exec-timeout 5 0 password 7 110A1016141D1D181D3A2A373B login local ! scheduler allocate 20000 1000 end
Router R1 (Commands added for Part 4 of this lab)
R1(config)#aaa new-model R1(config)#aaa authentication login default group radius none R1(config)#radius-server host 192.168.1.3 auth-port 1812 acct-port 1813 key WinRadius R1(config)#aaa authentication login TELNET_LINES group radius R1(config)#line vty 0 4 R1(config-line)#login authentication TELNET_LINES R1(config-line)#
Router R3 (Commands added for Part 3 of this lab)
R3(config)#username Admin01 privilege 15 secret Admin01pass R3(config)#aaa new-model R3(config)#aaa authentication login default local none R3(config)#aaa authentication login TELNET_LINES local R3(config)#line vty 0 4 R3(config-line)#login authentication TELNET_LINES
More Resources