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


Необходимо добавить local после radius, иначе при недоступности RADIUS-сервера аутентификация будет невозможной даже при наличии локальных учетных записей!

Аутентификация включена, теперь при вводе логина и пароля для доступа на коммутатор, данные отправляются на RADIUS-сервер, который отвечает либо подтверждением доступа, либо запретом. Если RADIUS-сервер не отвечает - используется следующий метод аутентификации (в нашей конфигурации локальный).

В такой конфигурации, после прохождения аутентификации, пользователь попадает на коммутатор в непривилегированном режим.

Для серий S2962, S2965, S2982G, S2985G, S2995G и S3850G управление уровнем доступа осуществляется с помощью vendor-specific атрибута, поэтому, в случае если этот атрибут не указан, пользователь попадает в привилегированный режим.

Если необходимо попадать сразу в режим 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).