At holde en lokal nødkonto gør den ikke til en anden chance for hvert afvist login. I Cisco IOS- og IOS XE-AAA-modellen slås der kun op i den database, når den tidligere metode fejler på en bestemt måde, og en RADIUS-server, der svarer med en afvisning, er ikke fejlet på den måde. Den lokale konto dækker en utilgængelig metode, ikke en afvist. Tror man andet, bliver en politikbeslutning til en jagt på en serverfejl, der ikke findes.

Hvorfor metodelisten ligner en stige

En linje som aaa authentication login default group radius local læses fra venstre mod højre, og de fleste læser den som prøv RADIUS, prøv derefter den lokale database. Syntaksen indbyder til den læsning, fordi en liste er en sekvens. Semantikken er snævrere: listen navngiver godkendelsesmetoder, og reglen for at gå videre fra én til den næste afhænger af resultatet af den foregående metode og ikke af at give brugeren endnu et forsøg.

En metode, der returnerer en fejl, og en metode, der returnerer et svigt, fører her til forskellige udfald. Afvisning er et svar, fordi serveren behandlede legitimationsoplysningerne og sagde nej, og listen stopper der. En utilgængelig server, en udløbet anmodning eller et svar, der ikke kan valideres, er det tilfælde, der lader den næste metode køre, og kun hvor platformens fejlhåndtering er konfigureret sådan. Derfor virker det klassiske råd at tilføje local ved nedbrud og gør intet ved forkerte adgangskoder. Læs listen i stedet som to spørgsmål: hvilken metode svarer, og hvad platformen regner som et svar.

Adskil metodelisten fra servergruppen

Metodelisten er et lag, og servergruppen er et andet. Nøgleordet group radius navngiver en gruppe, hvis interne rækkefølge, genforsøg, timeouts og detektion af død server hører til gruppen, mens en lokal metode er et lag over den. Derfor kan justering inde i gruppen ikke gøre en afvisning til et fallback. Bekræft, hvilken liste tjenesten faktisk refererer til, før du ændrer et af lagene.

Udskriv AAA-konfigurationen, og læs den liste, tjenesten peger på, ikke den standard, du husker at have skrevet. Gør det fra den enhed, tjenesten faktisk afsluttes på.

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

Servertabellen viser hver posts tilstand og tællere, hvilket fortæller dig, om gatewayen nåede serveren under forsøget. En server markeret som oppe med en stigende anmodningstæller har svaret, så det mislykkede login er en beslutning og ikke et forbindelsesproblem.

Læs svaret, før du læser loggen

Svarkoden navngiver udfaldet og antyder sit eget næste skridt. Access-Reject betyder, at backenden traf en beslutning, så det nyttige bevis er den politik, der matchede, og kontoens tilstand bag den. Access-Challenge betyder, at udvekslingen vil have endnu et understøttet trin som en anden faktor, og lokalt fallback ville stille springe noget over, som politikken kræver.

Gengiv ét forsøg med en udpeget testkonto, så svaret og backendens post kan sammenlignes på samme tidsstempel. Brug en legitimationsoplysning, du har lov til at fejle.

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

En manglende eller ukendt RADIUS-klientpost er en almindelig årsag til en stille timeout, fordi serveren modtager anmodningen, ikke finder nogen matchende klientdefinition og kasserer den uden at svare. Uoverensstemmelse i den delte hemmelighed ligner også ofte en timeout, fordi svaret fejler validering og kasseres. Ingen af disse ligner Access-Reject, og ingen af dem repareres ved at tilføje en lokal konto. Kontrollér klientdefinitionen og hemmeligheden på begge sider, før du rører metodelisten.

Hvorfor den lokale konto aldrig beviste noget

En konto, der står efter en gruppe på listen, beviser kun, at nogen planlagde for et nedbrud. Den siger intet om, hvorvidt planen virker, fordi det tilfælde, der afprøver den, er det tilfælde, ingen øver: serveren holdt op med at svare. Et lokalt login, der aldrig nås i normal drift, kan bære en udløbet adgangskode eller en låst tilstand i månedsvis, uden at nogen opdager det.

Nødadgang er en designbeslutning, ikke en bivirkning af konfigurationen. Giv den sin egen begrænsede konto, sin egen ejer og en skriftlig gendannelsesprocedure, og fold rotation af den delte hemmelighed ind i den procedure. At holde en lokalt navngivet adgangskode til hver central bruger er det mønster, der stille genindfører den adgang, du troede, du havde fjernet.

Testen, der betyder noget, er bevidst, og den vil afbryde logins, mens den kører. Det er netop derfor, den hører i et planlagt vindue med tilbagerulningstrinnet skrevet først.

Kontrollér fallback-stien i et vedligeholdelsesvindue

Sæt testen i rækkefølge, så du aldrig fjerner den sidste vej ind. Bekræft først en uafhængig administrationsvej, derefter normal tilladt adgang, derefter en bevidst afvisning, derefter den godkendte nedbrudsadfærd. De fire tilfælde har forskellige forventede resultater, og at slå dem sammen til én test er måden, hvorpå folk låser sig selv ude af en enhed, de stadig har brug for.

Kør hver kontrol fra en konsolsession eller en out-of-band-vej, så en fejl ikke kan lukke den session, du arbejder i. Konsollen er den ene vej, der ikke afhænger af den komponent, der testes.

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

Bagefter gendanner du den tidligere konfiguration og bekræfter, at tællerne bevæger sig igen ved det næste rigtige login. Hvis den bevidste afvisning giver et lokalt login i stedet for en afvisning, så er listen eller fejlhåndteringen ikke, hvad du troede, og den opdagelse er vigtigere end det nedbrud, du startede med. Skriv resultatet i ændringsloggen ved siden af kontonavnene og datoen for testen.

Relaterede artikler