Настройка TACACS+
Описание и назначение функции
TACACS+ (Terminal Access Controller Access-Control System Plus) обеспечивает централизованное управление доступом к сетевому оборудованию через внешние серверы. Протокол использует TCP порт 49 и шифрует все содержимое пакета, включая команды и параметры. Коммутатор CIT L3200 поддерживает раздельную настройку аутентификации, авторизации и учета действий пользователей.
Основные сценарии использования:
- Централизованная аутентификация администраторов при подключении по SSH или Telnet
- Разграничение доступа к командам на основе уровня привилегий пользователя
- Регистрация всех выполненных команд для аудита и расследования инцидентов
- Переход в привилегированный режим (enable) с проверкой прав через внешний сервер
Протокол рекомендуется использовать в производственных средах с высокими требованиями к безопасности и необходимостью детального учета действий администраторов.
Необходимые условия и предварительные требования
Для настройки TACACS+ требуется:
- Доступный TACACS+ сервер (tac_plus, Cisco ISE, ACS или аналогичный)
- Сетевая связность между коммутатором и сервером (проверьте командой
ping) - Общий секретный ключ (shared secret), согласованный с администратором сервера
- Версия ПО: v1.0.2 и выше (серия CIT L3200)
- Настроенный management-интерфейс или VLAN для source IP коммутатора
Примечание: Сервер TACACS+ должен быть настроен с учетной записью пользователя и правами до начала конфигурирования коммутатора. Убедитесь, что секретный ключ содержит достаточно энтропии для обеспечения безопасности.
Назначение команд конфигурации
| Команда | Режим | Назначение |
|---|---|---|
tacacs-server <имя> ip-address <адрес> key <ключ> port <порт> |
AAA config | Создание экземпляра TACACS+ сервера с IP-адресом, секретным ключом и портом |
tacacs-server <имя> src-ip <адрес> |
AAA config | Указание source IP для исходящих соединений с сервером |
tacacs-server <имя> single-connection enable |
AAA config | Активация режима мультиплексирования сессий через одно TCP-соединение |
tacacs-server timeout <секунды> |
AAA config | Установка глобального таймаута ожидания ответа от сервера |
server-group <имя> tacacs-server <имя_сервера> |
AAA config | Создание группы серверов и привязка к ней TACACS+ сервера |
aaa authentication login method <имя> server-group <группа> local |
AAA config | Определение метода аутентификации входа с fallback на локальную базу |
aaa authentication enable method <имя> server-group <группа> local |
AAA config | Определение метода аутентификации для команды enable |
aaa authorization method <имя> server-group <группа> local |
AAA config | Определение метода авторизации команд |
aaa accounting login method <имя> server-group <группа> |
AAA config | Определение метода учета сессий и команд |
login authentication aaa method <имя> |
Line config | Применение метода аутентификации к линиям VTY |
login authorization aaa method <имя> |
Line config | Применение метода авторизации к линиям VTY |
login accounting aaa method <имя> |
Line config | Применение метода учета к линиям VTY |
enable authentication aaa method <имя> |
Line config | Применение метода аутентификации для enable на линиях VTY |
command authorization 15 aaa method <имя> |
Line config | Применение авторизации команд уровня привилегий 15 |
Команды настраивают полный цикл AAA с использованием TACACS+ в качестве primary метода и локальной базы как резервного варианта.
Пример конфигурирования
Пошаговые инструкции
Шаг 1: Проверка сетевой связности
SW4#ping 192.168.100.99
PING 192.168.100.99: 64 data bytes
Reply from 192.168.100.99: bytes=64 time<1ms TTL=64
2 packets transmitted, 2 packets received, 0% packet loss
Убедитесь, что TACACS+ сервер доступен по сети.
Шаг 2: Вход в режим конфигурации AAA
SW4#configure
SW4(config)#aaa
SW4(config-aaa)#
Все команды TACACS+ настраиваются в подрежиме AAA.
Шаг 3: Создание экземпляра TACACS+ сервера
SW4(config-aaa)#tacacs-server TAC1 ip-address 192.168.100.99 key labSharedSecret port 49 single-connection enable
Команда создает сервер TAC1 с адресом 192.168.100.99, секретным ключом labSharedSecret, портом 49 и включает режим single-connection.
Шаг 4: Настройка source IP адреса
SW4(config-aaa)#tacacs-server TAC1 src-ip 192.168.100.254
Коммутатор будет использовать адрес 192.168.100.254 в качестве source IP при подключении к серверу.
Шаг 5: Установка таймаута
SW4(config-aaa)#tacacs-server timeout 5
Глобальный таймаут ожидания ответа устанавливается в 5 секунд.
Шаг 6: Создание группы серверов
SW4(config-aaa)#server-group TACGRP tacacs-server TAC1
Группа TACGRP содержит сервер TAC1 и может быть расширена дополнительными серверами для резервирования.
Шаг 7: Настройка методов аутентификации
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
Метод LOGIN_TAC проверяет пользователей через TACGRP, при недоступности сервера переключается на локальную базу.
Шаг 8: Настройка метода авторизации
SW4(config-aaa)#aaa authorization method AUTHZ_TAC server-group TACGRP local
Метод AUTHZ_TAC определяет разрешенные команды через сервер с fallback на локальные права.
Шаг 9: Настройка метода учета
SW4(config-aaa)#aaa accounting login method ACCT_TAC server-group TACGRP
Метод ACCT_TAC регистрирует события входа и выполненные команды на сервере.
Шаг 10: Применение методов к линиям VTY
SW4(config)#line vty 1 32
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
Все методы AAA применяются к VTY-линиям 1-32 для SSH/Telnet сессий.
Полный вывод выполненных конфигураций
Команды для copy-paste в режиме privileged EXEC:
configure
aaa
tacacs-server timeout 5
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 TAC1 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 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
end
Вывод show running-config:
!
aaa
tacacs-server timeout 5
tacacs-server TAC1 ip-address 192.168.100.99 key $9$3751$***
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:
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$***
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 TAC1 ip-address— IP-адрес сервера и зашифрованный ключserver-group TACGRP tacacs-server TAC1— привязка сервера к группе
Просмотр параметров работы
Проверка статистики 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$*** <---- ключ зашифрован
Server Port : 49 <---- стандартный порт
Socket Opens : 0
Socket Closes : 0
Socket Errors : 0 <---- нет ошибок соединения
Socket Timeouts : 0 <---- нет таймаутов
Total Packets Sent : 0
Total Packets Recv : 0
Проверка конфигурации группы серверов:
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 <---- нет локального fallback для учета
Method Group List : TACGRP
Method Name : AUTHZ_TAC
Method Apply Funtion : authorization
Method Local : enable <---- fallback на локальную авторизацию
Method Group List : TACGRP
Method Name : ENA_TAC
Method Apply Type : enable
Method Apply Funtion : authentication
Method Local : enable <---- fallback на локальную аутентификацию
Method Group List : TACGRP
Method Name : LOGIN_TAC
Method Apply Type : login
Method Apply Funtion : authentication
Method Local : enable
Method Group List : TACGRP
Рекомендации выполнения команд и настроек
- Безопасность секретного ключа
- Используйте ключи длиной не менее 16 символов с высокой энтропией
- Применяйте различные ключи для разных устройств или групп устройств
- Регулярно ротируйте ключи согласно политике безопасности организации
- Резервирование и отказоустойчивость
- Настройте минимум два TACACS+ сервера в группе для обеспечения доступности
- Оставляйте параметр
localв методах аутентификации для доступа при сбое всех серверов - Размещайте серверы в разных сегментах сети для защиты от локальных сбоев
- Управление таймаутами
- Значение таймаута 5 секунд оптимально для большинства сетей
- В высоколатентных каналах увеличьте таймаут до 10-15 секунд
- Минимизируйте таймауты в критичных сегментах для быстрого переключения на резервный сервер
- Source IP и маршрутизация
- Указывайте src-ip из management VLAN для изоляции служебного трафика
- Убедитесь, что указанный src-ip маршрутизируется до TACACS+ сервера
- Настройте ACL на сервере для приема подключений только от известных source IP
История возникновения команды
Команды в данной главе применимы для:
- Аппаратных платформ CIT серии L3200 с установленной версией ПО v1.0.2 и выше
- Являются актуальными с версии ПО v1.0.2
Протокол TACACS+ был стандартизирован IETF в сентябре 2020 года в RFC 8907.
Ссылка на внешнюю документацию
RFC 8907 — The Terminal Access Controller Access-Control System Plus (TACACS+) Protocol. При возникновении вопросов обратитесь к технической поддержке.