RADIUS - протокол для реализации аутентификации, авторизации и сбора сведений об использованных ресурсах, разработанный для передачи сведений между центральной платформой и оборудованием.
С помощью протокола RADIUS можно организовать централизованную систему авторизации и аутентификации сотрудников, которым для проведения диагностики или настройки оборудования необходим доступ на коммутаторы. Таким образом значительно упрощается сопровождение большого количества коммутаторов и постоянно обновляющегося списка пользователей.
Настройка RADIUS
Рассмотрим стандартную настройку функционала:
Для начала необходимо настроить RADIUS-сервер в режиме глобальной конфигурации:
Code Block |
---|
|
SNR-S5210(config)#radius-server authentication host {ip_addr} key {key} string |
Затем настраиваем аутентификацию пользователей через RADIUS-сервер, при доступе через консольный порт (console) и telnet/ssh (remote):
Code Block |
---|
|
SNR-S5210(config)#aaa authentication login remote group radius
SNR-S5210(config)#aaa authentication login console group radius local
SNR-S5210(config)#aaa authentication enable group radius local |
Аутентификация включена, теперь при вводе логина и пароля для доступа на коммутатор, данные отправляются на RADIUS-сервер, который отвечает либо подтверждением доступа, либо запретом. Если RADIUS-сервер не отвечает - используется следующий метод аутентификации (в нашей конфигурации локальный).
Передача привилегий пользователя с помощью Vendor-Specific Attribute
Серия S5210 поддерживает управление уровнем доступа (level 1,10,15) с помощью vendor-specific атрибута.
Рассмотрим настройку данного функционала на примере RADIUS-сервера на основе пакета freeradius:
В директории freeradius создаем файл (словарь) /usr/share/freeradius/dictionary.snr со следующим содержимым:
Code Block |
---|
|
VENDOR SNR 40418
BEGIN-VENDOR SNR
ATTRIBUTE SNR-User-Priv 240 integer
END-VENDOR SNR |
В конфигурационный файл /etc/share/freeradius/dictionary добавляем созданный нами словарь:
Code Block |
---|
|
$INCLUDE /usr/share/freeradius/dictionary.snr |
В файле /etc/freeradius/users создаем пользователя с необходимым уровнем привилегий (1,10,15):
Code Block |
---|
|
user Cleartext-Password := "password"
SNR-User-Priv = 10 |
В данном примере пользователь 'user' будет авторизован с уровнем привилегий - 10 (network-operator)
Info |
---|
|
Необходимо добавить local после radius, иначе при недоступности RADIUS-сервера аутентификация будет невозможной даже при наличии локальных учетных записей! |