AAA / TACACS + пароль на коммутаторе Cisco всегда терпит неудачу при втором запросе пароля


9

Всякий раз, когда вы входите в сетевое устройство с использованием AAA / TACACS +, если я нажимаю на подсказку пароля после запроса имени пользователя, вторая подсказка пароля всегда дает сбой, даже если пароль правильный. Мне нужно снова дождаться приглашения имени пользователя и правильно ввести пароль в первом запросе пароля сразу после этого. Другими словами, всякий раз, когда я вижу второе приглашение пароля, оно не будет работать.

Смотрите очищенное взаимодействие и конфигурацию ниже.

Проверка доступа пользователя
Имя пользователя: имя пользователя
Пароль:

Пароль: (здесь всегда отказывает)
% Доступ закрыт

Проверка доступа пользователя
Имя пользователя: имя пользователя
Пароль:

Подключено к s-site-rack-agg2.example.net в строке 1 (имя сайта).
втор-сайт стойки-agg2 #

Что может отличаться от этого второго запроса пароля для объяснения такого поведения?

Типичный AAA и связанный с ним конфиг:

ааа новая модель
ааа аутентификация логин по умолчанию группа tacacs + локальная линия
ааа аутентификация логин КОНСОЛЬ
ааа аутентификация включить группу по умолчанию tacacs + включить
ааа авторизация exec группа по умолчанию tacacs + локальная if-authenticated
Команды авторизации aaa 1 группа tacacs по умолчанию + локальная проверка подлинности if
Команды авторизации aaa 7 групповых учетных записей по умолчанию + локальная проверка подлинности if
Команды авторизации aaa 15 групповых tacacs по умолчанию + локальная if-authenticated
ааа бухгалтерия exec по умолчанию старт-стоп группа tacacs +
ааа учетные команды 0 по умолчанию старт-стоп группа tacacs +
ааа бухгалтерия 1 стандартная группа старт-стоп tacacs +
ааа бухгалтерия команды 7 по умолчанию старт-стоп группа tacacs +
ааа бухгалтерия 15 стандартные группы старт-стоп tacacs +
ааа система учета по умолчанию старт-стоп группа tacacs +
!
ip tacacs source-interface Loopback0
хост сервера tacacs -prmiaryipremoved- одиночное соединение
хост сервера tacacs -secondaryipremoved- одиночное соединение
время ожидания tacacs-сервера 10
направленный запрос tacacs-сервера
ключ tacacs-server 7 -removed-
!
линия кон 0
 логин аутентификации КОНСОЛЬ
линия vty 0 4
 расположение
 exec-timeout 60 0
 пароль 7
 транспортный ввод telnet ssh

Никогда не доходил до сути, так как сбои паролей заняли> таймаут для TACACS, чтобы вернуть ответ, поэтому второе приглашение было от lineпароля. Правильные пароли сразу же получили ответ от TACACS. Перемещение на новые серверы ACS решило проблему, такую ​​же конфигурацию, поэтому похоже, что это была проблема ACS.
— generalnetworkerror

Ответы:


4

Я бы сделал отладку на вашем сервере TACACS +, пока вы пытаетесь это сделать.

Я предполагаю, что вы хотите использовать только аутентификацию TACACS и использовать только локальный вход, если он не может получить доступ к серверу?

Попробуйте использовать это:
aaa authentication login default group tacacs+ line
aaa authentication enable default group tacacs+ enable

Также смотрите этот сайт: он имеет несколько хороших примеров и объяснений

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

Я предполагаю, что, поскольку у вас есть ключевое слово "local" в:
aaa authentication login default group tacacs+ local line

Аутентификация TACACS + возвращает ошибку, поэтому маршрутизатор пытается выполнить локальную аутентификацию. Я думаю, вы должны предоставить нам line vtyпродезинфицированную конфигурацию. Если у тебя есть
line vty 0 15
login local

Затем он будет делать аутентификацию по имени пользователя / паролю, в противном случае он делает пароль


Добавлены очищенные lineконфиги в Q.
— generalnetworkerror

Из очень краткого обзора отладки видно, что ACS не возвращается достаточно быстро при неверном пароле, поскольку это единственное время, когда я вижу тайм-ауты с сообщением о сервере TACACS. Все остальные времена - нулевые таймауты.
— generalnetworkerror

4

Я думаю, что ваша конфигурация довольно опасна, и вы выглядите нерешительным, если вы используете «enable / line» или «local» в качестве запасного варианта, правильный ответ локальный, никогда не используйте «enable» и особенно никогда «line» для чего-либо (line - это два способ «зашифрован», а не односторонний хеширование).

Я бы порекомендовал эту конфигурацию вместо:

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>

'sikrit' пользователь должен использоваться, когда tacacs не работает (его нельзя использовать, если TACACS отвечает), нет необходимости в 'line' пароле в VTY, поскольку с ним никогда не консультируются. Пароль «enable» не требуется, так как с ним никогда не консультируются. Если вы хотите, чтобы резервный пользователь не был включен, просто создайте другого с привилегией 1.
Однако я добавил поддержку 'enable', если вы все-таки захотите его использовать.

Если вы используете OOB, и доступ OOB уже защищен / аутентифицирован, вы можете разрешить пользователю OOB всегда использовать локальную аутентификацию, на случай, если TACACS сломан, но IOS ошибочно считает, что это не так, тогда вы добавите что-то подобное :

aaa authentication login CONSOLE local
!
line con 0
 login authentication CONSOLE

Идея aaa authentication login default group tacacs+ local lineзаключалась в том, чтобы использовать пароль линии в качестве ловушки, если шаблон AAA был развернут на устройстве, где TACACS был сломан и локальные пользователи не были определены. И на самом деле aaa authentication login CONSOLE noneв моем конфиге было то, что я изначально не показывал. (Да, я склонен доверять физическому консольному доступу к устройствам больше, чем я, вероятно, должен.)
— generalnetworkerror

Я на самом деле не мог воспроизвести в лаборатории проблему, которую вы видите. Если у вас не настроен «локальный» пароль, и IOS считает, что TACACS недоступен, то имеет смысл попросить пароль «line», но для меня, для достижимого TACACS, он не отступил до «line». Может быть, ошибка в IOS или в TACACS, из-за которой сбой аутентификации выглядит как сбой соединения TACACS (возможно, стоит попробовать без 'single-connection')
— ytti

Второй запрос пароля без второго соответствующего запроса имени пользователя говорит нам окончательно, что он не смог lineввести пароль в системе без каких-либо локальных пользователей, созданных для localаутентификации? [ aaa authentication login default group tacacs+ local line.] tacacs + терпит неудачу, локальный пропускается, так как нет локальных пользователей, так что тогда пароль линии?
— generalnetworkerror

Я не думаю, что это должно сделать откат на tacacs + auth_failure, он должен делать это только для пропущенных tacacs + reply. Так что я бы изучил варианты, почему IOS считает, что tacacs + не отвечает (полагаю, что он отвечает). Возможно, стоит попробовать другую конфигурацию tacacs (например, удалить одиночное соединение), если это ошибка IOS, она может удалить триггер ошибки.
— 2006 года

Вы, вероятно, не видели мой комментарий к другому ответу об отладке, показывающий, что tacacs + берет> 30 секунд, чтобы ответить, только если пароль неправильный; к тому времени системы считают, что ответ сервера tacacs отсутствует, и переходят к следующему в аутентификации. Если пароль правильный, ответ tacacs будет немедленным.
— generalnetworkerror

4

Я не уверен, что в этом виновата конфигурация вашего локального устройства, а скорее сам ваш сервер TACACS. TACACS передает запрос имени пользователя / пароля с сервера TACACS (и, возможно, внешнего хранилища идентификаторов) на устройство, поэтому, если вы используете ACS (например) и настроили его для связи с AD для аутентификации пользователя, вам нужно воспринимать приглашение имени пользователя / пароля как поступающее от контроллера домена, а не от самого устройства.

Недавно я столкнулся с проблемой, подобной этой, которая была исправлена ​​патчем для ACS - опять же, я предполагаю, что вы используете ACS и получаете его из AD для аутентификации пользователя / проверки группы и т. Д. Идентификатор ошибки Cisco был CSCtz03211 и в основном ACS 5.3 отправлял множеству попыток аутентификации в AD за одну единственную попытку «имя пользователя / пароль» на устройство. Это может привести к тому, что если пользователь с первого раза введет пароль в тупик, в AD будут отправлены несколько экземпляров ошибочного сочетания имени пользователя и пароля, а учетная запись пользователя будет фактически заблокирована, что приведет к последующим неудачным попыткам входа в систему. устройство, даже если пользователь правильно ввел свое имя пользователя / пароль со второй попытки (это поведение, конечно, зависит от пороговых значений блокировки, установленных вами для учетных записей пользователей в AD).

Просто кое-что рассмотреть (без знания вашей реализации сервера TACACS).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.