Een lokaal noodaccount aanhouden maakt daarvan geen tweede kans voor elke geweigerde login. In het AAA-model van Cisco IOS en IOS XE wordt die database alleen geraadpleegd wanneer de vorige methode op een bepaalde manier faalt, en een RADIUS-server die met een afwijzing antwoordt, is niet op die manier gefaald. Het lokale account dekt een onbereikbare methode, niet een geweigerde. Anders geloven maakt van een beleidsbeslissing een jacht op een serverstoring die niet bestaat.

Waarom de methodelijst op een ladder lijkt

Een regel als aaa authentication login default group radius local wordt van links naar rechts gelezen, en de meeste mensen lezen hem als probeer RADIUS, probeer dan de lokale database. De syntaxis nodigt tot die lezing uit omdat een lijst een reeks is. De semantiek is smaller: de lijst noemt authenticatiemethoden, en de regel om van de ene naar de volgende te gaan hangt af van het resultaat van de vorige methode, niet van het geven van nog een poging aan de gebruiker.

Een methode die een fout teruggeeft en een methode die een mislukking teruggeeft leiden hier tot verschillende uitkomsten. Weigering is een antwoord, omdat de server de inloggegevens verwerkte en nee zei, en de lijst stopt daar. Een onbereikbare server, een verlopen verzoek of een antwoord dat niet gevalideerd kan worden is het geval dat de volgende methode laat lopen, en alleen waar de foutafhandeling van het platform zo is ingesteld. Daarom werkt het klassieke advies om local toe te voegen bij storingen en doet het niets bij verkeerde wachtwoorden. Lees de lijst in plaats daarvan als twee vragen: welke methode antwoordt, en wat het platform als antwoord telt.

Scheid de methodelijst van de servergroep

De methodelijst is één laag en de servergroep is een andere. Het sleutelwoord group radius noemt een groep waarvan de interne volgorde, herpogingen, time-outs en detectie van dode servers bij de groep horen, terwijl een lokale methode een laag erboven is. Iets binnen de groep afstellen kan een afwijzing dus niet in een terugval veranderen. Bevestig op welke lijst de dienst werkelijk verwijst voordat je een van beide lagen wijzigt.

Druk de AAA-configuratie af en lees de lijst waarnaar de dienst verwijst, niet de standaardwaarde waarvan je denkt dat je die hebt geschreven. Doe het vanaf het apparaat waarop de dienst werkelijk eindigt.

show running-config | section aaa
show radius server-group RAD-GRP
show aaa servers

De servertabel meldt de status en tellers van elke vermelding, wat je vertelt of de gateway de server tijdens de poging heeft bereikt. Een server die als actief is gemarkeerd met een stijgende aanvraagteller heeft geantwoord, dus de mislukte login is een beslissing en geen connectiviteitsprobleem.

Lees het antwoord voordat je het log leest

De antwoordcode noemt de uitkomst en impliceert de eigen volgende stap. Access-Reject betekent dat de backend een beslissing heeft genomen, dus het bruikbare bewijs is het beleid dat overeenkwam en de accountstatus daarachter. Access-Challenge betekent dat de uitwisseling nog een ondersteunde stap wil, zoals een tweede factor, en een lokale terugval zou stilletjes iets overslaan dat het beleid vereist.

Reproduceer één poging met een aangewezen testaccount, zodat het antwoord en het backend-record op dezelfde tijdstempel vergeleken kunnen worden. Gebruik inloggegevens waarvan je het falen mag veroorzaken.

test aaa group RAD-GRP svc-ops 'LabPass!24' legacy
debug radius authentication

Een ontbrekende of onbekende RADIUS-clientvermelding is een veelvoorkomende oorzaak van een stille time-out, omdat de server het verzoek ontvangt, geen overeenkomende clientdefinitie vindt en het zonder antwoord weggooit. Een verschil in het gedeelde geheim ziet er meestal ook als een time-out uit, omdat het antwoord de validatie niet haalt en wordt weggegooid. Niets daarvan lijkt op Access-Reject, en niets daarvan wordt hersteld door een lokaal account toe te voegen. Controleer de clientdefinitie en het geheim aan beide kanten voordat je de methodelijst aanraakt.

Waarom het lokale account nooit iets bewees

Een account dat in de lijst achter een groep staat, bewijst alleen dat iemand een storing heeft ingepland. Het zegt niets over of het plan werkt, omdat het geval dat het test het geval is dat niemand oefent: de server stopte met antwoorden. Een lokale login die in normaal bedrijf nooit wordt bereikt, kan maandenlang een verlopen wachtwoord of een vergrendelde status dragen zonder dat iemand het merkt.

Noodtoegang is een ontwerpbeslissing, geen bijkomend effect van configuratie. Geef het een eigen beperkt account, een eigen verantwoordelijke en een schriftelijke herstelprocedure, en neem de rotatie van het gedeelde geheim in die procedure op. Voor elke centrale gebruiker een lokaal wachtwoord met dezelfde naam aanhouden is het patroon dat stilletjes de toegang terugbrengt waarvan je dacht dat je die had verwijderd.

De test die ertoe doet is bewust, en hij zal logins onderbreken terwijl hij loopt. Juist daarom hoort hij in een gepland venster met de terugdraaistap als eerste geschreven.

Controleer het terugvalpad tijdens een onderhoudsvenster

Orde de test zo dat je nooit de laatste weg naar binnen verwijdert. Bevestig eerst een onafhankelijk beheerpad, dan normale toegestane toegang, dan een bewuste weigering, dan het goedgekeurde storingsgedrag. Die vier gevallen hebben verschillende verwachte resultaten, en ze in één test samenvoegen is de manier waarop mensen zichzelf buiten een apparaat sluiten dat ze nog nodig hebben.

Voer elke controle uit vanaf een consolesessie of een out-of-band-pad, zodat een fout de sessie waarin je werkt niet kan sluiten. De console is het enige pad dat niet afhangt van de geteste component.

show aaa servers
show running-config | include aaa authentication
test aaa group RAD-GRP svc-ops 'LabPass!24' legacy

Daarna herstel je de vorige configuratie en bevestigt dat de tellers bij de volgende echte login weer bewegen. Als de bewuste weigering een lokale login oplevert in plaats van een afwijzing, dan zijn de lijst of de foutafhandeling niet wat je dacht, en die bevinding weegt zwaarder dan de storing waarmee je begon. Schrijf het resultaat in het wijzigingsrecord naast de accountnamen en de datum van de test.

Gerelateerde artikelen