TACACS+ (Terminal Access Control Access Control Server) ist ein Protokoll für Authentifizierung, Autorisierung und Accounting (AAA), es stellt also den Zugang zu Netzwerkkomponenten nur für bestimmte Nutzer sicher, regelt die Berechtigungen der Benutzer und überträgt Daten für die Protokollierung der Netzwerknutzung. TACACS+ ist also eine Alternative zu anderen AAA-Protokollen wie RADIUS.
Die Regelung der Zugriffsmöglichkeiten für die Anwender stellt in modernen Netzwerken mit zahlreichen Diensten und Netzwerkkomponenten eine große Herausforderung dar. Gerade in größeren Szenarien ist es kaum noch möglich, die Zugangsdaten der Benutzer auf jedem Gerät bzw. in jedem Dienst einzutragen und auf Dauer konsistent zu halten. Aus diesem Grund bietet sich die zentrale Bereitstellung der Benutzerdaten auf einem entsprechenden Server an.
In einem einfachen Anwendungsbeispiel möchte sich ein Anwender auf einem Router anmelden und übermittelt dazu seine Zugangsdaten (User-ID) an den Router. Der Router fungiert in diesem Fall als Network Access Server (NAS): er überprüft die Zugangsdaten nicht selbst, sondern leitet diese an den zentralen AAA-Server weiter, der die Daten nach der Prüfung mit einer positiven Bestätigung (Accept) oder einer Ablehnung (Reject) beantwortet.
Zu den erweiterten Funktionen von TACACS+ gehört u. a. die Möglichkeit, den Benutzer zum Wechseln des Kennworts aufzufordern (z. B. beim ersten Login oder nach Ablauf einer bestimmten Frist). Die entsprechenden Meldungen werden vom NAS an den Benutzer weitergereicht.
Neben den weit verbreiteten RADIUS-Servern bietet sich als AAA-Server auch TACACS+ an. Die Tabelle zeigt einige wesentliche Unterschiede zwischen RADIUS und TACACS+:
TACACS+ | RADIUS |
---|---|
Verbindungsorientierte Datenübertragung über TCP | Verbindungslose Datenübertragung über UDP |
Gesamte Datenübertragung wird verschlüsselt | Nur Kennwort wird verschlüsselt, Inhalte bleiben unverschlüsselt |
Vollständige Trennung von Authentifizierung, Autorisierung und Accounting möglich | Authentifizierung und Autorisierung sind kombiniert |
- Die Übertragung über TCP macht TACACS+ zuverlässiger als RADIUS, da die Kommunikation zwischen NAS und AAA-Server bestätigt wird und der NAS somit informiert wird, wenn der AAA-Server nicht erreichbar ist.
- TACACS+ verschlüsselt neben dem Kennwort die gesamten Nutzdaten (bis auf den TACACS+-Header). Dadurch können auch Informationen wie der Benutzername oder die erlaubten Dienste nicht abgehört werden. TACACS+ benutzt zur Verschlüsselung ein One-Time-Pad, welches auf MD5-Hashes basiert.
- Die Trennung der drei AAA-Funktionen erlaubt unter TACACS+ schließlich die Nutzung anderer Server. Während bei RADIUS Authentifizierung und Autorisierung immer zusammen gehören, kann TACACS+ Authentifizierung und Autorisierung getrennt verwenden. So kann z. B. der TACACS+-Server nur für die Authentifizierung eingesetzt werden, dabei müssen auch nur die Benutzer, nicht aber die erlaubten Kommandos gepflegt werden.