Описание схемы:
В качестве TACACS-Server будет использоваться TACACS Plus на Ubuntu 20.04. В данном примере будут приведены конфигурации TACACS Plus и маршрутизатора ESR для авторизации команд подключаемых к маршрутизатору ESR по SSH. В качестве примера создадим пользователя "user" и запретим ему выполнение команды "show system".
Маршрутизатор ESR, в отличие от других венторов, транслирует на сервер Tacacs команду и параметры одним аргументом. Например "show system" или "show version" - полные команды без аргументов. Для этого необходимо конфигурационный файл tacacs настроить так, чтобы он понимал две команды как один аргумент.
1. Настройка TACACS Plus:
Со стороны TACACS Plus необходимо указать ключ для клиентов, а также список пользователей для аутентификации.
Ключ для подключения клиентов, как и список разрешаемых/запрещаемых команд настраивается в файле tac_plus.conf.
Пример настройки ключа (key), а также пример конфигурации пользователя user с уровнем привилегии 15 и установкой запрета выполнения команды "show system":
root@user:~# cat /etc/tacacs+/tac_plus.conf
{
.........
key = tacacskey
.........
}
group = show-user {
service = shell {
set priv-lvl = 15
cmd = "show system" { deny "" }
default command = permit
}
user = user {
password = clear password
member = show-user
}
2. Исходная настройка маршрутизатора ESR:
security zone trusted exit security zone untrusted exit interface gigabitethernet 1/0/1 security-zone trusted ip address 192.168.39.2/30 exit interface gigabitethernet 1/0/2 security-zone untrusted ip address 192.168.32.2/30 exit
Для аутентификации пользователей SSH, а также настройки авторизации команд через TACACS-server, необходимо создать соответствующие профиля и привязать их к SSH. Функция mode break задаёт последовательность методов авторизации, которые будут использоваться следующими в случае недоступности более приоритетного :
aaa authentication login TACACS tacacs aaa authorization mode break aaa authorization commands TACACS tacacs local line ssh login authentication TACACS commands authorization TACACS exit
Настройка TACACS-server и включение SSH:
tacacs-server host 192.168.39.1 key ascii-text tacacskey source-address 192.168.39.2 exit
Пример настройки Firewall для подключения по SSH (разрешим маршрутизатору (зона self) обрабатывать входящие пакеты из зоны untrusted на dest.port 22 протокола TCP):
object-group service SSH_PORT port-range 22 exit security zone-pair untrusted self rule 1 action permit match protocol tcp match destination-port object-group SSH_PORT enable exit exit
Итоговая конфигурация:
object-group service SSH_PORT port-range 22 exit aaa authentication login TACACS tacacs aaa authorization mode break aaa authorization commands TACACS tacacs local tacacs-server host 192.168.39.1 key ascii-text tacacskey source-address 192.168.39.2 exit line ssh login authentication TACACS commands authorization TACACS exit security zone trusted exit security zone untrusted exit interface gigabitethernet 1/0/1 security-zone trusted ip address 192.168.39.2/30 exit interface gigabitethernet 1/0/2 security-zone untrusted ip address 192.168.32.2/30 exit security zone-pair untrusted self rule 1 action permit match protocol tcp match destination-port object-group SSH_PORT enable exit exit ip ssh server
3. Диагностика выполненных действий:
Подключимся с ПК к маршрутизатору ESR по SSH пользователем user (пароль password) и проверим запрет на выполнение команды "show system":
root@user:/$ ssh user@192.168.32.2 Password: password ******************************************** * Welcome to ESR-15R * ******************************************** esr# show users SID User name Logged in at Protocol Host Timers Login/Priv Level ---- -------------------- ------------------- ------------------- -------------------- ----------------- ----- 1 * user 2026-06-12 11:04:15 SSH 192.168.32.1 00:29:58/00:00:00 15 1 user sessions. esr# show aaa tacacs-servers Timeout: 3 DSCP: 63 Host Description Port Priority VRF Source Key ---------------- -------------------- ------ -------- ---------------- ---------------- -------------------- 192.168.39.1 49 1 -- 192.168.39.2 9FBD106EBF1B49F8851D esr# show system Error: Command authorization failed esr# show version Boot version: 1.37.4.2 (2025-12-03 14:29:33) SW version: 1.37.4 build 2[4b06f2c798] (2025-12-03 14:25:53) HW version: 1v2
