Коммутатор выступает NAS-устройством (аутентификатором) для доступа администраторов к собственному интерфейсу управления - Console, SSH. Проверка учётных данных выполняется сервером NAICE по протоколу RADIUS, при недоступности сервера используется локальная база коммутатора.
Обобщенно компоненты схемы авторизации можно представить так:
Инструкция едина для платформ Cisco IOS (Catalyst 3750/3560 и аналогичных) и Cisco IOS-XE (Catalyst 9200/9300/9400/9500 на 16.x-17.x): команды AAA, авторизации уровня, учёта и источника запросов на них совпадают. Различаются только способ описания RADIUS-сервера, способ признания сервера недоступным, механизм отката конфигурации и синтаксис теста взаимодействия - эти различия приведены внутри соответствующих шагов и сведены в таблицу в конце инструкции.
Администраторы и конечные клиенты (802.1X, MAB) используют разные группы RADIUS-серверов и разные наборы списков AAA. В данном примере настраивается только административная часть.
Важно. Серверная аутентификация администраторов работает только после включения aaa new-model. После включения устройство переходит на работу по настроенным спискам AAA, поэтому локальный резерв создаётся до этого шага, а проверка выполняется из дополнительной сессии. |
Важно. Access-Reject (пользователя нет в базе NAICE) останавливает цепочку методов - локальная база опрашиваться не будет. Переход к методу local происходит только при ошибке метода: таймаут, отсутствие ответа, состояние сервера Dead. |
1. Сохранить конфигурацию на внешний ресурс:
copy running-config tftp://<IP-tftp>/<имя_файла>.cfg |
Открыть консоль и дополнительную SSH-сессию, не участвующую в настройке.
На IOS-XE дополнительно включить автоматический откат конфигурации:
configure terminal revert timer 15 |
Если в течение 15 минут не выполнить configure confirm , конфигурация откатится автоматически. На классическом IOS механизма отката нет - конфигурацию не сохранять командой write memory до подтверждения работоспособности.
2. Создать локальную учётную запись для резервного доступа и пароль повышения привилегий:
aaa new-model username <резервный_логин> privilege 15 secret <пароль> enable secret <пароль_повышения> |
Команда aaa new-model выполняется на этом шаге, до изменения списков: значения списков AAA по умолчанию не блокируют вход под локальной учётной записью.
3. Описать сервер администраторов.
IOS-XE (Catalyst 9200/9300/9400/9500):
radius server ADMINS-NAC address ipv4 <IP-адрес NAICE> auth-port 1812 acct-port 1813 key <RADIUS secret> ! aaa group server radius ADMIN_RADIUS server name ADMINS-NAC ip radius source-interface Vlan<id> ! |
IOS (Catalyst 3750/3560) - объекты и группы серверов отсутствуют, сервер описывается глобальной командой:
radius-server host <IP-адрес NAICE> auth-port 1812 acct-port 1813 key <RADIUS secret> ip radius source-interface Vlan<id> |
Адрес ip radius source-interface передаётся в атрибуте NAS-IP-Address и используется NAICE для идентификации устройства.
| Если адрес источника не задан явно, NAICE может получить NAS-IP-Address, не совпадающий с описанием устройства, и политика не будет применена. |
4. Задать критерии признания сервера недоступным.
IOS-XE:
radius-server dead-criteria time 10 tries 3 radius-server deadtime 5 |
IOS:
radius-server deadtime 5 |
Пока сервер в состоянии Dead, запросы к нему не отправляются, что исключает длительные ожидания входа при аварии NAICE.
5. Проверить взаимодействие с сервером до изменения списков AAA.
IOS-XE:
test aaa group ADMIN_RADIUS <логин> <пароль> legacy |
IOS:
test aaa group radius <логин> <пароль> legacy show aaa servers |
6. Создать отдельную цепочку для консоли - резервный доступ, не зависящий от NAICE:
aaa authentication login CONSOLE local line con 0 login authentication CONSOLE ! |
7. Настроить проверку подлинности при входе и авторизацию уровня доступа:
IOS-XE:
aaa authentication login default group ADMIN_RADIUS local aaa authorization exec default group ADMIN_RADIUS local |
IOS:
aaa authentication login default group radius local aaa authorization exec default group radius local |
При успешной авторизации exec NAICE выдаёт уровень доступа, и администратор попадает сразу в привилегированный режим - повышение командой enable не требуется.
8. Повышение привилегий оставить локальным:
aaa authentication enable default enable |
Предупреждение. Настраивать серверную проверку повышения (aaa authentication enable default group ...) не рекомендуется. При проверке повышения на сервер передаётся Access-Request со служебным User-Name = "$enab15$" (для 5 уровня - $enab5$) вместо имени вошедшего администратора; NAICE не сможет сопоставить запрос с учётной записью и ответит Access-Reject. Изменение поведения средствами конфигурации не предусмотрено. |
9. Включить покомандный учёт действий администраторов:
IOS-XE:
aaa accounting commands 15 default start-stop group ADMIN_RADIUS |
IOS:
aaa accounting commands 15 default start-stop group radius |
10. Привязать списки к линиям управления и ограничить транспорт:
line con 0 login authentication default exit line vty 0 15 login authentication default transport input ssh ! no ip http server no ip http secure-server ip ssh version 2 |
Примечание. Список с именем default применяется к линиям автоматически, явная привязка обязательна только для именованных списков. Явная привязка рекомендуется как средство защиты от ситуации, когда список переименован или удалён, а линия продолжает работать по остаточным настройкам. На IOS-XE диапазон vty может быть больше - проверять фактический диапазон командой show running-config | section line vty. |
11. Убедиться, что авторизация конечных клиентов использует свою группу и не затронута (IOS-XE):
dot1x system-auth-control aaa authentication dot1x default group CLIENT_RADIUS aaa authorization network default group CLIENT_RADIUS aaa accounting dot1x default start-stop group CLIENT_RADIUS |
Группу ADMIN_RADIUS включать в aaa authorization network нельзя, как и группу CLIENT_RADIUS - в списки login, exec , enable .
12. После успешной проверки сохранить конфигурацию:
configure confirm write memory |
Команда configure confirm - только IOS-XE.
Примечание. Если enable secret не задан, попытка enable даст Password required, but none set. При выдаче 15 уровня на входе это корректное поведение - повышенный доступ из привилегированного режима недоступен. |
Далее описана последовательность действий, которая позволяет настроить вход администратора из внутренней БД по политике, основанной на IP-адресе NAS-устройства. Настройка одинакова для IOS и IOS-XE.
Учётная запись администратора должна быть создана в NAICE до переключения цепочек аутентификации на устройстве.
Добавление пользователя доступно в разделе Пользователи и устройства → Управление идентификацией → Пользователи сети.
Минимально необходимые для заполнения параметры:

Доступно в разделе Пользователи и устройства → Сетевые ресурсы → Профили устройств.
Минимально необходимые для заполнения параметры:
Cisco Catalyst admins;
Доступно в разделе Пользователи и устройства → Сетевые ресурсы → Устройства.
Минимально необходимые для заполнения параметры:
ip radius source-interface;key из описания сервера.
Доступно в разделе Доступ к сети → Элементы политик → Условия.
В поле Атрибут выбрать NAS-Port-Type, оператор Равно, значение - Virtual. Сохранить условие в библиотеку.

Доступно в разделе Доступ к сети → Элементы политик → Профили авторизации.
Минимально необходимые для заполнения параметры:

Доступно в разделе Доступ к сети → Элементы политик → Разрешенные протоколы.
Необходимо выбрать протокол PAP, так как авторизация администраторов по протоколу RADIUS на данном типе устройств происходит через этот протокол

Доступно в разделе Доступ к сети → Политики RADIUS.
Заполнить параметры набора политик:

ssh <логин>@<IP-адрес устройства> |