Описание


Коммутатор выступает 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.


Настройка NAS-устройства

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 уровня на входе это корректное поведение - повышенный доступ из привилегированного режима недоступен.

Настройка NAICE

Далее описана последовательность действий, которая позволяет настроить вход администратора из внутренней БД по политике, основанной на IP-адресе NAS-устройства. Настройка одинакова для IOS и IOS-XE.

1. Добавление администратора

Учётная запись администратора должна быть создана в NAICE до переключения цепочек аутентификации на устройстве.

Добавление пользователя доступно в разделе Пользователи и устройства → Управление идентификацией  → Пользователи сети.

Минимально необходимые для заполнения параметры:

 

2. Создание профиля сетевого устройства

Доступно в разделе Пользователи и устройства → Сетевые ресурсы → Профили устройств.

Минимально необходимые для заполнения параметры:

3. Добавление сетевого устройства

Доступно в разделе Пользователи и устройства → Сетевые ресурсы → Устройства.

Минимально необходимые для заполнения параметры:

4. Создание логического условия с NAS-Port-Type

Доступно в разделе Доступ к сети → Элементы политик →  Условия.

В поле Атрибут выбрать NAS-Port-Type, оператор Равно, значение - Virtual. Сохранить условие в библиотеку.

5. Создание профиля авторизации

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

Минимально необходимые для заполнения параметры:

6. Создание разрешенного протокола подключения

Доступно в разделе Доступ к сети → Элементы политик →  Разрешенные протоколы.

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

7. Создание набора политик аутентификации и авторизации

Доступно в разделе Доступ к сети → Политики RADIUS.

Заполнить параметры набора политик:

Подключение администратора

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