RADIUS-Ablehnung gegen keine Antwort: wann die lokale Anmeldung greift
AAA behandelt eine Ablehnung und einen unerreichbaren Server als verschiedene Ergebnisse. Der Rückfall deckt nur den zweiten Fall ab, daher zuerst die Methodenliste und den Antwortcode lesen.
Ein lokales Notfallkonto macht daraus keine zweite Chance für jede abgelehnte Anmeldung. Im AAA-Modell von Cisco IOS und IOS XE wird diese Datenbank nur dann befragt, wenn die vorherige Methode auf bestimmte Weise fehlschlägt, und ein RADIUS-Server, der mit einer Ablehnung antwortet, ist nicht auf diese Weise fehlgeschlagen. Das lokale Konto deckt eine unerreichbare Methode ab, keine abgelehnte. Wer das Gegenteil glaubt, macht aus einer Grundsatzentscheidung die Suche nach einem Serverfehler, den es nicht gibt.
Warum die Methodenliste wie eine Leiter aussieht
Eine Zeile wie aaa authentication login default group radius local liest sich von links nach rechts, und die meisten lesen sie als erst RADIUS versuchen, dann die lokale Datenbank versuchen. Die Syntax lädt zu dieser Lesart ein, weil eine Liste eine Abfolge ist. Die Semantik ist enger: Die Liste benennt Authentifizierungsmethoden, und die Regel für den Übergang von einer zur nächsten hängt vom Ergebnis der vorherigen Methode ab und nicht davon, dem Benutzer einen weiteren Versuch zu geben.
Eine Methode, die einen Fehler zurückgibt, und eine Methode, die ein Scheitern zurückgibt, führen hier zu verschiedenen Ergebnissen. Eine Ablehnung ist eine Antwort, weil der Server die Anmeldedaten verarbeitet und nein gesagt hat, und die Liste endet dort. Ein unerreichbarer Server, eine abgelaufene Anfrage oder eine Antwort, die nicht validiert werden kann, ist der Fall, der die nächste Methode laufen lässt, und nur dort, wo die Fehlerbehandlung der Plattform so konfiguriert ist. Deshalb funktioniert der klassische Rat, local anzuhängen, bei Ausfällen und bewirkt bei falschen Passwörtern nichts. Lesen Sie die Liste stattdessen als zwei Fragen: Welche Methode antwortet, und was zählt die Plattform als Antwort.
Trennen Sie die Methodenliste von der Servergruppe
Die Methodenliste ist eine Schicht, die Servergruppe eine andere. Das Schlüsselwort group radius benennt eine Gruppe, deren interne Reihenfolge, Wiederholungen, Zeitüberschreitungen und Dead-Server-Erkennung zur Gruppe gehören, während eine lokale Methode eine Schicht darüber ist. Eine Abstimmung innerhalb der Gruppe kann eine Ablehnung daher nicht in einen Rückfall verwandeln. Bestätigen Sie, auf welche Liste der Dienst tatsächlich verweist, bevor Sie eine der beiden Schichten ändern.
Geben Sie die AAA-Konfiguration aus und lesen Sie die Liste, auf die der Dienst zeigt, nicht die Voreinstellung, von der Sie glauben, sie geschrieben zu haben. Tun Sie das auf dem Gerät, auf dem der Dienst tatsächlich endet.
show running-config | section aaa
show radius server-group RAD-GRP
show aaa serversDie Servertabelle meldet Zustand und Zähler jedes Eintrags und sagt Ihnen damit, ob das Gateway den Server während des Versuchs erreicht hat. Ein als betriebsbereit markierter Server mit steigendem Anforderungszähler hat geantwortet, die fehlgeschlagene Anmeldung ist also eine Entscheidung und kein Konnektivitätsproblem.
Lesen Sie die Antwort, bevor Sie das Protokoll lesen
Der Antwortcode benennt das Ergebnis und legt den eigenen nächsten Schritt nahe. Access-Reject bedeutet, dass das Backend entschieden hat, also sind die nützlichen Belege die passende Richtlinie und der Kontozustand dahinter. Access-Challenge bedeutet, dass der Austausch einen weiteren unterstützten Schritt wie einen zweiten Faktor verlangt, und ein lokaler Rückfall würde still etwas überspringen, das die Richtlinie verlangt.
Reproduzieren Sie einen Versuch mit einem festgelegten Testkonto, damit Antwort und Backend-Datensatz zum selben Zeitstempel verglichen werden können. Verwenden Sie Anmeldedaten, bei denen ein Fehlschlag erlaubt ist.
test aaa group RAD-GRP svc-ops 'LabPass!24' legacy
debug radius authenticationEin fehlender oder unbekannter RADIUS-Client-Eintrag ist eine häufige Ursache für eine stille Zeitüberschreitung, weil der Server die Anfrage erhält, keine passende Client-Definition findet und sie ohne Antwort verwirft. Eine Abweichung beim gemeinsamen Geheimnis sieht ebenfalls meist wie eine Zeitüberschreitung aus, weil die Antwort die Prüfung nicht besteht und verworfen wird. Nichts davon sieht wie Access-Reject aus, und nichts davon wird durch ein lokales Konto behoben. Prüfen Sie die Client-Definition und das Geheimnis auf beiden Seiten, bevor Sie die Methodenliste anfassen.
Warum das lokale Konto nie etwas bewiesen hat
Ein Konto, das in der Liste hinter einer Gruppe steht, beweist nur, dass jemand einen Ausfall eingeplant hat. Es sagt nichts darüber, ob der Plan funktioniert, weil der Fall, der ihn prüft, der Fall ist, den niemand übt: Der Server hörte auf zu antworten. Eine lokale Anmeldung, die im Normalbetrieb nie erreicht wird, kann monatelang ein abgelaufenes Passwort oder einen gesperrten Zustand tragen, ohne dass es jemand bemerkt.
Notfallzugang ist eine Designentscheidung, kein Nebenwirkungseffekt der Konfiguration. Geben Sie ihm ein eigenes eingeschränktes Konto, einen eigenen Verantwortlichen und ein schriftliches Wiederherstellungsverfahren, und nehmen Sie die Rotation des gemeinsamen Geheimnisses in dieses Verfahren auf. Ein gleichnamiges lokales Passwort für jeden zentralen Benutzer zu halten ist das Muster, das still den Zugang wieder einführt, den Sie entfernt glaubten.
Der Test, auf den es ankommt, ist absichtlich und unterbricht Anmeldungen, während er läuft. Genau deshalb gehört er in ein geplantes Wartungsfenster mit zuerst geschriebenem Rückabwicklungsschritt.
Prüfen Sie den Rückfallpfad in einem Wartungsfenster
Ordnen Sie den Test so, dass Sie nie den letzten Weg hinein entfernen. Bestätigen Sie zuerst einen unabhängigen Verwaltungsweg, dann den normalen erlaubten Zugang, dann eine absichtliche Ablehnung, dann das genehmigte Ausfallverhalten. Diese vier Fälle haben unterschiedliche erwartete Ergebnisse, und sie in einen Test zusammenzufassen ist die Art, wie Menschen sich aus einem Gerät aussperren, das sie noch brauchen.
Führen Sie jede Prüfung aus einer Konsolensitzung oder über einen Out-of-Band-Weg aus, damit ein Fehler die Sitzung nicht schließen kann, in der Sie arbeiten. Die Konsole ist der eine Weg, der nicht von der getesteten Komponente abhängt.
show aaa servers
show running-config | include aaa authentication
test aaa group RAD-GRP svc-ops 'LabPass!24' legacyStellen Sie danach die vorherige Konfiguration wieder her und bestätigen Sie, dass sich die Zähler bei der nächsten echten Anmeldung wieder bewegen. Ergibt die absichtliche Ablehnung eine lokale Anmeldung statt einer Ablehnung, dann sind die Liste oder die Fehlerbehandlung nicht das, was Sie geglaubt haben, und dieser Befund ist wichtiger als der Ausfall, mit dem Sie begonnen haben. Schreiben Sie das Ergebnis in den Änderungsdatensatz neben die Kontonamen und das Datum des Tests.