Схема:
Описание схемы: В качестве 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 trusted
exit
security zone untrusted
exit
interface gigabitethernet 1/0/1
security-zone trusted
ip address 192.0.2.1/30
exit
interface gigabitethernet 1/0/2
security-zone untrusted
ip address 203.0.113.1/30
exit
Для аутентификации пользователей SSH, а также enable для повышения уровня привилегии для пользователей SSH через TACACS-server необходимо создать соответствующие профиля и привязать их к SSH:
aaa authentication login TACACS tacacs
aaa authentication enable TACACS tacacs
line ssh
login authentication TACACS
enable authentication TACACS
exit
Настройка TACACS-server и включение SSH:
tacacs-server host 192.0.2.2
key ascii-text password
source-address 192.0.2.1
exit
ip ssh server
Пример настройки 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 SSH_PORT
enable
exit
exit
Итоговая конфигурация:
ESR# show running-config
object-group service SSH_PORT
port-range 22
exit
aaa authentication login TACACS tacacs
aaa authentication enable TACACS tacacs
tacacs-server host 192.0.2.2
key ascii-text password
source-address 192.0.2.1
exit
line ssh
login authentication TACACS
enable authentication TACACS
exit
security zone trusted
exit
security zone untrusted
exit
interface gigabitethernet 1/0/1
security-zone trusted
ip address 192.0.2.1/24
exit
interface gigabitethernet 1/0/2
security-zone untrusted
ip address 203.0.113.1/30
exit
security zone-pair untrusted self
rule 1
action permit
match protocol tcp
match destination-port SSH_PORT
enable
exit
exit
ip ssh server
3. Вывод оперативных команд при подключении к маршрутизатору ESR
Подключимся к маршрутизатору ESR по SSH пользователем test (пароль password), а также повысим уровень привилегии до 15 с помощью enable (пароль enable15):
Router# ssh test 203.0.113.1
Password: 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 15
Password: enable15
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:56/00:19:56 15
1 user sessions.
4. Локальный пользователь remote (username remote) на маршрутизаторе ESR
Если на TACACS Plus в конфигурации пользователя не указан уровень привилегии, то при авторизации такого пользователя уровень привилегии будет соответствовать уровню привилегии локального пользователя remote.
По умолчанию в конфигурации ESR пользователь remote имеет 1-ый уровень привилегии:
username remote
privilege 1
exit
Например, создадим пользователя 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.1
Password: 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 15
Password: enable15
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:57/00:19:57 15
1 user sessions.