Skip to content

Настройка авторизации

Описание и назначение функции

Модуль AAA (Authentication, Authorization, Accounting) обеспечивает централизованное управление доступом к коммутатору через внешние серверы TACACS+. Система позволяет разделить функции аутентификации пользователей, авторизации команд и учёта действий на независимые процессы с гибкой настройкой методов проверки.

Основные сценарии использования:

  • Централизованная аутентификация пользователей через TACACS+ с резервированием на локальную базу
  • Авторизация выполнения команд уровня привилегий 15 (enable mode)
  • Регистрация всех сеансов подключения и выполненных команд для аудита
  • Разделение прав доступа для различных линий подключения (консоль, VTY, SSH)

Настройка применяется когда требуется контроль доступа к сетевому оборудованию с внешнего AAA-сервера и ведением детального журнала действий администраторов.


Необходимые условия и предварительные требования

Для настройки AAA требуется:

  • Работающий TACACS+ сервер с IP-связностью от коммутатора
  • Согласованный shared secret между коммутатором и сервером
  • Настроенные пользователи и группы на TACACS+ сервере с определёнными уровнями привилегий
  • Версия ПО: v1.0.2 и выше (серия CIT L3200)
  • SSH-сервер активирован на коммутаторе (команда sshd)
  • IP-адрес на коммутаторе для source-ip при обращении к TACACS+ серверу

Примечание: Рекомендуется сначала протестировать конфигурацию на линиях VTY, сохранив доступ через консоль с локальной аутентификацией.


Назначение команд конфигурации

Команда Режим Назначение
tacacs-server [NAME] ip-address [IP] key [SECRET] AAA config Создание TACACS+ сервера с указанием адреса и ключа шифрования
tacacs-server [NAME] src-ip [IP] AAA config Определение source IP для подключения к серверу
tacacs-server [NAME] single-connection enable AAA config Включение режима единого TCP-соединения для всех сеансов
tacacs-server timeout [SEC] AAA config Глобальный таймаут ожидания ответа от сервера
server-group [NAME] tacacs-server [SERVER] AAA config Создание группы серверов для методов AAA
aaa authentication login method [NAME] server-group [GROUP] local AAA config Метод аутентификации при входе с резервированием на локальную базу
aaa authentication enable method [NAME] server-group [GROUP] local AAA config Метод аутентификации перехода в привилегированный режим
aaa authorization method [NAME] server-group [GROUP] local AAA config Метод авторизации выполнения команд
aaa accounting login method [NAME] server-group [GROUP] AAA config Метод регистрации сеансов входа
login authentication aaa method [NAME] Line config Применение метода аутентификации к линии
login authorization aaa method [NAME] Line config Применение метода авторизации к линии
login accounting aaa method [NAME] Line config Применение метода учёта к линии
enable authentication aaa method [NAME] Line config Применение метода для команды enable
command authorization 15 aaa method [NAME] Line config Авторизация команд уровня привилегий 15

Конфигурация состоит из трёх этапов: определение серверов, создание методов AAA и применение методов к линиям доступа.


Пример конфигурирования

Пошаговые инструкции

Шаг 1: Проверка связности с TACACS+ сервером

SW4#ping 192.168.100.99
Reply from 192.168.100.99: bytes=64 time<1ms TTL=64

Убедитесь что сервер доступен по сети перед настройкой.

Шаг 2: Вход в режим конфигурации AAA

SW4#configure
SW4(config)#aaa
SW4(config-aaa)#

Все команды AAA выполняются в специализированном подрежиме конфигурации.

Шаг 3: Настройка параметров TACACS+ сервера

SW4(config-aaa)#tacacs-server TAC1 ip-address 192.168.100.99 key labSharedSecret port 49 single-connection enable
SW4(config-aaa)#tacacs-server TAC1 src-ip 192.168.100.254
SW4(config-aaa)#tacacs-server timeout 5

Команды определяют сервер TAC1 с адресом, общим ключом, портом и source IP. Таймаут 5 секунд применяется глобально.

Шаг 4: Создание группы серверов

SW4(config-aaa)#server-group TACGRP tacacs-server TAC1

Группа TACGRP объединяет серверы для использования в методах AAA. В группу можно добавить несколько серверов для отказоустойчивости.

Шаг 5: Создание методов AAA

SW4(config-aaa)#aaa authentication login method LOGIN_TAC server-group TACGRP local
SW4(config-aaa)#aaa authentication enable method ENA_TAC server-group TACGRP local
SW4(config-aaa)#aaa authorization method AUTHZ_TAC server-group TACGRP local
SW4(config-aaa)#aaa accounting login method ACCT_TAC server-group TACGRP

Создаются четыре метода: для входа, enable, авторизации и учёта. Параметр local обеспечивает резервный метод при недоступности TACACS+.

Шаг 6: Выход из режима AAA и вход в конфигурацию линий

SW4(config-aaa)#exit
SW4(config)#line vty 1 32
SW4(config-line)#

Настройки применяются к линиям VTY для удалённого доступа (SSH/Telnet).

Шаг 7: Применение методов к линиям VTY

SW4(config-line)#login authentication aaa method LOGIN_TAC
SW4(config-line)#login authorization aaa method AUTHZ_TAC
SW4(config-line)#login accounting aaa method ACCT_TAC
SW4(config-line)#enable authentication aaa method ENA_TAC
SW4(config-line)#command authorization 15 aaa method AUTHZ_TAC

Каждый аспект доступа (вход, enable, авторизация команд, учёт) привязывается к созданным методам.

Шаг 8: Активация SSH-сервера и сохранение конфигурации

SW4(config-line)#exit
SW4(config)#sshd
SW4(config)#exit
SW4#

SSH-сервер должен быть активен для применения настроек к удалённым сеансам.


Полный вывод выполненных конфигураций

Команды для copy-paste в режиме privileged EXEC:

configure
aaa
tacacs-server TAC1 ip-address 192.168.100.99 key labSharedSecret port 49 single-connection enable
tacacs-server TAC1 src-ip 192.168.100.254
tacacs-server timeout 5
server-group TACGRP tacacs-server TAC1
aaa authentication login method LOGIN_TAC server-group TACGRP local
aaa authentication enable method ENA_TAC server-group TACGRP local
aaa authorization method AUTHZ_TAC server-group TACGRP local
aaa accounting login method ACCT_TAC server-group TACGRP
exit
line vty 1 32
login authentication aaa method LOGIN_TAC
login authorization aaa method AUTHZ_TAC
login accounting aaa method ACCT_TAC
enable authentication aaa method ENA_TAC
command authorization 15 aaa method AUTHZ_TAC
exit
sshd
end

Вывод show running-config (секция AAA):

!
aaa
 tacacs-server timeout 5
 tacacs-server TAC1 ip-address 192.168.100.99 key $9$3751$12c6eea9552af22b73960897db66405f8491ab2ebe070aca
 tacacs-server TAC1 single-connection enable
 tacacs-server TAC1 src-ip 192.168.100.254
 tacacs-server TAC1 timeout 5
 server-group TACGRP tacacs-server TAC1
 aaa accounting login method ACCT_TAC server-group TACGRP
 aaa authorization  method AUTHZ_TAC server-group TACGRP local
 aaa authentication  enable method ENA_TAC server-group TACGRP local
 aaa authentication login method LOGIN_TAC server-group TACGRP local
!
line vty 1 32
 login authentication aaa method LOGIN_TAC auth-type pap
 login authorization aaa method AUTHZ_TAC
 login accounting aaa method ACCT_TAC
 enable authentication aaa method ENA_TAC
 command authorization 15 aaa method AUTHZ_TAC
!

Изучение состояния устройства

Просмотр конфигурации AAA

Проверка активной конфигурации AAA:

SW4#show aaa config
Version                             : AAA_VB3.00.00.00
!
aaa
 tacacs-server timeout 5
 tacacs-server TAC1 ip-address 192.168.100.99 key $9$B06t$fa997cdb74e63c5d73960897db66405f8491ab2ebe070aca
 tacacs-server TAC1 single-connection enable
 tacacs-server TAC1 src-ip 192.168.100.254
 server-group TACGRP tacacs-server TAC1
 aaa accounting login method ACCT_TAC server-group TACGRP
 aaa authorization  method AUTHZ_TAC server-group TACGRP local
 aaa authentication  enable method ENA_TAC server-group TACGRP local
 aaa authentication login method LOGIN_TAC server-group TACGRP local

Обратите внимание на строки:

  • tacacs-server timeout 5 — глобальный таймаут ожидания ответа
  • Server Key — отображается в зашифрованном виде (начинается с $9$)
  • single-connection enable — режим мультиплексирования сеансов

Просмотр параметров TACACS+ сервера

Статистика работы сервера:

SW4#show aaa tacacs-server TAC1 statistic
Server Name                           : TAC1
Server IP Address                     : 192.168.100.99
Server IP Instance                    : public
Server Key                            : $9$0F86$29f61390642bf63373960897db66405f8491ab2ebe070aca
Server Port                           : 49
Socket Opens                        : 12             <---- количество открытых соединений
Socket Closes                       : 12
Socket Errors                       : 0              <---- ошибки подключения
Socket Timeouts                     : 0              <---- таймауты запросов
Total Packets Sent                  : 48
Total Packets Recv                  : 48

Проверка групп серверов:

SW4#show aaa server-group
Server-group Name                  : TACGRP
  Server-group Protocol Type       : tacacs
  Primary Server                   : TAC1(192.168.100.99:49)
  Current Active Server            : TAC1(192.168.100.99:49)     <---- активный сервер

Просмотр методов AAA

Список настроенных методов:

SW4#show aaa method
Method Name                        : ACCT_TAC
  Method Apply Type                : login
  Method Apply Funtion             : accounting
  Method Local                     : disable
  Method Group List                : TACGRP

Method Name                        : AUTHZ_TAC
  Method Apply Funtion             : authorization
  Method Local                     : enable            <---- резервный метод активен
  Method Group List                : TACGRP

Method Name                        : ENA_TAC
  Method Apply Type                : enable
  Method Apply Funtion             : authentication
  Method Local                     : enable
  Method Group List                : TACGRP

Method Name                        : LOGIN_TAC
  Method Apply Type                : login
  Method Apply Funtion             : authentication
  Method Local                     : enable
  Method Group List                : TACGRP

Рекомендации выполнения команд и настроек

  1. Безопасность ключей
    • Используйте сложные shared secret длиной не менее 16 символов
    • Ключ передаётся в открытом виде при вводе, но хранится в зашифрованном формате
    • Избегайте использования одинаковых ключей для разных серверов
  2. Резервирование доступа
    • Всегда добавляйте local в методы аутентификации и авторизации для сохранения доступа при отказе TACACS+
    • Сохраняйте консольный порт с локальной аутентификацией как fallback метод
    • Не применяйте AAA к консоли до полного тестирования на VTY
  3. Мониторинг и диагностика
    • Регулярно проверяйте счётчики Socket Errors и Socket Timeouts командой show aaa tacacs-server statistic
    • На TACACS+ сервере анализируйте записи журнала учёта (accounting log) для аудита действий
    • Тестируйте аутентификацию новых пользователей перед предоставлением доступа
  4. Производительность
    • Используйте single-connection enable для снижения нагрузки на TCP-соединения
    • Настройте разумный timeout (3-10 секунд) в зависимости от задержек сети до TACACS+ сервера
    • Для нескольких серверов размещайте их в порядке приоритета в server-group
  5. Конфигурация на TACACS+ сервере
    • Устанавливайте priv-lvl = 15 в группе для предоставления полного доступа
    • Используйте команду cmd = .* { permit .* } для авторизации всех команд или настройте детальные правила
    • Тип аутентификации PAP (auth-type pap) применяется автоматически для VTY линий

История возникновения команды

Команды в данной главе применимы для:

  • Аппаратных платформ CIT серии L3200 с установленной версией ПО v1.0.2 и выше
  • Являются актуальными с версии ПО v1.0.2

Поддержка AAA с TACACS+ реализована согласно принципам разделения функций аутентификации, авторизации и учёта.


Ссылка на внешнюю документацию

RFC 8907 "The Terminal Access Controller Access-Control System Plus (TACACS+) Protocol" описывает спецификацию протокола. RFC 9887 определяет работу TACACS+ поверх TLS для защищённых соединений. При возникновении вопросов обратитесь к технической поддержке.