IP Fabric platform is network engineers Swiss Army knife to verify if the network functions as expected. One of the IP Fabric functionalities is here to help continuously check if the network is configured properly or not.

Lets demonstrate this capability on one of the functionalities that would be typically configured by IP Fabric administrator, as it is one of those domain-specific configurations differing in every network — Authentication, Authorization, and Accounting, otherwise known as AAA, or Triple A.

Many individuals who have had to implement AAA on a router or a switch most likely have little knowledge regarding the commands that they copy to the router configuration. Most will simply utilize the AAA configurations from another functioning router or switch. Today, we are going to analyze the best AAA practices and how one can ensure its proper setting with our IP Fabric platform.

For those who are working with a larger network environment, you are most likely using a form of TACACS+ or ACS server running that is specifically designed for the management of logins to your devices. AAA works in unison with TACACS+ to provide efficient management of your logins’ security. In other words, this monitors who is able to log in (Authentication), what that user can do (Authorization), as well as track the commands that are used (Accounting). In the instance of server failure or reachability issues, it is recommended to have a backup local login user name and password that will allow access to your devices.


We shall now analyze what is considered the best practices for configuration.

aaa new-model
tacacs server ACS1
address ipv4 1.1.1.1
key 0 SECRET-KEY
tacacs server ACS2
address ipv4 2.2.2.2
key 0 SECRET-KEY
aaa group server tacacs+ ACS
server name ACS1
server name ACS2
aaa authentication login default group ACS local
aaa authentication enable default group ACS enable
aaa authorization config-commands
aaa authorization exec default group ACS local if-authenticated
aaa authorization commands 1 default group ACS if-authenticated
aaa authorization commands 15 default group ACS local if-authenticated
aaa accounting exec default start-stop group ACS
aaa accounting commands 1 default start-stop group ACS
aaa accounting commands 15 default start-stop group ACS

Upon dissecting this model by line, we have:

aaa new-model
This new-model essentially turns on the AAA functionality on the network device.

tacacs server <name>
This addresses the setup of the TACACS server details, such as the IP address, shared key, and all other optional details.

aaa group server tacacs+ <group_name>
This is intended for the grouping of specific servers into logical groups.

aaa authentication login default group ACS local
 
Here, we define how the device is authenticating the users who attempt to log into the device. First, there is the default authentication method with group of TACACS+ servers named “ACS”. Then, if it is unreachable, we shall implement the locally configured user account list.

aaa authentication enable default group ACS enable
This component explains that, for enable mode, the default authentication method with group of TACACS+ servers named “ACS” should be utilized.

aaa authorization config-commands
This is regarding our goal to authorize each command that is being issued to the device.

aaa authorization exec default group ACS local if-authenticated
This sets up the device and places the user directly into enable mode, upon his authentication (the if-authenticated keyword).

aaa authorization commands 1 default group ACS if-authenticated
In this command, we are authorizing the level 1 user commands, which is similar to the non-enable mode.

aaa authorization commands 15 default group ACS local if-authenticated
Here, we are providing authorization for level 15 users against TACACS+. If TACACS+ is unavailable, then the local user account is used, instead. Upon authentication, the user will immediately be placed into exec/enable mode.

aaa accounting exec default start-stop group ACS
AAA Accounting ensures the logging in and access into the device.

aaa accounting commands 1 default start-stop group ACS
This provides the tracking of user activity on a given device for privilege 1 commands.

aaa accounting commands 15 default start-stop group ACS
This provides the tracking of user activity on a given device for privilege 15 commands.

This provides tracking of user activity on a device, even if they have just logged in.


As you can see from this basic configuration, there is significant variability, resulting in complications of the verification of the proper function. This worsens with regular network operations, when the connectivity to the TACACS server fails, requiring a troubleshoot to determine the error. In such a situation, one would usually remove the TACACS configuration in attempt to resolve the issue. However, during the troubleshoot, it is common to forget about this change and leave the network open with local authentication or, perhaps, no authentication, whatsoever. Luckily, IP Fabric offers the newly released AAA verification, which can be used for the verification of the real live AAA settings.


AAA intent network verification tables
AAA intent verification tables

Although our platform includes a few “out of the box” reports, we highly recommend adjusting these default reports in color with your custom verification checks, since the AAA settings differ between various companies. We recommend that you observe and spend time on the following:

  • Setting up your own servers in the Servers tab and verifying its addresses, group names, and ports.
  • Ensuring that the lines are configured for proper AAA method usage.
  • Verifying proper Authentication, Authorization, and Accounting method list order, to ensure that there are no devices remaining half-configured or with local/none, if you are using central TACACS+ servers.

For example, let us assume that we want to set up the verification report for the Authentication methods to verify this:

  • There is one method for login and a second for enable mode,
  • Method is not named, it is “default”,
  • TACACS server group to be used is ABACS,
  • Fallback method for login is default,
  • Fallback method for enable is enable,
  • Anything else is redundant or incorrect.

Which would be equivalent of the following piece of configuration

aaa authentication login default group ABACS localaaa authentication enable default group ABACS enable

It is generally recommended to have a single detection for all issues on the particular AAA method and to reveal the issue count on the dashboard.

This can be configured in the following manner:

  • Create a new “Colorize column” rule or edit the existing one.
  • Name it “AAA Authentication Method” with a colorized column “Type”.
  • In green color, create two groups that are with OR logic — the first rule will apply to the enable method and the second, for the login method.
  • Set the first group to AND logic and create the following logical tests:
     “Type” equal “enable”.
     “Name” equal “default”.
     “Primary method” equal to your server group name or default. In our case “ABACS”.
     “Secondary method” equal to “enable”.
  • Set the second group to AND logic and create the following logical tests:
     “Type” equal “login”.
     “Name” equal “default”.
     “Primary method” equal to your server group name or default. In our case “ABACS”.
     “Secondary method” equal to “local”.
  • Set the slider in orange color to the “Default color setting”.

For a more detailed overview of how to set this up, view the video below:

AAA Authentication catch-all-errors rule setting
AAA Authentication catch-all-errors rule setting

Proceed to colorize the columns with specific details to green or orange, so that you will immediately see what is wrong from the dashboard counter created previously. In our case, we would need to setup additional rules as follows:

  • AAA Authentication method name
     Colorized column: Name
     Green color rule: “Name” equal “default”
     Orange color set as “Default color”
  • AAA Authentication Primary method
     Colorized column: Primary method
     Green color rule: “Primary method” equal “ABACS”
     Orange color set as “Default color”
  • AAA Authentication Secondary method
     Colorized column: Primary method
     Green color rule: create two logical groups as OR
     First group: (“Type” equal “enable”) AND (“Secondary method” equal to “enable”).
     Second group: (“Type” equal “login”) AND (“Secondary method” equal to “local”).
     Orange color set as “Default color”

AAA Authentication Secondary method would look like this:

Secondary method verification for AAA Authentication tab
Secondary method verification for AAA Authentication tab

This will ensure the setup of the Authentication on all devices in the network. In regards to the remaining tabs (servers, lines, authorization, and accounting), you may follow the same logic to create similar specific rules that will configure IP Fabric to verify your specific AAA needs consistently in a matter of seconds.

In similar way, you can implement your custom verifications for any data table present in the system, to get complex view on your own network setting consistency!

If you have found this article resourceful, please follow our company’s LinkedIn or Blog, where there will be more content emerging. Furthermore, if you would like to test our platform to observe how it can assist you in more efficiently managing your network, please write us through our web page www.ipfabric.io