Схема:
Описание схемы: В качестве RADIUS-Server будет использоваться FreeRADIUS на ubuntu 18.04. В данном примере будут приведены конфигурации FreeRADIUS и маршрутизатора ESR для аутентификации пользователей, подключаемых к маршрутизатору ESR по SSH, а также для повышения привилегии пользователей с помощью enable.
1. Настройка FreeRADIUS
Со стороны FreeRADIUS необходимо настроить клиентов (он же ESR), а также список пользователей для аутентификации и список enable.
Клиенты настраиваются в файле clients.conf.
Пример конфигурации конкретного клиента в clients.conf:
root@user:/etc/freeradius/3.0# cat clients.conf
...
...
...
client 192.0.2.1 { secret = password
shortname = esr
}
Пример конфигурации clients.conf для любого клиента:
root@user:/etc/freeradius/3.0# cat clients.conf
...
...
...
client ALL { ipaddr = 0.0.0.0
netmask = 0
secret = password
}
Список пользователей для аутентификации и список enable для повышения привилегии пользователей настраиваются в файле users.
Пример конфигурации пользователя test с уровнем привилегии 10 и конфигурации enable для повышения уровня привилегии до 15-го:
root@user:/etc/freeradius/3.0# cat users
...
...
...
test Cleartext-Password := "password" Service-Type = Administrative-User,
cisco-avpair = "shell:priv-lvl=10"
$enab15$ Cleartext-Password := "enable15"
Service-Type = Administrative-User,
cisco-avpair = "shell: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 через RADIUS-server необходимо создать соответствующие профиля и привязать их к SSH:
aaa authentication login RADIUS radius
aaa authentication enable RADIUS radius
line ssh
login authentication RADIUS
enable authentication RADIUS
exit
Настройка RADIUS-server и включение SSH:
radius-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 RADIUS radius
aaa authentication enable RADIUS radius
radius-server host 192.0.2.2
key ascii-text password
source-address 192.0.2.1
exit
line ssh
login authentication RADIUS
enable authentication RADIUS
exit
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
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 29/02/24 09:42:21 203.0.113.2 00:29:56/00:00:00 10
1 user sessions.
ESR# enable 15
Password: enable15
ESR# show users
SID User name Logged in at Host Timers Login/Priv level
---- -------------------- ----------------- -------------------- ----------------- -----
1 * test 29/02/24 09:42:21 203.0.113.2 00:29:56/00:19:56 15
1 user sessions.
4. Локальный пользователь remote (username remote) на маршрутизаторе ESR
Если на FreeRADIUS в конфигурации пользователя не указан уровень привилегии, то при авторизации такого пользователя уровень привилегии будет соответствовать уровню привилегии локального пользователя remote.
По умолчанию в конфигурации ESR пользователь remote имеет 1-ый уровень привилегии:
username remote
privilege 1
exit
Например, создадим пользователя test1 без привилегии на FreeRADIUS в файле users:
root@user:/etc/freeradius/3.0# cat users
...
...
...
test1 Cleartext-Password := "password"
Service-Type = Administrative-User
Подключимся к маршрутизатору 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 Host Timers Login/Priv level
---- -------------------- ----------------- -------------------- ----------------- -----
0 * test1 29/02/24 12:52:54 203.0.113.2 00:29:59/00:00:00 1
1 user sessions.
ESR>
ESR>
ESR> enable 15
Password:
ESR#
ESR# show users
SID User name Logged in at Host Timers Login/Priv level
---- -------------------- ----------------- -------------------- ----------------- -----
0 * test1 29/02/24 12:52:54 203.0.113.2 00:29:58/00:19:58 15
1 user sessions.