Перейти к основному содержимому

Авторизация и аутентификация с помощью RADIUS

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

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

Данный функционал поддерживается всеми управляемыми коммутаторами SNR.

Настройка RADIUS

Рассмотрим стандартную настройку функционала

Для начала необходимо настроить RADIUS-сервер и включить AAA глобально:

radius-server authentication host <ip_addr> key <key> <password>
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-сервера аутентификация будет невозможной даже при наличии локальных учетных записей!

Также можно настроить проверку пароля enable через RADIUS-сервер. Это делается командой:

authentication enable radius local

В этом случае на RADIUS-сервере необходимо создать пользователя с логином $enab15$.


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

к сведению

Если в RADIUS-accept пакете не передавать в атрибутах уровень привилегиий, то реакция коммутаторов разных серий будет отличаться (об этом далее)

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

Передача привилегий пользователя с помощью Vendor-Specific Attribute


Рассмотрим настройку данного функционала на примере 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.