Настройка авторизации
Описание и назначение функции
Модуль 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
Рекомендации выполнения команд и настроек
- Безопасность ключей
- Используйте сложные shared secret длиной не менее 16 символов
- Ключ передаётся в открытом виде при вводе, но хранится в зашифрованном формате
- Избегайте использования одинаковых ключей для разных серверов
- Резервирование доступа
- Всегда добавляйте
localв методы аутентификации и авторизации для сохранения доступа при отказе TACACS+ - Сохраняйте консольный порт с локальной аутентификацией как fallback метод
- Не применяйте AAA к консоли до полного тестирования на VTY
- Всегда добавляйте
- Мониторинг и диагностика
- Регулярно проверяйте счётчики
Socket ErrorsиSocket Timeoutsкомандойshow aaa tacacs-server statistic - На TACACS+ сервере анализируйте записи журнала учёта (accounting log) для аудита действий
- Тестируйте аутентификацию новых пользователей перед предоставлением доступа
- Регулярно проверяйте счётчики
- Производительность
- Используйте
single-connection enableдля снижения нагрузки на TCP-соединения - Настройте разумный timeout (3-10 секунд) в зависимости от задержек сети до TACACS+ сервера
- Для нескольких серверов размещайте их в порядке приоритета в server-group
- Используйте
- Конфигурация на 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 для защищённых соединений. При возникновении вопросов обратитесь к технической поддержке.