Отказ на RADIUS срещу липса на отговор: кога работи локалният вход
AAA третира отказа и недостъпния сървър като различни резултати. Резервният път покрива само втория случай, затова първо прочетете списъка с методи и кода на отговора.
Поддържането на локален акаунт за спешни случаи не го прави втори шанс за всеки отказан вход. В модела AAA на Cisco IOS и IOS XE тази база се проверява само когато предишният метод се провали по определен начин, а сървър RADIUS, който отговаря с отказ, не се е провалил по този начин. Локалният акаунт покрива недостъпен метод, а не отказан. Ако вярвате на обратното, решението по политика се превръща в търсене на неизправност на сървъра, която не съществува.
Защо списъкът с методи изглежда като стълба
Ред като aaa authentication login default group radius local се чете отляво надясно и повечето хора го четат като опитай RADIUS, после опитай локалната база. Синтаксисът подтиква към такова четене, защото списъкът е последователност. Семантиката е по-тясна: списъкът именува методи за удостоверяване, а правилото за преминаване от един към следващия зависи от резултата на предишния метод, а не от даването на потребителя на още един опит.
Метод, който връща грешка, и метод, който връща неуспех, водят тук до различни резултати. Отказът е отговор, защото сървърът е обработил данните за достъп и е казал не, и списъкът спира там. Недостъпен сървър, изтекъл опит или отговор, който не може да бъде проверен, е случаят, който позволява да се изпълни следващият метод, и само там, където обработката на неуспехи на платформата е настроена така. Затова класическият съвет да добавите local работи при прекъсвания и не прави нищо при грешни пароли. Четете списъка вместо това като два въпроса: кой метод отговаря и какво платформата смята за отговор.
Разделете списъка с методи от групата сървъри
Списъкът с методи е едно ниво, а групата сървъри е друго. Ключовата дума group radius именува група, чийто вътрешен ред, повторни опити, изчаквания и откриване на мъртъв сървър принадлежат на групата, докато локалният метод е ниво над нея. Затова настройка вътре в групата не може да превърне отказ в резервен път. Потвърдете кой списък услугата действително реферира, преди да променяте което и да е ниво.
Отпечатайте конфигурацията на AAA и прочетете списъка, към който сочи услугата, а не стойността по подразбиране, която помните, че сте писали. Правете го от устройството, на което услугата действително завършва.
show running-config | section aaa
show radius server-group RAD-GRP
show aaa serversТаблицата със сървъри показва състоянието и броячите на всеки запис, което ви казва дали шлюзът е достигнал сървъра по време на опита. Сървър, отбелязан като работещ с растящ брояч на заявките, е отговарял, така че неуспешният вход е решение, а не проблем със свързаността.
Прочетете отговора, преди да прочетете журнала
Кодът на отговора именува резултата и предполага собствената си следваща стъпка. Access-Reject означава, че бекендът е взел решение, така че полезното доказателство е политиката, която е съвпаднала, и състоянието на акаунта зад нея. Access-Challenge означава, че обменът иска друга поддържана стъпка, например втори фактор, и локалният резервен път тихо би пропуснал нещо, което политиката изисква.
Възпроизведете един опит с определен тестов акаунт, за да могат отговорът и записът на бекенда да се сравнят в едно и също времево клеймо. Използвайте данни за достъп, които ви е позволено да провалите.
test aaa group RAD-GRP svc-ops 'LabPass!24' legacy
debug radius authenticationЛипсващ или неразпознат запис за клиент RADIUS е честа причина за тихо изчакване, защото сървърът получава заявката, не намира съответстваща дефиниция на клиент и я изхвърля, без да отговори. Несъответствието на споделената тайна също обикновено изглежда като изчакване, защото отговорът не преминава проверката и се изхвърля. Нито едно от тези не изглежда като Access-Reject и нито едно не се поправя чрез добавяне на локален акаунт. Проверете дефиницията на клиента и тайната от двете страни, преди да пипате списъка с методи.
Защо локалният акаунт никога не е доказвал нищо
Акаунт, който стои след група в списъка, доказва само, че някой е планирал прекъсване. Той не казва нищо за това дали планът работи, защото случаят, който го изпитва, е случаят, който никой не репетира: сървърът спря да отговаря. Локален вход, който никога не се достига при нормална работа, може да носи изтекла парола или заключено състояние с месеци, без никой да забележи.
Спешният достъп е решение за дизайна, а не страничен ефект от конфигурацията. Дайте му собствен ограничен акаунт, собствен собственик и писмена процедура за възстановяване и включете ротацията на споделената тайна в тази процедура. Поддържането на локална парола с еднакво име за всеки централен потребител е моделът, който тихо връща достъпа, който сте мислили, че сте премахнали.
Тестът, който има значение, е умишлен и ще прекъсне входовете, докато тече. Точно затова той принадлежи в планиран прозорец с първо написана стъпка за връщане назад.
Проверете резервния път по време на прозорец за поддръжка
Подредете теста така, че никога да не премахвате последния път навътре. Първо потвърдете независим път за управление, после нормален разрешен достъп, после умишлен отказ, после одобреното поведение при прекъсване. Тези четири случая имат различни очаквани резултати и събирането им в един тест е начинът, по който хората се заключват от устройство, което все още им трябва.
Изпълнявайте всяка проверка от конзолна сесия или от извънлентов път, така че грешка да не може да затвори сесията, в която работите. Конзолата е единственият път, който не зависи от компонента под тест.
show aaa servers
show running-config | include aaa authentication
test aaa group RAD-GRP svc-ops 'LabPass!24' legacyСлед това възстановете предишната конфигурация и потвърдете, че броячите отново се движат при следващия реален вход. Ако умишленият отказ дава локален вход вместо отказ, то списъкът или обработката на неуспехи не са това, което сте вярвали, и тази констатация е по-важна от прекъсването, с което сте започнали. Запишете резултата в записа за промени до имената на акаунтите и датата на теста.