AAA
AAA (Authentication, Authorization, Accounting) is a security framework to control who has access to network resources (Authentication), what they are allowed to do (Authorization), and log their actions (Accounting).
Warning
The AAA system must be configured with great care, an incorrect configuration could leave the device inaccessible.
The AAA system supports authentication, authorization, and accounting through the local database, RADIUS, and TACACS+. RADIUS and TACACS+ servers are grouped into RADIUS and TACACS+ groups and sorted by priority. These, along with the local database are called “AAA methods” or simply “methods”.
AAA lists are ordered sets of methods which can be used to configure AAA features in services such as SSH or IPSec.
A key feature of AAA lists is that they can be used for multiple services at once, this avoids unnecessary repetition in the configuration and unifies all AAA settings. Conversely, AAA features in services cannot be directly configured, creating a AAA list is a strictly necessary step.
The following table shows the AAA features supported by each service:
Service |
Methods |
Authentication |
Authorization |
Accounting |
---|---|---|---|---|
Login/Telnet |
R T L |
✓ |
✓ |
✓ |
SSH |
R T L |
✓ |
✓ |
✓ |
Command |
T L |
✗ |
✓ |
✓ |
IEEE 802.1x |
R L |
✓ |
✓ |
✓ |
IPSec |
R |
✓ |
✗ |
✓ |
OpenVPN |
R T L |
✓ |
✗ |
✓ |
R: RADIUS
T: TACACS+
L: Local database
Authentication
Authentication is the process of identifying a user and allowing them access to specific resources. These resources may be access to the OSDx CLI or an IPSec tunnel.
If a server cannot be reached, the next one will be queried until a server responds with a confirmation or a denegation. Once a user is allowed or denied, no other server is queried and that judgement is used for determining access. Note that the local database can always be reached, therefore if any methods are configured with a lower priority than a local method, they will effectively be disabled.
Accounting
Accounting is the logging of all actions performed while authenticated. It is an invaluable tool for auditing user activity, analyzing trends, and forensic analysis of security incidents. Actions that can be accounted include user access to the device, Port-based Network Access Control (PNAC) authentication, or access to a VPN tunnel.
Note
The exit
command never starts the accounting process.
Examples
The following links contain examples of how to configure AAA for the different services:
Configuration commands
interfaces ethernet <txt> 802.1x authenticator aaa accounting <id>
interfaces ethernet <txt> 802.1x authenticator aaa authentication <id>
interfaces ethernet <txt> 802.1x authenticator aaa authorization
interfaces ethernet <txt> 802.1x authenticator aaa authorization acl-alias <txt>
interfaces ethernet <txt> 802.1x authenticator aaa authorization acl-alias <txt> direction <id>
interfaces ethernet <txt> 802.1x authenticator aaa authorization acl-alias <txt> priority <txt>
system aaa authorization privilege-map radius privileged role <id>
system aaa authorization privilege-map radius standard role <id>
system aaa authorization privilege-map tacacs <u32> role <id>
system aaa server radius <id> vpn ipsec sockets <u32> nas-identifier <id>