Cisco ISE TACACS+

TACACS+ wordt vaak gebruikt voor device authenticatie, denk hierbij aan toegang tot het device via SSH / Telnet / Console door een gebruiker. Het grote verschil met RADIUS is dat bij het gebruik van TACACS+ de Authenticatie, Authorisatie en Accounting onafhankelijk van elkaar functioneren. Daarnaast wordt de volledige inhoud van de communicatie versleuteld.

Eisen

Voor het gebuik van TACACS+ in Cisco ISE zijn de volgende eisen:

  • Device moet met Cisco ISE kunnen communiceren op basis van TCP/49.
  • Cisco ISE PSN node dient voorzien te zijn van de "Device Admin License".

Communicatie

Tijdens een Authenticatie worden onderstaande TACACS+ netwerk pakketten gecommuniceerd tussen de AAA Client (device) en de AAA Server (Cisco ISE):

  • START: Client -> Server, begint de authenticatie.
  • REPLY: Server -> Client.
    • ACCEPT: Gebruiker authenticatie is succesvol.
    • REJECT: Gebruiker authenticatie is niet succesvol / faalt.
    • ERROR: Er gaat wat fout op de server.
    • CONTINUE: Er is meer informatie benodigd (deze is anders dan het CONTINUE bericht wat vanuit een client gestuurd kan worden).
  • CONTINUE: Client -> Server, bevat de antwoorden op aanvragen (bijv. gebruikersnaam / wachtwoord) van de Server.

Tijdens een Authorisatie worden onderstaande TACACS+ netwerk pakketten gecommuniceerd tussen de AAA Client en de AAA Server:

  • REQUEST: Client -> Server, Client vraagt aan Server of een specifiek commando / resource geauthorizeerd is voor de gebruiker.
  • RESPONSE: Server -> Client.
    • FAIL: Gebruiker dient geen toegang te krijgen tot het gevraagde commando / resource.
    • PASS_ADD: Authorisatie is succesvol, wel kan er extra informatie meegestuurd zijn in het RESPONSE bericht welke ook meegenomen moet worden in de authorisatie.
    • PASS_REPL: Authorisatie is succesvol, alle door het device gestuurde informatie dient genegeerd te worden en alleen wat in de RESPONSE staat dient gebruikt te worden door voor de authorisatie op het device.
    • FOLLOW: De Client dient met een andere Authorisatie server te communiceren, het pakket zal de gegevens bevatten van de nieuwe server.
    • ERROR: Er gaat wat fout op de server.

Tijdens de Accounting worden onderstaande TACACS+ netwerk pakketten gecommuniceerd tussen de AAA Client en de AAA Server:

  • REQUEST: Client -> Server, Client notificeerd Server.
    • START: Client start de communicatie.
    • STOP: Client stopt de communicatie.
    • CONTINUE: Client stuurt een Watchdog / UPDATE om de communicatie open te houden.
  • RESPONSE: Server -> Client.
    • SUCCESS: Server heeft de communicatie ontvangen en verwerkt.
    • ERROR: Er gaat wat fout op de server, Accounting communicatie is niet verwerkt.
    • FOLLOW: De Client dient met een andere Accounting server te communiceren, het pakket zal de gegevens bevatten van de nieuwe server.

Inschakelen TACACS+

TACACS+ dien je per PSN node in te schakelen, dat kan onder:

Administration -> System -> Deployment -> <Selecteer node> -> Enable Device Admin Service

Cisco ISE TACACS+ device registratie

Voordat een device een TACACS+ sessie kan starten met Cisco ISE dien het device aan Cisco ISE te worden toegevoegd:

Work Centers -> Device Administration -> Network Resources -> Add
    - Name: Hostname
    - IP: IPv4 adres
    - Enable TACACS+
    - Shared Secret: <shared secret voor TACACS+ sessie tussen device en Cisco ISE>
Submit

Het is mogelijk om devices per stuk op te voeren maar er kan ook gebruik worden gemaakt van een IP Range om een heel management netwerk toegang te geven.

Cisco IOS-XE TACACS+ Configuratie

Onderstaande configruatie dient geplaatst te worden op het Cisco IOS-XE device om TACACS+ mogelijk te maken (er wordt vanuit gegaan dat aaa new-model al aanwezig is en dat op dit moment alleen gekeken wordt naar lokale accounts).

Onderstaande configuratie dient per Cisco ISE TACACS+ PSN toegevoegd te worden:

tacacs server ise
 address ipv4 192.168.5.71
 key shared-secret

Vervolgens dienen alle Cisco ISE PSN nodes samen in een groep geplaatst worden:

aaa group server tacacs+ TACACS+_GROUP
 server name ise

De hierboven gemaakte groep kan gebruikt worden in AAA configuratie, het is aan te bevelen om niet de default lijst aan te passen maar gebruik te maken van een nieuwe lijst:

aaa authentication login ISE_AAA tacacs+
aaa accounting exec ISE_AAA start-stop tacacs+ 
aaa authorization exec ISE_AAA tacacs+

Zodra de lijsten zijn aangemaakt kunnen deze gebruikt worden voor bijvoorbeeld de VTY van het device:

line vty 0 4
 login authentication ISE_AAA
 accounting exec ISE_AAA
 authorization exec ISE_AAA

Letop dat je de authorisatie commando's pas op het laatst toevoegd om jezelf niet buiten te sluiten.