Home > AAA TACACS+ and RADIUS Tutorial


October 18th, 2018 Go to comments

Nowadays, security plays an important role in a company. Without any security solution implementation on our network, a user can simply “plug and play” into our network. The user may simple pick up a valid IP address or be assigned one automatically via DHCP. It is convenient, but not a good way if your network contains sensitive data. Worse, this user may have all the rights to your network so he can do dangerous things.

When your company grows bigger and bigger, there is a moment that you need to consider implementing security to your network. There are many ways to secure a network but AAA offers a complete solution. In this tutorial let’s find out about this security feature.

Before diving into AAA, let’s take an example of a user who wants to connect to our network.


This process uses a login and password on the access line. Although it is very easy to implement, but there are many disadvantages of using this method:
+ Insecure login method
+ Vulnerable to brute-force attacks
+ No accountability
+ Must be configured on each device manually
+ Store usernames & passwords locally on each device
+ Cannot limit which specific commands are not used

With AAA, now the process of a user connecting to our network is shown below:


Every action the users do must be submitted to the AAA server to determine if they are allowed or not. This process has many advantages:
+ Secure login (AAA server is not exposed to users and only some protocols are allowed to be sent initially)
+ Easy management at one or some centralized servers
+ Firewalls or other security devices can be placed before AAA servers to protect them
+ Can accept or reject specific commands
+ Every command typed by users can be logged for later analysis

+ Require powerful server (to handle all the traffic and requests)

AAA stands for Authentication, Authorization and Accounting.

+ Authentication: Specify who you are (usually via login username & password)
+ Authorization: Specify what actions you can do, what resource you can access
+ Accounting: Monitor what you do, how long you do it (can be used for billing and auditing)

An example of AAA is shown below:

+ Authentication: “I am a normal user. My username/password is user_tom/learnforever
+ Authorization: “user_tom can access LearnCCNA server via HTTP and FTP
+ Accounting: “user_tom accessed LearnCCNA server for 2 hours“. This user only uses “show” commands.

With AAA, users must authenticate before getting an IP address to access the network. Otherwise, they can only use specific protocols to continue authenticating

For authentication we can do via local database, 802.1x standard (which was developed to provide a method to authenticate devices attempting to access a switchport/LAN) or via remote AAA servers. There are two popular client/server AAA protocols to communicate between remote AAA servers and authenticating devices:

+ RADIUS (Remote Authentication Dial In User Service)
+ TACACS+ (Terminal Access Controller Access-Control System)

The comparison of two protocols is listed below:

Transportation &
UDP port 1812/1645 (Authentication)
1813/1646 (Accounting)
TCP port 49
Encryption only passwords entire payload of each packet (leaving only the TACACS+ header in cleartext)
Standards Open standard Cisco proprietary (but actually now it is an open standard defined by RFC1492)
Operation Authentication and authorization are combined in one function authentication, authorization and accouting are separated
Logging No command logging Full command logging (commands typed by users can be recorded on the servers)

+ RADIUS is very old protocol (created around the early 1990s) and it was originally designed for dial-in modem connections. In these old days, security is not a strong concern so RADIUS encrypts only the authentication information (passwords) along the traffic path.
+ TACACS+ is a newer version of TACAS and XTACAS. It is the answer of Cisco to RADIUS.
+ Both RADIUS and TACACS+ support Extensible Authentication Protocol (EAP), which is an authentication framework frequently used in wireless networks and point-to-point connections
+ Both TACACS+ and RADIUS can run on either Windows or Unix/Linux servers
+ TACACS+ separates the authentication, authorization, and accounting steps. This architecture allows for separate authentication solutions while still using TACACS+ for authorization and accounting.
+ Authentication and authorization are not separated in a RADIUS transaction. When the authentication request is sent to a AAA server, the AAA client expects to have the authorization result sent back in reply.
+ TACACS+ supports access-level authorization for commands. That means you can assign privilege levels when a user logins successfully.

In the next part we will learn how to configure AAA.

Comments (14) Comments
  1. negasi
    October 18th, 2018

    Thank you so much..very helpful

  2. Neil Araza
    October 19th, 2018

    Nice Tut

  3. Anonymous
    October 21st, 2018

    Excelent Tutorial.

    Thanks 9tut

  4. RoChCa
    October 28th, 2018

    + The ‘default’ means we want to apply for all login connections (such as tty, vty, console and aux). If we use this keyword, we don’t need to configure anything else under tty, vty and aux lines. If we don’t use this keyword then we have to specify which line(s) we want to apply the authentication feature. An example of not using the ‘default’ keyword is: ????

    Hi 9tut. Please provide that other feature aside from ‘default’ keyword.. Thanks.

  5. 9tut
    October 29th, 2018

    @RoChCa: Thanks for your detection, we have just updated it. You can find an example of not using “default” method list in step 4:
    Switch(config)#aaa authentication login MY_AUTHEN_GROUP group radius local

  6. Ali
    October 31st, 2018

    if any have valid dumps please share

  7. Anonymous
    November 2nd, 2018

    That is very nice Tutorial.
    Many Thank 9Tut

  8. RoChCa
    November 4th, 2018

    Hi 9tut,

    Thanks for the update. Cheers!

  9. Anonymous
    November 6th, 2018

    Hey Guys, here i’ve shared 357 packet tracers labs:



  10. Ferdi MFS
    November 11th, 2018

    Dear All,

    I will take my exam next week, anybody can help me to send ccna exam 200-125 dump

    my email : ferdi.santoso @ gmail.com

    thank for your help.

  11. Anonymous
    November 11th, 2018

    Dear All,
    I have an exam next week can any 1 help me by sending CCENT 100-125 dumps, i be very thankful to you.

    my email : junaidmohmmed @ gmail . com

    May God bless you

  12. Mahlatsi
    November 14th, 2018

    Dear all

    M gonna have exam on 28 November please some1 send me the dump of 200-125
    My email : {email not allowed}

    God bless in advance

  13. Anonymous
    November 15th, 2018

    c’est vrai cool les gars
    je veux passer un examen en cisco mais j’ai bessoin de l’aide de tout le monde pour m’aider à un examen ccna 200-125

  14. Anonymous
    November 15th, 2018

    c’est vrai cool les gars
    je veux passer un examen en cisco mais j’ai bessoin de l’aide de tout le monde pour m’aider à m’envoyer un examen ccna 200-125
    mon email: {email not allowed}

Add a Comment