Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Major Concepts

• Describe the purpose of AAA and the various


implementation techniques
Network Security
• Implement AAA using the local database
• Implement AAA using TACACS+ and RADIUS
protocols
Chapter Three
• Implement AAA Authorization and Accounting
Authentication, Authorization,
and Accounting

1 3

1 3

Lesson Objectives Lesson Objectives

Upon completion of this lesson, the successful participant


will be able to: 7. Configure server-based AAA authentication on Cisco Routers using
CLI
1. Describe the importance of AAA as it relates to authentication,
authorization, and accounting 8. Configure server-based AAA authentication on Cisco Routers using
SDM
2. Configure AAA authentication using a local database
9. Troubleshoot server-based AAA authentication using Cisco Secure
3. Troubleshoot AAA using a local database ACS
4. Explain server-based AAA 10. Configure server-based AAA Authorization using Cisco Secure
ACS
5. Describe and compare the TACACS+ and RADIUS protocols
11. Configure server-based AAA Accounting using Cisco Secure ACS

4 5

4 5

1
Authentication, Authorization and
Accounting Purpose of AAA

• Purpose of AAA • AAA Overview


• Configuring Local AAA Authentication • AAA Components
• Introduction to Server-Based AAA

6 7

6 7

AAA Overview Authentication – Password-Only


User Access Verification
Password-Only Method
Password: cisco

• Authentication
Password: cisco1
Password: cisco12
% Bad passwords
Internet

• AAA Access Security


R1(config)# line vty 0 4
R1(config-line)# password cisco
R1(config-line)# login

• Uses a login and password combination on access lines


• Easiest to implement, but most unsecure method
• Vulnerable to brute-force attacks
• Provides no accountability

8 9

8 9

2
Authentication – Local Database AAA Access Security
Authorization
which resources the user is allowed to access and which
• Creates individual user account/password on each Authentication operations the user is allowed to perform?

device Who are you?

• Provides accountability
• User accounts must be configured locally on each device
• Provides no fallback authentication method
R1(config)# username Admin secret User Access Verification
Str0ng5rPa55w0rd
R1(config)# line vty 0 4 Username: Admin
Password: cisco1
R1(config-line)# login local % Login invalid

Username: Admin
Password: cisco12
Internet % Login invalid Accounting
What did you spend it on?

Local Database Method


10 11

10 11

AAA Components Access Methods


• Character Mode
• AAA Access Methods A user sends a request to
establish an EXEC mode
• AAA Authorization process with the router for
administrative purposes
• AAA Accounting

• Packet Mode
A user sends a request to
establish a connection through
the router with a device on the
network

12 13

12 13

3
Self-Contained AAA Authentication Server-Based AAA Authentication
Remote Client AAA
1 Router
• Uses an external database server
- Cisco Secure Access Control Server (ACS) for Windows Server
2
3 - Cisco Secure ACS Solution Engine
Self-Contained AAA
1. The client establishes a connection with the router. - Cisco Secure ACS Express
2. The AAA router prompts the user for a username and password.

3. The router authenticates the username and password using the local database and the user is authorized to access the network
based on information in the local database.
• More appropriate if there are multiple routers
AAA Cisco Secure
• Used for small networks Remote Client
1 Router ACS Server

• Stores usernames and passwords locally in the Cisco


2 3
router 4
Server-Based AAA
1. The client establishes a connection with the router.

2. The AAA router prompts the user for a username and password.

3. The router authenticates the username and password using a remote AAA server.
4. The user is authorized to access the network based on information on the remote AAA Server.

14 15

14 15

AAA Authorization AAA Accounting

• Typically implemented using an AAA server-based • Implemented using an AAA server-based solution
solution
• Keeps a detailed log of what an authenticated user does
• Uses a set of attributes that describes user access to the on a device
network

1. W hen a user has been authenticated, a session is established with


an AAA server.
1. W hen a user has been authenticated, the AAA accounting process
2. The router requests authorization for the requested service from the
generates a start message to begin the accounting process.
AAA server.
2. W hen the user finishes, a stop message is recorded ending the
3. The AAA server returns a PASS/FAIL for authorization.
accounting process.

16 17

16 17

4
Configuring Local AAA Authentication Using a Local Database

• Using a Local Database • Local AAA Authentication


• Troubleshooting using a Local Database • CLI AAA Authentication Commands
• Sample Configuration

18 19

18 19

Local AAA Authentication Commands Additional Commands

R1# conf t
R1(config)#
R1(config)#
username JR-ADMIN secret Str0ngPa55w0rd
username ADMIN secret Str0ng5rPa55w0rd • aaa authentication enable
R1(config)# aaa new-model
R1(config)#
R1(config)#
aaa authentication login default local-case
aaa local authentication attempts max-fail 10 Enables AAA for EXEC mode access
• aaa authentication ppp
To authenticate administrator access
(character mode access) Enables AAA for PPP network access
1. Add usernames and passwords to the
local router database
2. Enable AAA globally
3. Configure AAA parameters on the router
4. Confirm and troubleshoot the AAA
configuration

20 21

20 21

5
AAA Authentication Command
Elements Method Type Keywords

router(config)#
Keywords Description
aaa authentication login {default | list-name} enable Uses the enable password for authentication. This keyword cannot be used.
method1…[method4]
krb5 Uses Kerberos 5 for authentication.

Command Description krb5-telnet Uses Kerberos 5 telnet authentication protocol when using Telnet to connect
to the router.
line Uses the line password for authentication.
Uses the listed authentication methods that follow this local Uses the local username database for authentication.
default
keyword as the default list of methods when a user logs in local-case Uses case-sensitive local username authentication.
none Uses no authentication.
list-name Character string used to name the list of authentication cache group-name Uses a cache server group for authentication.
methods activated when a user logs in group radius Uses the list of all RADIUS servers for authentication.
password- Enables password aging on a local authentication list. group tacacs+ Uses the list of all TACACS+ servers for authentication.
expiry group group-name Uses a subset of RADIUS or TACACS+ servers for authentication as defined
by the aaa group server radius or aaa group server tacacs+ com m and.
method1 Identifies the list of methods that the authentication
[method2... algorithm tries in the given sequence. You must enter at
] least one method; you may enter up to four methods.
22 23

22 23

Additional Security Sample Configuration

router(config)#
aaa local authentication attempts max-fail [number-of-
unsuccessful-attempts]

R1# show aaa local user lockout

Local-user Lock time


JR-ADMIN 04:28:49 UTC Sat Dec 27 2008

R1# conf t
R1(config)# username JR-ADMIN secret Str0ngPa55w0rd
R1# show aaa sessions R1(config)# username ADMIN secret Str0ng5rPa55w0rd
Total sessions since last reload: 4 R1(config)# aaa new-model
Session Id: 1 R1(config)# aaa authentication login default local-case enable
R1(config)# aaa authentication login TELNET-LOGIN local-case
Unique Id: 175
R1(config)# line vty 0 4
User Name: ADMIN R1(config-line)# login authentication TELNET-LOGIN
IP Address: 192.168.1.10
Idle Time: 0
CT Call Handle: 0

24 25

24 25

6
Troubleshooting The debug aaa Command
R1# debug aaa ?
accounting Accounting
• The debug aaa Command administrative
api
Administrative
AAA api events
attr AAA Attr Manager
• Sample Output authentication
authorization
Authentication
Authorization
cache Cache activities
coa AAA CoA processing
db AAA DB Manager
dead-criteria AAA Dead-Criteria Info
id AAA Unique Id
ipc AAA IPC
mlist-ref-count Method list reference counts
mlist-state Information about AAA method list state change and
notification
per-user Per-user attributes
pod AAA POD processing
protocol AAA protocol processing
server-ref-count Server handle reference counts
sg-ref-count Server group handle reference counts
sg-server-selection Server Group Server Selection
subsys AAA Subsystem
testing Info. about AAA generated test packets

R1# debug aaa


26 27

26 27

Sample Output Introduction to Server-Based AAA

R1# debug aaa authentication


• Server-Based AAA
113123: Feb 4 10:11:19.305 CST: AAA/MEMORY: create_user (0x619C4940) user=''
ruser='' port='tty1' rem_addr='async/81560' authen_type=ASCII service=LOGIN priv=1
113124: Feb 4 10:11:19.305 CST: AAA/AUTHEN/START (2784097690): port='tty1' list='' • AAA Communication Protocols
action=LOGIN service=LOGIN
113125: Feb 4 10:11:19.305 CST: AAA/AUTHEN/START (2784097690): using "default" list
113126: Feb 4 10:11:19.305 CST: AAA/AUTHEN/START (2784097690): Method=LOCAL • Cisco Secure ACS
113127: Feb 4 10:11:19.305 CST: AAA/AUTHEN (2784097690): status = GETUSER
113128: Feb 4 10:11:26.305 CST: AAA/AUTHEN/CONT (2784097690): continue_login
(user='(undef)') • Configuring Cisco Secure ACS
113129: Feb 4 10:11:26.305 CST: AAA/AUTHEN (2784097690): status = GETUSER
113130: Feb 4 10:11:26.305 CST: AAA/AUTHEN/CONT (2784097690): Method=LOCAL
113131: Feb 4 10:11:26.305 CST: AAA/AUTHEN (2784097690): status = GETPASS • Cisco Secure ACS Administrative Tasks
113132: Feb 4 10:11:28.145 CST: AAA/AUTHEN/CONT (2784097690): continue_login
(user='diallocal')
113133: Feb 4 10:11:28.145 CST: AAA/AUTHEN (2784097690): status = GETPASS
113134: Feb 4 10:11:28.145 CST: AAA/AUTHEN/CONT (2784097690): Method=LOCAL
113135: Feb 4 10:11:28.145 CST: AAA/AUTHEN (2784097690): status = PASS

28 29

28 29

7
Local Versus Server-Based
Server-Based AAA Authentication

Local Authentication
• Comparing Local versus Server-Based AAA 1. The user establishes a connection with the router.
2. The router prompts the user for a username and password authenticating
the user using a local database.
Cisco Secure ACS
• Overview of TACACS+ and RADIUS Perimeter
for Windows Server

1 Router
3
2
4

Remote User

Server-Based Authentication
1. The user establishes a connection with the router.
2. The router prompts the user for a username and password.

3. The router passes the username and password to the Cisco Secure ACS (server or engine).

4. The Cisco Secure ACS authenticates the user. The user is authorized to access the router (administrative access) or the
network based on information found in the Cisco Secure ACS database.

30 31

30 31

Overview of TACACS+ and RADIUS AAA Communication Protocols

TACACS+ or RADIUS protocols are used to


communicate between the clients and AAA
security servers.
• TACACS/RADIUS Comparison
• TACACS+ Authentication Process
Cisco Secure ACS for
Windows Server
• RADIUS Authentication Process
Perimeter
Router

Remote User Cisco Secure


ACS Express

32 33

32 33

8
TACACS+/RADIUS Comparison TACACS+ Authentication Process

TACACS+ RADIUS
Functionality Separates AAA according to the AAA Combines authentication and Connect Usernam e prom pt?
architecture, allowing modularity of authorization but separates Use “ Usernam e ”
the security server implementation accounting, allowing less flexibility in Usernam e?
implementation than TACACS+. JR-ADMIN
JR-ADMIN
Standard Mostly Cisco supported Open/RFC standard
Password prom pt?
Transport Protocol TCP UDP
Password? Use “ Password ”
CHAP Bidirectional challenge and response Unidirectional challenge and response
“ Str0ngPa55w0rd ” “ Str0ngPa55w0rd ”
as used in Challenge Handshake from the RADIUS security server to
Authentication Protocol (CHAP) the RADIUS client. Accept/Reject

Protocol Support Multiprotocol support No ARA, no NetBEUI

Confidentiality Entire packet encrypted Password encrypted


• Provides separate AAA services
Custom ization Provides authorization of router Has no option to authorize router • Utilizes TCP port 49
commands on a per-user or commands on a per-user or
per-group basis. per-group basis
Confidentiality Limited Extensive

34 35

34 35

RADIUS Authentication Process Server-Based AAA Authentication

Usernam e?
Access-Request
(JR_ADMIN, “ Str0ngPa55w0rd ” ) • Overview
JR-ADMIN Access-Accept
Password? • Troubleshooting
Str0ngPa55w0rd

• Works in both local and roaming situations


• Uses UDP ports 1645 or 1812 for authentication and
UDP ports 1646 or 1813 for accounting

36 37

36 37

9
Configuring Server-Based AAA
Overview Authentication

• CLI aaa authentication Command 1. Globally enable AAA to allow the user of all
AAA elements (a prerequisite)
• Sample Configuration
2. Specify the Cisco Secure ACS that will provide
AAA services for the network access server
3. Configure the encryption key that will be used
to encrypt the data transfer between the
network access server and the Cisco Secure
ACS
4. Configure the AAA authentication method list

38 39

38 39

aaa authentication Command Sample Configuration

• Multiple RADIUS servers can be


R1(config)# aaa authentication type { default | list-name } method1 … [method4] TACACS+ or RADIUS protocols are
identified by entering a radius-server used to communicate between the
clients and AAA security servers.
command for each
R1(config)# aaa authentication login default ?
enable Use enable password for authentication. • For TACACS+, the single-connection
group Use Server-group 192.168.1.100

krb5 Use Kerberos 5 authentication.


command maintains a single TCP
krb5-telnet Allow logins only if already authenticated via Kerberos V connection for the life of the session R1
Telnet.
line Use line password for authentication. Cisco Secure ACS
for Windows
local Use local username authentication. using RADIUS
local-case Use case-sensitive local username authentication. R1(config)# aaa new-model
none NO authentication. R1(config)#
R1(config)# radius-server host 192.168.1.100
passwd-expiry enable the login list to provide password aging support R1(config)# radius-server key RADIUS-Pa55w0rd
R1(config)#
R1(config)# aaa authentication login default group ? R1(config)# tacacs-server host 192.168.1.101
R1(config)# tacacs-server key TACACS+Pa55w0rd single-connection
WORD Server-group name 192.168.1.101
radius Use list of all Radius hosts. R1(config)#
R1(config)# aaa authentication login default group tacacs+ group radius local-case Cisco Secure ACS
tacacs+ Use list of all Tacacs+ hosts. R1(config)# Solution Engine
using TACACS+
R1(config)# aaa authentication login default group

40 41

40 41

10
Troubleshooting Server-Based AAA
Authentication Sample Commands

• Sample debug aaa authentication R1# debug aaa authentication


AAA Authentication debugging is on
R1#
• Sample debug tacacs|radius Command 14:01:17: AAA/AUTHEN (567936829): Method=TACACS+
14:01:17: TAC+: send AUTHEN/CONT packet
14:01:17: TAC+ (567936829): received authen response status = PASS
14:01:17: AAA/AUTHEN (567936829): status = PASS

• The debug aaa authentication command provides a view


of login activity
• For successful TACACS+ login attempts, a status
message of PASS results

42 43

42 43

Sever-Based AAA Authorization


Sample Commands and Accounting

R1# debug radius ?


accounting RADIUS accounting packets only
authentication RADIUS authentication packets only
brief Only I/O transactions are recorded
• Configuring Server-Based AAA Authorization
elog RADIUS event logging
failover
local-server
Packets sent upon fail-over
Local RADIUS server
• Configuring Server-Based AAA Accounting
retransmit Retransmission of packets
verbose Include non essential RADIUS debugs
<cr>

R1# debug radius

R1# debug tacacs ?


accounting TACACS+ protocol accounting
authentication TACACS+ protocol authentication
authorization TACACS+ protocol authorization
events TACACS+ protocol events
packet TACACS+ packets
<cr>

44 45

44 45

11
Server-Based AAA Authorization AAA Authorization Overview
Command authorization for user
show version JR-ADMIN, command “show version”?

• Overview Display “show


Accept
version” output

• AAA Authorization Command Command authorization for user


configure term inal JR-ADMIN, command “config term inal”?

Do not permit
Reject
“configure terminal”

• The TACACS+ protocol allows the separation of authentication from authorization.


• Can be configured to restrict the user to performing only certain functions after
successful authentication.
• Authorization can be configured for
- character mode (exec authorization)
- packet mode (network authorization)
• RADIUS does not separate the authentication from the authorization process

46 47

46 47

Configure Server-Based AAA


AAA Authorization Commands Accounting

R1# conf t

• Overview
R1(config)# username JR-ADMIN secret Str0ngPa55w0rd
R1(config)# username ADMIN secret Str0ng5rPa55w0rd
R1(config)# aaa new-model
R1(config)# aaa authentication login default group tacacs+
R1(config)# aaa authentication login TELNET-LOGIN local-case • AAA Accounting Commands
R1(config)# aaa authorization exec default group tacacs+
R1(config)# aaa authorization network default group tacacs+
R1(config)# line vty 0 4
R1(config-line)# login authentication TELNET-LOGIN
R1(config-line)# ^Z

• To configure command authorization, use:


aaa authorization service-type {default | list-name} method1 [method2] [method3]
[method4]
• Service types of interest include:
- com m ands level For exec (shell) commands
- exec For starting an exec (shell)
- network For network services. (PPP, SLIP, ARAP)

48 49

48 49

12
AAA Accounting Overview AAA Accounting Commands

R1# conf t

• Provides the ability to track usage, such as dial-in R1(config)# username JR-ADMIN secret Str0ngPa55w0rd
R1(config)# username ADMIN secret Str0ng5rPa55w0rd
access; the ability to log the data gathered to a database; R1(config)# aaa new-model
R1(config)# aaa authentication login default group tacacs+
and the ability to produce reports on the data gathered R1(config)# aaa authentication login TELNET-LOGIN local-case
R1(config)# aaa authorization exec group tacacs+
R1(config)# aaa authorization network group tacacs+
• To configure AAA accounting using named method lists: R1(config)# aaa accounting exec start-stop group tacacs+
R1(config)# aaa accounting network start-stop group tacacs+
aaa accounting {system | network | exec | connection R1(config)# line vty 0 4
R1(config-line)# login authentication TELNET-LOGIN
| commands level} {default | list-name} {start-stop | R1(config-line)# ^Z

wait-start | stop-only | none} [method1 [method2]] • aaa accounting exec default start-stop group tacacs+
Defines a AAA accounting policy that uses TACACS+ for logging
• Supports six different types of accounting: network, both start and stop records for user EXEC terminal sessions.
connection, exec, system, commands level, and • aaa accounting network default start-stop group tacacs+
resource. Defines a AAA accounting policy that uses TACACS+ for logging
both start and stop records for all network-related service requests.

50 51

50 51

End of Chapter Three



Thank you

52

52

13

You might also like