Начиная с версии 1.6.3750 WNAM с лицензией корпоративной авторизации позволяет полноценно управлять административным доступом к оборудованию с авторизацией по протоколу RADIUS.
Большинство серверов доступа (NAS) поддерживают авторизацию по протоколу TACACS+, работа с которым настраивается посредством списков пользователей-администраторов, их групп, и профилей. Авторизация TACACS+ не использует правил аутентификации/авторизации и в целом механизмы подсистемы корпоративной авторизации (MAB, EAP, профилирование и т.п.).
Вместе с тем существует некоторое сетевое оборудование, не поддерживающее протокол TACACS+. Для централизованного управления авторизацией административного доступа применяется протокол RADIUS. Например, так работает оборудование CheckPoint. Авторизация такого рода ведется через отправку логина и пароля в RADIUS-запросе от оборудования; применяется Plaintext (PAP) авторизация, что безопасно из-за надежного шифрования передаваемого пароля администратора. Рассмотрим пример настройки авторизации двух типов пользователей на устройстве CheckPoint. При этом необходимо иметь в виду следующие правила:
- Авторизация на CheckPoint с назначением прав и ролей выполняется путем передачи RADIUS-атрибутов, как описано в данной статье
- Требуемые RADIUS-атрибуты уже включены в словарь WNAM
- При подключении пользователя система WNAM сначала отрабатывает правила аутентификации (стандартно для RADIUS), а затем, при необходимости - профили администраторов
- Поскольку в полях запроса Identity/Calling-Station-Id нет никакого МАС-адреса, то данный тип авторизации не обрабатывает эндпоинты (нет лимитов по лицензиям)
- Тип сервера доступа, который должен быть настроен в системе WNAM можно выбрать произвольный, но желательно "LAN Switch"
Для устройств Aruba применяйте другие атрибуты, как описано здесь, например Service-Type=6 или Aruba-Priv-Admin-User=15 или Aruba-Admin-Role=admin.
Для оборудования других производителей смотрите вендорскую документацию на RADIUS-авторизацию административного доступа.
Допустим, что необходимо настроить авторизацию подключения пользователей из сети 172.16.130.0/24 к устройству 172.16.130.13, при этом:
- для пользователя pupkin, который находится в локальной БД системы WNAM в специальной группе, устанавливается роль оператора
- для пользователя wifitest, который находится в домене ActiveDirectory "lab.wnam.ru" в заданной группе, устанавливается роль администратора
Этапы настройки WNAM таковы:
- Создание сервера доступа типа LAN Switch с адресом (NAS-IP-Address) 172.16.130.13 и RADIUS-ключом secret:
- Создание какой-либо площадки с выбранным сервером доступа (явно, или в иерархии подразделений)
- Создание подключения к службе каталога с настройкой ADCTool на взаимодействие с доменом lab.wnam.ru с выбором интересующих доменных групп
- Создание RADIUS-правила аутентификации ("Конфигурация - Правила аутентификации") в режиме, переводящем проверку на подсистему контроля администраторов оборудования:
- Создать учетную запись пользователя pupkin ("Конфигурация-Администрирование оборудования-Администраторы оборудования"), отметив в нем возможность RADIUS-авторизации:
- Поместить эту учетную запись в локальную группу операторов ("Конфигурация-Администрирование оборудования-Группы администраторов"):
- Создать первый профиль для операторов с выбором сервера доступа, источника запросов, группы ("Конфигурация-Администрирование оборудования-Профили администраторов").
Необходимо также указать перечень добавляемых в ответ атрибутов: - Создать второй профиль для администраторов, выбрав в нём источник авторизационных данных - домен службы каталога (опционально: группу и другие фильтры). Добавить другой набор значений атрибутов):
Можно тестировать подключение пользователя.
1. При использовании локальной учетной записи администратора:
root@debian64:~# echo User-Name=pupkin,User-Password=pupkin,NAS-IP-Address=172.16.130.13,NAS-Port-Type=Virtual,Calling-Station-Id=172.16.130.5 | radclient -x -n 1 -t 10 172.16.130.5 auth secret
Sent Access-Request Id 215 from 0.0.0.0:47714 to 172.16.130.5:1812 length 72
User-Name = "pupkin"
User-Password = "pupkin"
NAS-IP-Address = 172.16.130.13
NAS-Port-Type = Virtual
Calling-Station-Id = "172.16.130.5"
Cleartext-Password = "pupkin"
Received Access-Accept Id 215 from 172.16.130.5:1812 to 172.16.130.13:47714 length 51
CP-Gaia-User-Role = "monitorRole"
CP-Gaia-SuperUser-Access = 0
В разделе "Диагностика-Корпоративные подключения" появится запись:
В детальном логе в этом окне, в том числе:
00.015 filterForA1Method - single candidate left: 'CheckPoint test'
00.016 filterForPapMacMethod - MAC state: exist: false, expired: false
00.022 local-admins-profiles - radius auth: username: 'pupkin', password: ***, from: 172.16.130.5
00.022 local-admins-profiles - getAuthentication found local user, enabled: true, r+ allowed: true
00.022 local-admins-profiles - !!! WNAM admin or local user is found; don't request AD for domain profile: CheckPoint Super
00.022 local-admins-profiles - getAuthentication pcandidates left: 1
00.022 local-admins-profiles - getAuthentication profile 'CheckPoint Operator R/O'
00.022 filterForPapMacMethod - CheckLocalAdminProfiles user 'pupkin' matched, state: OK_SKIP, admin profile: 'CheckPoint Operator R/O'
2. При использовании доменной учетной записи администратора:
root@debian64:~# echo User-Name=wifitest,User-Password=wifitest,NAS-IP-Address=172.16.130.13,NAS-Port-Type=Virtual,Calling-Station-Id=172.16.130.5 | radclient -x -n 1 -t 10 172.16.130.5 auth secret
Sent Access-Request Id 240 from 0.0.0.0:41290 to 172.16.130.5:1812 length 74
User-Name = "wifitest"
User-Password = "wifitest"
NAS-IP-Address = 172.16.130.13
NAS-Port-Type = Virtual
Calling-Station-Id = "172.16.130.5"
Cleartext-Password = "wifitest"
Received Access-Accept Id 240 from 172.16.130.5:1812 to 172.16.130.13:41290 length 49
CP-Gaia-User-Role = "adminRole"
CP-Gaia-SuperUser-Access = 1
В разделе "Диагностика-Корпоративные подключения" появится запись:
В детальном логе в этом окне, в том числе:
00.470 local-admins-profiles - radius auth: username: 'wifitest', password: ***, from: 172.16.130.5
00.470 local-admins-profiles - getAuthentication prio=42, method=ACTIVE_DIRECTORY, pcandidate=CheckPoint Super
00.470 local-admins-profiles - getAuthentication checkInDomain lab.wnam.ru, group_list=2 groups for that user
00.470 local-admins-profiles - getAuthentication groupcheck 'wifitest' domain lab.wnam.ru groups: [Wi-Fi Test Users, DnsAdmins]
00.470 local-admins-profiles - getAuthentication groupcheck membership matched user in group 'Wi-Fi Test Users'
00.470 local-admins-profiles - getAuthentication pcandidates left: 1
00.470 local-admins-profiles - getAuthentication profile 'CheckPoint Super'
00.470 local-admins-profiles - getAuthentication resulting profile is for ACTIVE_DIRECTORY, password and groups are checked
00.470 filterForPapMacMethod - CheckLocalAdminProfiles user 'wifitest' matched, state: OK_SKIP, admin profile: 'CheckPoint Super'
3. При попытке неуспешной авторизации (неправильный пароль, неправильное членство в группе и т.п) будет отображен ошибочный статус:
Calling-Station-Id = "172.16.130.5"
Cleartext-Password = "wifitest1"
Received Access-Reject Id 226 from 172.16.130.5:1812 to 172.16.130.13:48626 length 20
и детальное сообщение в логе:
00.097 local-admins-profiles - getAuthentication prio=42, method=ACTIVE_DIRECTORY, pcandidate=CheckPoint Super
00.097 local-admins-profiles - getAuthentication checkInDomain lab.wnam.ru, group_list=password check failed
00.097 local-admins-profiles - getAuthentication pcandidates left: 0
00.097 local-admins-profiles - profile matching, no candidates left, fail
00.097 trace - filterForPapMacMethod profile 'CheckPoint test', pass_profile=false, identity_rule=LocalAdmin
00.097 filterForPapMacMethod - removed 'CheckPoint test', mismatch in identity sources