Схема:
Описание схемы: В качестве LDAP-Server будет использоваться slapd ldap-utils на ubuntu 20.04. В данном примере будут приведены конфигурации LDAP-server'а и маршрутизатора ESR для аутентификации пользователей, подключаемых к маршрутизатору ESR по SSH, а также для повышения привилегии пользователей с помощью enable.
1.Настройка LDAP-Server
Со стороны LDAP-Server необходимо настроить группу, а также список пользователей для аутентификации и список enable.
Пример конфигурации группы:
root@server:~# ldapmodify -D "cn=admin,dc=eltex,dc=com" -w password
dn: ou=users,dc=eltex,dc=com
changetype: add
objectClass: top
objectClass: organizationalUnit
ou: users
description: Domain Users
Пример конфигурации пользователя(таким же способом добавляем пользователя $enab15$ с паролем enable15 и gidNumber: 15):
root@server:~# ldapmodify -D "cn=admin,dc=eltex,dc=com" -w password
dn: uid=user10,ou=users,dc=eltex,dc=com
changetype: add
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: user10
sn: adm
givenName: user10
cn: user10
displayName: user10
uidNumber: 1000
gidNumber: 10
userPassword: password
gecos: user10 adm
loginShell: /bin/bash
homeDirectory: /home/test
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 через LDAP-Server необходимо создать соответствующие профиля и привязать их к SSH:
aaa authentication login LDAP ldap
aaa authentication enable LDAP ldap
line ssh
login authentication LDAP
enable authentication LDAP
exit
Настройка LDAP-Server и включение SSH:
ldap-server base-dn "ou=users,dc=eltex,dc=com"
ldap-server privilege-level-attribute "gidNumber"
ldap-server bind authenticate root-dn "cn=admin,dc=eltex,dc=com"
ldap-server bind authenticate root-password ascii-text password
ldap-server host 192.0.2.2
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 LDAP ldap
aaa authentication enable LDAP ldap
ldap-server base-dn "ou=users,dc=eltex,dc=com"
ldap-server privilege-level-attribute "gidNumber"
ldap-server bind authenticate root-dn "cn=admin,dc=eltex,dc=com"
ldap-server bind authenticate root-password ascii-text password
ldap-server host 192.0.2.2
exit
line ssh
login authentication LDAP
enable authentication LDAP
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 пользователем user10 (пароль password), а также повысим уровень привилегии до 15 с помощью enable (пароль enable15):
pc@pc:~$ ssh user10@203.0.113.1
Password: password
********************************************
* Welcome to ESR *
********************************************
ESR# show users
SID User name Logged in at Protocol Host Timers Login/Priv Level
---- -------------------- ----------------- ----------------- -------------------- ----------------- -----
0 * user10 20/09/24 08:09:48 SSH 203.0.113.1 00:29:56/00:00:00 10
1 user sessions.
ESR# enable 15
Password: enable15
ESR# show users
SID User name Logged in at Protocol Host Timers Login/Priv Level
---- -------------------- ----------------- ----------------- -------------------- ----------------- -----
0 * user10 20/09/24 08:09:48 SSH 203.0.113.1 00:29:59/00:19:59 15
1 user sessions.
4. Локальный пользователь remote (username remote) на маршрутизаторе ESR
Если в конфигурации ESR не использовать команду ldap-server privilege-level-attribute, то для авторизованных пользователей уровень привилегии будет соответствовать уровню привилегии локального пользователя username remote.
По умолчанию в конфигурации ESR пользователь remote имеет 1-ый уровень привилегии:
username remote
privilege 1
exit
Подключимся к маршрутизатору ESR по SSH пользователем user10 (пароль password), а также повысим уровень привилегии до 15 с помощью enable (пароль enable15):
pc@pc:~$ ssh user10@203.0.113.1
Password: password
********************************************
* Welcome to ESR *
********************************************
ESR> show users
SID User name Logged in at Protocol Host Timers Login/Priv Level
---- -------------------- ----------------- ----------------- -------------------- ----------------- -----
0 * user10 20/09/24 08:29:49 SSH 203.0.113.1 00:29:57/00:00:00 1
1 user sessions.
ESR> enable 15
Password: enable15
ESR# show users
SID User name Logged in at Protocol Host Timers Login/Priv Level
---- -------------------- ----------------- ----------------- -------------------- ----------------- -----
0 * user10 20/09/24 08:29:49 SSH 203.0.113.1 00:29:59/00:19:59 15
1 user sessions.