Схема:
Описание схемы: В качестве TACACS-Server будет использоваться TACACS Plus на Ubuntu 18.04. В данном примере будут приведены конфигурации TACACS Plus и маршрутизатора ESR для аутентификации пользователей, подключаемых к маршрутизатору ESR по SSH, а также для повышения привилегии пользователей с помощью enable.
1. Настройка TACACS Plus
Со стороны TACACS Plus необходимо указать ключ для клиентов (он же ESR), а также список пользователей для аутентификации и список enable.
Ключ для подключения клиентов, как и список пользователей/enable настраивается в файле tac_plus.conf.
Пример настройки ключа (key), а также пример конфигурации пользователя test с уровнем привилегии 10 и конфигурации enable для повышения уровня привилегии до 15-го:
root@user:~# cat /etc/tacacs+/tac_plus.conf...key = password...
user = test { login = cleartext "password" service = exec { priv-lvl = 10 }}
user = $enab15$ { login = cleartext "enable15" service = exec { priv-lvl = 15 }}
2. Настройка маршрутизатора ESR
Исходная конфигурация интерфейсов:
security zone trustedexitsecurity zone untrustedexit
interface gigabitethernet 1/0/1 security-zone trusted ip address 192.0.2.1/30exitinterface gigabitethernet 1/0/2 security-zone untrusted ip address 203.0.113.1/30exit
Для аутентификации пользователей SSH, а также enable для повышения уровня привилегии для пользователей SSH через TACACS-server необходимо создать соответствующие профиля и привязать их к SSH:
aaa authentication login TACACS tacacsaaa authentication enable TACACS tacacsline ssh login authentication TACACS enable authentication TACACSexit
Настройка TACACS-server и включение SSH:
tacacs-server host 192.0.2.2 key ascii-text password source-address 192.0.2.1exitip ssh server
Пример настройки Firewall для подключения по SSH (разрешим маршрутизатору (зона self) обрабатывать входящие пакеты из зоны untrusted на dest.port 22 протокола TCP):
object-group service SSH_PORT port-range 22exitsecurity zone-pair untrusted self rule 1 action permit match protocol tcp match destination-port object-group SSH_PORT enable exitexit
Итоговая конфигурация:
ESR# show running-config object-group service SSH_PORT port-range 22exit
aaa authentication login TACACS tacacsaaa authentication enable TACACS tacacstacacs-server host 192.0.2.2 key ascii-text password source-address 192.0.2.1exitline ssh login authentication TACACS enable authentication TACACSexit
security zone trustedexitsecurity zone untrustedexit
interface gigabitethernet 1/0/1 security-zone trusted ip address 192.0.2.1/24exitinterface gigabitethernet 1/0/2 security-zone untrusted ip address 203.0.113.1/30exitsecurity zone-pair untrusted self rule 1 action permit match protocol tcp match destination-port object-group SSH_PORT enable exitexit
ip ssh server
3. Вывод оперативных команд при подключении к маршрутизатору ESR
Подключимся к маршрутизатору ESR по SSH пользователем test (пароль password), а также повысим уровень привилегии до 15 с помощью enable (пароль enable15):
Router# ssh test 203.0.113.1Password: password
********************************************* Welcome to ESR *********************************************
ESR# show users SID User name Logged in at Host Timers Login/Priv level ---- -------------------- ----------------- -------------------- ----------------- ----- 1 * test 19/03/24 03:26:42 203.0.113.2 00:29:58/00:00:00 10
1 user sessions.ESR# enable 15Password: enable15ESR# ESR# show users SID User name Logged in at Host Timers Login/Priv level ---- -------------------- ----------------- -------------------- ----------------- ----- 1 * test 19/03/24 03:26:42 203.0.113.2 00:29:56/00:19:56 15
1 user sessions.
4. Локальный пользователь remote (username remote) на маршрутизаторе ESR
Если на TACACS Plus в конфигурации пользователя не указан уровень привилегии, то при авторизации такого пользователя уровень привилегии будет соответствовать уровню привилегии локального пользователя remote.
С версии ПО 1.34.6 убрали пользователя username remote и вместо данного пользователя ввели отдельную команду:esr(config)# aaa authorization remote user privilege ? 1-15 Privilege level
По умолчанию в конфигурации ESR пользователь remote имеет 1-ый уровень привилегии:
username remote privilege 1exit
Например, создадим пользователя test1 без привилегии на TACACS Plus в файле tac_plus.conf:
root@user:~# cat /etc/tacacs+/tac_plus.conf...key = password...
user = test1 { login = cleartext "password"}
user = $enab15$ { login = cleartext "enable15" service = exec { priv-lvl = 15 }}
Подключимся к маршрутизатору ESR по SSH пользователем test1 (пароль password), а также повысим уровень привилегии до 15 с помощью enable (пароль enable15):
Router# ssh test1 203.0.113.1Password: password
********************************************* Welcome to ESR *********************************************
ESR> show users SID User name Logged in at Protocol Host Timers Login/Priv Level ---- -------------------- ----------------- ----------------- -------------------- ----------------- ----- 1 * test1 19/03/24 04:31:47 SSH 203.0.113.2 00:29:58/00:00:00 1
1 user sessions.ESR> ESR> enable 15Password: enable15ESR# ESR# show users SID User name Logged in at Protocol Host Timers Login/Priv Level ---- -------------------- ----------------- ----------------- -------------------- ----------------- ----- 1 * test1 19/03/24 04:31:47 SSH 203.0.113.2 00:29:57/00:19:57 15
1 user sessions.
