Das AAA / TACACS + -Kennwort auf dem Cisco-Switch schlägt immer bei der zweiten Kennwortabfrage fehl

9

Wenn Sie sich mit AAA / TACACS + bei einem Netzwerkgerät anmelden und die Kennwortabfrage nach der Eingabeaufforderung für den Benutzernamen fetten, schlägt die zweite Eingabeaufforderung für das Kennwort immer fehl, auch wenn das Kennwort korrekt ist. Ich muss erneut auf die Eingabeaufforderung für den Benutzernamen warten und das Kennwort bei der ersten Eingabeaufforderung unmittelbar danach korrekt eingeben. Mit anderen Worten, jedes Mal, wenn ich die zweite Passwortabfrage sehe, funktioniert es nicht.

Siehe die bereinigte Interaktion und Konfiguration unten.

Überprüfung des Benutzerzugriffs
Benutzername: Benutzername
Passwort:

Passwort: (schlägt hier immer fehl)
% Zugriff verweigert

Überprüfung des Benutzerzugriffs
Benutzername: Benutzername
Passwort:

Verbunden mit s-site-rack-agg2.example.net in Zeile 1 (Site-Name).
s-site -ack-agg2 #

Was könnte bei dieser zweiten Kennwortabfrage anders sein, um dieses Verhalten zu berücksichtigen?

Die typische AAA und verwandte Konfiguration, die ich habe, ist:

aaa neues Modell
aaa Authentifizierung Login Standardgruppe Tacacs + lokale Leitung
aaa Authentifizierungs-Login KONSOLE keine
aaa Authentifizierung aktivieren Standardgruppentacacs + aktivieren
aaa authorisation exec Standardgruppentacacs + lokal, wenn authentifiziert
aaa Autorisierungsbefehle 1 Standardgruppe Tacacs + lokale if-authentifiziert
aaa Autorisierungsbefehle 7 Standardgruppentacacs + lokale if-authentifizierte
aaa Autorisierungsbefehle 15 Standard-Gruppentacacs + lokal, wenn authentifiziert
aaa Buchhaltung Exec Standard Start-Stopp-Gruppe Tacacs +
aaa Abrechnungsbefehle 0 Standard-Start-Stopp-Gruppentacacs +
aaa Abrechnungsbefehle 1 Standard-Start-Stopp-Gruppentacacs +
aaa Abrechnungsbefehle 7 Standard-Start-Stopp-Gruppentacacs +
aaa Abrechnungsbefehle 15 Standard-Start-Stopp-Gruppentacacs +
aaa Buchhaltungssystem Standard Start-Stopp-Gruppe Tacacs +
!
IP Tacacs Source-Schnittstelle Loopback0
tacacs-server host -prmiaryipremoved- single-connection
tacacs-server host -secondaryipremoved- single-connection
tacacs-server timeout 10
Tacacs-Server gerichtet-Anfrage
tacacs-server key 7 -removed-
!
line con 0
 Login-Authentifizierung KONSOLE
Zeile vty 0 4
 Ort-entfernt-
 Exec-Timeout 60 0
 Passwort 7 -entfernt-
 Transporteingang Telnet SSH
generalnetworkerror
quelle
Ich bin dem nie auf den Grund gegangen, da fehlgeschlagene Passwörter> die Zeitspanne in Anspruch nahmen, bis TACACS eine Antwort zurückgab, sodass die zweite Eingabeaufforderung vom linePasswort stammte . Richtige Passwörter erhielten sofort eine Antwort von TACACS. Auf neuere ACS-Server verschoben, wurde das Problem behoben, dieselbe Konfiguration. Es sieht also so aus, als wäre es ein ACS-Problem.
Generalnetworkerror

Antworten:

4

Ich würde ein Debug auf Ihrem TACACS + -Server durchführen, während Sie dies versuchen.

Ich gehe davon aus, dass Sie die TACACS-Authentifizierung nur verwenden und nur dann auf lokale Anmeldungen zurückgreifen möchten, wenn sie nicht auf den Server zugreifen können.

Versuchen Sie Folgendes:
aaa authentication login default group tacacs+ line
aaa authentication enable default group tacacs+ enable

Siehe auch diese Seite: Sie enthält einige gute Beispiele und Erklärungen

http://my.safaribooksonline.com/book/networking/cisco-ios/0596527225/tacacsplus/i13896_ heada _4_2 # X2ludGVybmFsX0h0bWxWaWV3P3htbGlkPTA1OTY1MjcyMjUlMkZpNTAzNjNfX2hlYWRhX180XzEmcXVlcnk9

Ich vermute, dass Sie das Schlüsselwort "local" in:
aaa authentication login default group tacacs+ local line

Die TACACS + -Authentifizierung gibt einen Fehler zurück, sodass der Router versucht, eine lokale Authentifizierung durchzuführen. Ich denke, Sie sollten uns die line vtybereinigte Konfiguration zur Verfügung stellen. Wenn Sie haben
line vty 0 15
login local

Dann würde es eine Benutzername / Passwort-Authentifizierung durchführen, andernfalls würde es ein Passwort ausführen

knotseh
quelle
Hinzugefügt hygienisiert lineconfigs Q.
generalnetworkerror
Nach einem kurzen Blick auf das Debuggen sieht es so aus, als würde ACS bei einem falschen Kennwort nicht schnell genug zurückkehren, da diese Bedingung das einzige Mal ist, dass Timeouts mit dem TACACS-Server gemeldet werden. In allen anderen Fällen gibt es keine Zeitüberschreitungen.
Generalnetworkerror
4

Ich denke, Ihre Konfiguration ist ziemlich gefährlich und Sie scheinen unentschlossen zu sein, wenn Sie 'enable / line' oder 'local' als Fallback verwenden. Die richtige Antwort ist local, verwenden Sie niemals 'enable' und insbesondere niemals 'line' für irgendetwas (line is two-) Weg "verschlüsselt", nicht einseitig gehasht).

Ich würde stattdessen diese Konfiguration empfehlen:

aaa new-model
! uses tacacs, fallsback to local user if tacacs not working
aaa authentication login default group tacacs+ local
! user gets enabled by tacacs or by enable password
aaa authentication enable default group tacacs+ enable
! console user is authorized as well (gets enabled, if such permission)
aaa authorization console
! configuration commands are authorized as well as exec commands (Good to prevent dangerous commands)
aaa authorization config-commands
! user privilege level is recovered from tacacs or from local account
aaa authorization exec default group tacacs+ local
! level 15 commands are authorized (you really only need this) 
aaa authorization commands 15 default group tacacs+ if-authenticated 
! level 1, 15 commands are logged (you really only need these two)
aaa accounting commands 1 default start-stop group tacacs+
aaa accounting commands 15 default start-stop group tacacs+
!
! fallback user consulted only when tacacs is broken
username sikrit privilege 15 secret <password>

Der Benutzer 'sikrit' soll verwendet werden, wenn tacacs nicht funktioniert (er kann nicht verwendet werden, wenn TACACS antwortet). Unter VTY ist kein 'line'-Passwort erforderlich, da es nie konsultiert wird. Es ist nicht erforderlich, das Kennwort zu aktivieren, da es nie konsultiert wird. Wenn Sie einen nicht aktivierten Sicherungsbenutzer möchten, erstellen Sie einfach einen anderen mit 'Berechtigung 1'.
Ich habe jedoch Unterstützung für 'enable' hinzugefügt, wenn Sie es schließlich aus irgendeinem Grund verwenden möchten.

Wenn Sie OOB verwenden und der OOB-Zugriff bereits gesichert / authentifiziert ist, möchten Sie dem OOB-Benutzer möglicherweise erlauben, immer die lokale Authentifizierung zu verwenden. Nur für den Fall, dass TACACS defekt ist, IOS dies jedoch fälschlicherweise nicht glaubt, würden Sie so etwas hinzufügen ::

aaa authentication login CONSOLE local
!
line con 0
 login authentication CONSOLE
ytti
quelle
Die Idee dabei aaa authentication login default group tacacs+ local linewar, das Leitungskennwort als Sammelbegriff zu verwenden, wenn die AAA-Vorlage auf einem Gerät bereitgestellt wurde, auf dem TACACS fehlerhaft war und keine lokalen Benutzer definiert wurden. Und ich hatte tatsächlich aaa authentication login CONSOLE nonein meiner Konfiguration, dass ich ursprünglich nicht gezeigt habe. (Ja, ich vertraue eher dem physischen Konsolenzugriff auf die Geräte als ich wahrscheinlich sollte.)
Generalnetworkerror
Ich konnte das Problem, das Sie sehen, im Labor nicht replizieren. Wenn Sie kein 'lokales' Passwort konfiguriert haben und IOS der Meinung ist, dass TACACS nicht erreichbar ist, ist es sinnvoll, das 'Line'-Passwort zu erfragen, aber für mich ist TACACS für erreichbare TACACS nicht auf' Line 'zurückgefallen. Möglicherweise ein Fehler in IOS oder in TACACS, der dazu führt, dass eine fehlgeschlagene Authentifizierung wie eine fehlgeschlagene TACACS-Verbindung aussieht (möglicherweise lohnt es sich, sie ohne 'Einzelverbindung' zu versuchen)
ytti
Zeigt uns die zweite Kennwortabfrage ohne eine zweite entsprechende Eingabeaufforderung für den Benutzernamen definitiv an, dass das lineKennwort auf einem System ohne lokale Benutzer, die für die localAuthentifizierung erstellt wurden , fehlgeschlagen ist ? [ aaa authentication login default group tacacs+ local line.] tacacs + schlägt fehl, lokal übersprungen als keine lokalen Benutzer, also Leitungskennwort?
Generalnetworkerror
Ich denke nicht, dass es auf Tacacs + auth_failure zurückgreifen sollte, sondern nur auf fehlende Tacacs + Antworten. Daher würde ich nach Optionen suchen, warum IOS glaubt, dass Tacacs + nicht reagiert (ich nehme an, dass es reagiert). Vielleicht ist eine Sache, die Sie versuchen sollten, eine andere Tacacs-Konfiguration (wie das Entfernen der Einzelverbindung). Wenn es sich um einen IOS-Fehler handelt, wird möglicherweise der Fehlerauslöser entfernt.
Ytti
Wahrscheinlich haben Sie meinen Kommentar zu einer anderen Antwort zum Thema Debug nicht gesehen, aus der hervorgeht, dass tacacs +> 30 Sekunden benötigt, um nur zu antworten , wenn das Passwort falsch ist. Zu diesem Zeitpunkt betrachtet das System die Antwort des Tacacs-Servers als fehlend und wechselt in auth zum nächsten. Wenn das Passwort korrekt ist, erfolgt die Antwort von tacacs sofort.
Generalnetworkerror
4

Ich bin mir nicht sicher, ob Ihre lokale Gerätekonfiguration dafür verantwortlich ist, sondern Ihr TACACS-Server selbst. TACACS überträgt die Eingabeaufforderung für Benutzername / Kennwort vom TACACS-Server (und möglicherweise einem externen Identitätsspeicher) an das Gerät. Wenn Sie also beispielsweise ACS verwenden und es so eingerichtet haben, dass es mit AD spricht, um die Benutzerauthentifizierung durchzuführen, müssen Sie dies tun Stellen Sie sich vor, dass die Eingabeaufforderung für Benutzername / Kennwort eher von einem Domänencontroller als vom Gerät selbst stammt.

Ich bin kürzlich auf genau dieses Problem gestoßen, das durch einen Patch für ACS behoben wurde. Ich gehe wieder davon aus, dass Sie ACS verwenden und es aus AD zur Überprüfung der Benutzerauthentifizierung / -gruppe usw. abrufen. Die Cisco-Fehler-ID war CSCtz03211 und im Grunde schickte ACS 5.3 mehrere automatische Versuche an AD pro einzelnen automatischen Versuch "Benutzername / Passwort" an das Gerät. Dies würde zu dem Verhalten führen, dass, wenn ein Benutzer das Kennwort beim ersten Versuch fett gefingert hat, mehrere Instanzen der fehlerhaften Kombination aus Benutzername und Kennwort an AD gesendet wurden und das Benutzerkonto tatsächlich gesperrt wurde, was zu nachfolgenden fehlgeschlagenen Anmeldeversuchen führte das Gerät, auch wenn ein Benutzer beim zweiten Versuch seinen Benutzernamen / sein Kennwort korrekt eingegeben hat (dieses Verhalten hängt natürlich von den Sperrschwellen ab, die Sie für Benutzerkonten in AD festgelegt haben).

Nur etwas zu beachten (ohne Kenntnis Ihrer TACACS-Server-Implementierung).

John Jensen
quelle