AAA 101
Enabling AAA new-model
AAA stands for Authentication, Authorization and Accounting. Authentication is the process of identifying users based on some credentials (passwords, digital certificates, tokens). Authorization is the process of allowing an authenticated user to access specific services or a specific level of administration, while accounting is the process of tracking and logging a user’s actions while authenticated. To enable the new-model of AAA implementation on a Cisco device, use:
Methods
Authentication methods can be grouped in 2 categories: Group methods and Non-Group methods. Group methods include protocols such as RADIUS, TACACS+ or Kerberos. These protocols require an external server that handles authentication requests. The non-group methods include local login (usernames defined locally), enable passwords or line passwords.
RADIUS
RADIUS is now an industry standard and runs on UDP 1812 and UDP 1813. A RADIUS packet encrypts only the password field.
To define a radius server that will process AAA requests, use the following commands:
All Radius servers are by default part of the radius group, but custom groups that include subsets of the radius group can be configured:
TACACS+
TACACS+ is a Cisco proprietary protocol that runs on TCP 49. With TACACS the entire packet body is encrypted. TACACS+ is configured in a similar way as RADIUS:
All TACACS+ servers are by default part of the tacacs+ group, but custom groups that include subsets of the tacacs+ group can be configured:
Local and Local-case
Just define the usernames on the local router:
The local method use the case-insensitive users locally defined, while the local-case method uses case-sensitive values.
Enable Password
Line Passwords
Line password uses the passwords defined on each line:
Authentication
Authentication lists
An authentication list consists of one or more authentication methods that are used, in order, for authentication. The first method in the list is used and if the result is an accept or a reject, the other methods are not used. They are used only if the previous methods are not available (like a server response timeout). Authentication lists can be defined for several features that may require authentication. A default list is already applied for each feature, but other lists can be defined, or the default list can be populated.
Unless a LIST-NAME is specified, the router uses the default lists, but the default configuration of the default lists doesn’t show up in the configuration (by default). If you define the default lists yourself, they will show up in the config. If you don’t, the router uses the Permanenet lists, which are predefined.
Applying authentication lists
Line Authentication (console, vty)
PPP Authentication
Privilege mode Authentication
You can’t define custom lists, but you can change the authentication enable default list.
Authorization
Authorization Lists
Authorization lists are created similarly to authentication lists:
Applying authorization lists
Authorization usually works hand in hand with. But it can be also used with default privilege levels.
Authorize access to EXEC mode
By default, the VTY privilege level is set to 1. You can change this level if you set
This means all users that login via the VTY will be assigned this privilege LEVEL.
You can use a dynamic method of assigning users with an authentication level (radius, tacacs, local) or you can fallback to the line configuration (if-authenticated). First define the EXEC-LIST-NAME method list, and then you apply it on the vty line:
The same is true for console lines too, except by default authorization always succeeds and assigns the users to level 15 (Applies to router only, not switches), regardless of the authorization exec list defined on the console line. To enable the use of the list, you must also run:
Authorize commands
When command authorization is enabled, the router will check if the user is authorized to run the specified command. It is useless to authorize both exec and commands against the local database since the privilege level defined there will be the same for both authorization types. It makes sense to authorize commands against another server where allowed commands for each user can be defined. A user is able to run all commands enabled for its privilege level and all inferior levels, but authorization will only be checked for the commands enabled at the PRIV-LEVEL specified in the authorization command. By default, only exec commands are checked. To enable authorization for configuration commands also, use:
Authorize PPP
To enable authorization for PPP, use:
Accounting
Accounting keeps track of the users’s actions while connected to the system.
Accounting Lists
To define an accounting list, use:
Applying accounting lists
Line accounting
To enable line accounting, use:
Interface accounting
PPP Accounting
To enable PPP accounting, use:
Last updated