RADIUS
RADIUS - протокол для реализации аутентификации, авторизации и сбора сведений об использованных ресурсах, разработанный для передачи сведений между центральной платформой и оборудованием.
С помощью протокола RADIUS можно организовать централизованную систему авторизации и аутентификации сотрудников, которым для проведения диагностики или настройки оборудования необходим доступ на коммутаторы. Таким образом значительно упрощается сопровождение большого количества коммутаторов и постоянно обновляющегося списка пользователей.
Данный функционал поддерживается всеми управляемыми коммутаторами SNR.
Настройка RADIUS
Рассмотрим стандартную настройку функционала, которая идентична для всех коммутаторов SNR:
Для начала необходимо настроить RADIUS-сервер и включить AAA глобально:
radius-server authentication host {ip_addr} [key {key}] aaa enable
Если в качестве адреса коммутатора указывается loopback интерфейс, то необходимо применить следующую команду:
radius nas-ipv4 {ip_addr}
Затем настраиваем аутентификацию пользователей через RADIUS-сервер, при доступе через консольный порт (console), через удаленный терминал (vty ), и через WEB:
authentication line console login radius local authentication line vty login radius local authentication line web login radius local
Важно!
Аутентификация включена, теперь при вводе логина и пароля для доступа на коммутатор, данные отправляются на RADIUS-сервер, который отвечает либо подтверждением доступа, либо запретом. Если RADIUS-сервер не отвечает - используется следующий метод аутентификации (в нашей конфигурации локальный).
В такой конфигурации, после прохождения аутентификации, пользователь попадает на коммутатор в непривилегированном режим.
Важно!
Если необходимо попадать сразу в режим enable, необходимо включить авторизацию командой:
authorization line vty exec radius local
А RADIUS-сервер настроить так, чтобы в ответе access-accept приходил аттрибут service-type со значением 6.
Также можно настроить проверку пароля enable через RADIUS-сервер. Это делается командой:
authentication enable radius local
В этом случае на RADIUS-сервере необходимо создать пользователя с логином $enab15$.
Передача привилегий пользователя с помощью Vendor-Specific Attribute
Как мы узнали выше, для серий S2962, S2965, S2982G, S2985G, S2989G, S2995G и S3850G поддерживается управление уровнем доступа (level 1-15) с помощью vendor-specific атрибута.
Рассмотрим настройку данного функционала на примере RADIUS-сервера на основе пакета freeradius:
В директории freeradius создаем файл (словарь) /usr/share/freeradius/dictionary.snr со следующим содержимым:
VENDOR SNR 40418 BEGIN-VENDOR SNR ATTRIBUTE SNR-User-Priv 240 integer END-VENDOR SNR
В конфигурационный файл /usr/share/freeradius/dictionary добавляем созданный нами словарь:
$INCLUDE /usr/share/freeradius/dictionary.snr
В файле /etc/freeradius/users создаем пользователя с необходимым уровнем привилегий (1-15):
user Cleartext-Password := "password" SNR-User-Priv = 1
В данном случае пользователь 'user' будет авторизован с уровнем привилегий - 1.
Важно!
Для использования данного функционала версия ПО для серий S2962, S2965, S2982G, S2985G должна быть не ниже 7.0.3.5(R0241.0290), а для серий S2995G и S3850G - не ниже 7.5.3.2(R0004.0152).