Website-Suche

Installation und Konfiguration von TACACS+ mit Cisco Router unter Debian 8 Jessie


Die heutige Technologie hängt stark von Netzwerkgeräten und der richtigen Konfiguration dieser Netzwerkgeräte ab. Administratoren haben die Aufgabe, sicherzustellen, dass Konfigurationsänderungen nicht nur vor der Implementierung gründlich getestet werden, sondern auch, dass alle Konfigurationsänderungen von Personen vorgenommen werden, die zur Durchführung von Änderungen berechtigt sind, und sicherzustellen, dass die Änderungen protokolliert werden.

Dieses Sicherheitsprinzip ist als AAA (Triple-A) oder Authentifizierung, Autorisierung und Buchhaltung bekannt. Es gibt zwei sehr bekannte Systeme, die Administratoren AAA-Funktionalität bieten, um den Zugriff auf Geräte und die Netzwerke, die diese Geräte bedienen, zu sichern.

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

Radius wird traditionell zur Authentifizierung von Benutzern für den Zugriff auf das Netzwerk verwendet. Im Gegensatz zu TACACS wird TACACS traditionell für die Geräteverwaltung verwendet. Einer der großen Unterschiede zwischen diesen beiden Protokollen ist die Fähigkeit von TACACS, die AAA-Funktionen in unabhängige Funktionen aufzuteilen.

Der Vorteil der TACACS-Trennung der AAA-Funktionen besteht darin, dass die Fähigkeit eines Benutzers, bestimmte Befehle auszuführen, gesteuert werden kann. Dies ist von großem Vorteil für Organisationen, die Netzwerkmitarbeitern oder anderen IT-Administratoren unterschiedliche Befehlsrechte auf einer sehr detaillierten Ebene gewähren möchten.

In diesem Artikel erfahren Sie, wie Sie ein Debian-System einrichten, das als TACACS+-System fungiert.

Umgebungseinrichtung

  1. Debian 8 installiert und mit Netzwerkkonnektivität konfiguriert. Bitte lesen Sie diesen Artikel zur Installation von Debian 8
  2. Cisco-Netzwerk-Switch 2940 (Die meisten anderen Cisco-Geräte funktionieren auch, aber die Befehle auf dem Switch/Router können variieren).

Installation der TACACS+ Software unter Debian 8

Der erste Schritt bei der Einrichtung dieses neuen TACACS-Servers besteht darin, die Software aus den Repositories zu beziehen. Dies lässt sich ganz einfach mit dem Befehl ‘apt’ bewerkstelligen.


apt-get install tacacs+

Der obige Befehl installiert und startet den Serverdienst auf Port 49. Dies kann mit mehreren Dienstprogrammen bestätigt werden.


lsof -i :49
netstat -ltp | grep tac

Diese beiden Befehle sollten eine Zeile zurückgeben, die angibt, dass TACACS den Port 49 auf diesem System überwacht.

Zu diesem Zeitpunkt wartet TACACS auf Verbindungen auf diesem Computer. Jetzt ist es an der Zeit, den TACACS-Dienst und die Benutzer zu konfigurieren.

Konfigurieren des TACACS-Dienstes und der Benutzer

Im Allgemeinen ist es eine gute Idee, Dienste an bestimmte IP-Adressen zu binden, wenn der Server mehrere Adressen hat. Um diese Aufgabe zu erfüllen, können die Standard-Daemon-Optionen geändert werden, um eine IP-Adresse anzugeben.


nano /etc/default/tacacs+

Diese Datei gibt alle Daemon-Einstellungen an, die das TACACS-System starten soll. Bei der Standardinstallation wird nur die Konfigurationsdatei angegeben. Durch Hinzufügen eines ‘-B’-Arguments zu dieser Datei kann eine bestimmte IP-Adresse für die Überwachung durch TACACS verwendet werden.


DAEMON_OPTS="-C /etc/tacacs+/tac_plus.conf " - Original Line
DAEMON_OPTS="-C /etc/tacacs+/tac_plus.conf -B X.X.X.X " - New line, where X.X.X.X is the IP address to listen on

Besonderer Hinweis in Debian: Aus irgendeinem Grund ist der Versuch, den TACACS+-Dienst neu zu starten, um die neuen Daemon-Optionen zu lesen, fehlgeschlagen (über service tacacs_plus neu starten).

Das Problem scheint hier zu sein, wenn TACACS über das init-Skript gestartet wird, wird die PID statisch auf „PIDFILE=/var“ gesetzt /run/tac_plus.pid ” Wenn jedoch “-B X.X.X.X ” als Daemon-Option angegeben wird, wird der Name der PID-Datei in “/var/run geändert /tac_plus.pid.X.X.X.X ”.

Ich bin mir nicht ganz sicher, ob das ein Fehler ist oder nicht, aber um die Situation vorübergehend zu beheben, kann man die PIDFILE im init-Skript manuell festlegen, indem man die Zeile in < ändert“PIDFILE=/var/run/tac_plus.pid.X.X.X.X ” wobei X.X.X.X die IP-Adresse ist, die TACACS abhören und dann den Dienst starten soll mit:


service tacacs_plus start

Nach dem Neustart des Dienstes kann der Befehl lsof erneut verwendet werden, um zu bestätigen, dass der TACACS-Dienst die richtige IP-Adresse überwacht.


lsof -i :49

Wie oben zu sehen ist, überwacht TACACS eine bestimmte IP-Adresse, wie in der TACACS-Standarddatei oben festgelegt. An diesem Punkt müssen Benutzer und spezifische Befehlssätze erstellt werden.

Diese Informationen werden von einer anderen Datei verwaltet: „/etc/tacacs+/tac_plus.conf“. Öffnen Sie diese Datei mit einem Texteditor, um die entsprechenden Änderungen vorzunehmen.


nano /etc/tacacs+/tac_plus.conf

In dieser Datei sollten sich alle TACACS-Spezifikationen befinden (Benutzerberechtigungen, Zugriffskontrolllisten, Hostschlüssel usw.). Als erstes muss ein Schlüssel für die Netzwerkgeräte erstellt werden.

Dieser Schritt bietet viel Flexibilität. Ein einzelner Schlüssel kann für alle Netzwerkgeräte konfiguriert werden oder es können mehrere Schlüssel pro Gerät konfiguriert werden. Die Wahl bleibt dem Benutzer überlassen, in dieser Anleitung wird der Einfachheit halber jedoch nur ein einziger Schlüssel verwendet.


key = "super_secret_TACACS+_key"

Sobald ein Schlüssel konfiguriert wurde, sollten Gruppen erstellt werden, die die Berechtigungen festlegen, die Benutzern später zugewiesen werden. Das Erstellen von Gruppen erleichtert die Delegation von Berechtigungen erheblich. Nachfolgend finden Sie ein Beispiel für die Zuweisung vollständiger Administratorrechte.


group = admins {
        default service = permit
        service = exec {
                priv-lvl = 15
        }
}

  1. Der Gruppenname wird durch die Zeile „group=admins“ bestimmt, wobei admins der Gruppenname ist.
  2. Die Zeile „default service=erlauben“ gibt an, dass ein Befehl implizit zugelassen wird, wenn er nicht explizit abgelehnt wird.
  3. service=exec { priv-lvl=15 “ ermöglicht die Berechtigungsstufe 15 im Exec-Modus auf einem Cisco-Gerät (Berechtigungsstufe 15 ist die höchste). Cisco-Geräte).

Nun muss der Admin-Gruppe ein Benutzer zugewiesen werden.


user = rob {
       member = admins
       login = des mjth124WPZapY
}

  1. Die Strophe „user=rob“ ermöglicht dem Benutzernamen rob den Zugriff auf eine Ressource.
  2. Das „member=admins“ weist TACACS+ an, auf die vorherige Gruppe namens „admins“ zu verweisen, um eine Auflistung der Berechtigungen dieses Benutzers zu erhalten.
  3. Die letzte Zeile, „login=des mjth124WPZapY“, ist ein verschlüsseltes Passwort für die Authentifizierung dieses Benutzers (Sie können gerne einen Cracker verwenden, um dieses super „komplexe“ Passwortbeispiel herauszufinden)!

Wichtig: Es ist im Allgemeinen eine bewährte Methode, verschlüsselte Passwörter statt Klartext in diese Datei einzufügen, da dies ein gewisses Maß an Sicherheit für den Fall bietet, dass jemand dies lesen sollte Datei und sollte nicht unbedingt Zugriff haben.

Eine gute vorbeugende Maßnahme besteht darin, zumindest auch den weltweiten Lesezugriff auf die Konfigurationsdatei zu entfernen. Dies kann über den folgenden Befehl erfolgen:


chmod o-r /etc/tacacs+/tac_plus.conf
service tacacs_plus reload

An diesem Punkt ist die Serverseite für Verbindungen von Netzwerkgeräten bereit. Gehen wir jetzt zum Cisco-Switch und konfigurieren ihn für die Kommunikation mit diesem Debian TACACS+-Server.