Если в организации имеется большое количество сетевых устройств, таких как маршрутизаторы, коммутаторы, сетевые принтеры, контроллеры управления ИБП и др., – рано или поздно может встать вопрос о централизации управления этими устройствами. Понятие централизации управления в данном контексте является очень широким и мы в данной заметке рассмотрим одну из его составляющих – централизация функций аутентификации/авторизации/контроля доступа к этим устройствам. Реализацию этих функций можно найти в программных и программно-аппаратных вариантах у разных производителей оборудования, но если речь идёт об унификации этих функций в парке устройств разных производителей, - на помощь нам приходит протокол RADIUS. Любой уважающий себя производитель сетевого оборудования имеет на сегодня для своих устройств поддержку этого протокола.
Рассмотрим на практике случай, когда в организации имеется некоторое количество источников бесперебойного питания (ИБП) фирмы APC с установленными в них контроллерами управления APC Web/SNMP Management card.
Для сетевого доступа на каждый из таких контроллеров, как правило, используются встроенные в эти контроллеры учетные записи пользователей трёх категорий доступа:
- Полный административный доступ
- Доступ на чтение с функциями управления клиентами ИБП
- Доступ “только на чтение”
Встроенная в эти контроллеры поддержка протокола RADIUS позволит нам использовать вместо встроенной аутентификации аутентификацию на основе учетных записей Active Directory. Чтобы реализовать этот механизм поэтапно рассмотрим процесс установки/настройки сервера RADIUS на базе Windows Server 2008 R2 и последующей настройки ИБП.В качестве аппаратных исходных данных будут выступать ИБП APC с установленными контроллерами управления:
APC AP9619 Web/SNMP Management card
Hardware Revision: A10
Application Module - sumx - v3.7.2 - 02/02/2010
APC OS (AOS) - aos - v3.7.3 - 02/02/2010
Этап #1. Установка и активация сервера RADIUS
Итак, поднимаем виртуальный сервер с Windows Server 2008 R2 SP1 на борту, устанавливаем на него все текущие обновления с WSUS. В нашем случае имя сервера будет KOM-AD01-NPS01.
На этом сервере открываем оснастку Server Manager, переходим в раздел Roles и в секции Role Summary вызываем мастер добавления ролей - Add Roles
В открывшемся мастере на шаге выбора ролей отмечаем роль Network Policy and Access Services.
На шаге выбора служб роли в нашей ситуации достаточно будет выбрать только службу Network Policy Server.
После того как установка роли успешно завершена, открываем оснастку Network Policy Server (nps.msc) через Панель управления > Administrative Tools
Для начала использования нужных нам функций сервера в доменной инфраструктуре необходимо провести его регистрацию в AD. Для этого в корне консоли правой кнопкой мыши откроем контекстное меню и выберем пункт меню Register server in Active Directory
При этом мы должны подтвердить наше намерение дать серверу полномочия в домене на чтение свойств учётных записей пользователей, касающихся удалённого доступа.
Этап #2. Добавление клиентов на сервер RADIUS
Теперь нам нужно внести на наш NPS сервер информацию о всех наших клиентах RADIUS. Для этого в дереве консоли NPS развернём раздел RADIUS Clients and Servers и на элементе RADIUS Clients откроем контекстное меню и выберем пункт New
В открывшемся диалоговом окне заполним поля Friendly name и Client address (IP or DNS) указав имя которое мы зарегистрировали предварительно в DNS для контроллера управления одного конкретно взятого ИБП.
Значение поля “Friendly name” может отличаться от DNS имени. Оно потребуется нам в дальнейшем для идентификации конкретного сетевого устройства при создании политик доступа - Remote Access Policy. Опираясь на это имя мы сможем задавать например маску по которой будут обрабатываться определённой политикой доступа несколько разных RADIUS клиентов.
В поля Shared Secret и Confirm shared secret введём пароль, который будет прописан в настройках UPS контроллера для подключения к серверу RADIUS.
Переключимся на закладку Advanced и выберем в списке вендоров оборудования RADIUS Standard, так как APC не представлен в этом списке.
Этап #3. Создание групп доступа в домене
Для того чтобы в дальнейшем настроить политики доступа, которые будут опираться на доменную аутентификацию, нам нужно создать в домене соответствующие локальные группы безопасности, в которые буду включены пользователи, которым можно будет получать доступ к контроллерам управления ИБП.
Так как контроллеры APC, как отмечалось ранее ранее, поддерживают три основные роли доступа, возможно будет удобно создать три соответствующие группы безопасности. При этом, стоит обратить внимание на то, что для пользователей, которые будут включаться в эти группы должно быть установлено разрешение в домене, дающее право удалённого доступа.
Этап #4. Создание политик доступа на сервере RADIUS
С помощью политик доступа мы произведём связку созданных ранее записей о клиентах RADIUS и доменных групп безопасности, определяющих уровень доступа к контроллерам ИБП. То есть в нашем случае будет создано три политики доступа.
Итак, создадим первую политику, определяющую полный административный доступ к контроллеру ИБП. В дереве консоли NPS в разделе Policies > Network Policies откроем контекстное меню и выберем пункт New.
В открывшемся мастере создания политики введём название создаваемой политики (пусть например оно будет созвучно с группой доступа) и выберем тип соединения Unspecified
На следующем шаге Specify conditions нам нужно добавить условия при которых будет применяться данная политика RADIUS. Добавим два условия, – чтобы пользователь, проходящий авторизацию, входил в определенную доменную группу безопасности, и устройство, к которому осуществляется доступ, имело определённое имя. Через кнопку Add добавим сначала условие выбрав тип Windows Group
В открывшемся окне добавления групп добавим сделанную ранее в домене группу безопасности которая будет служить для предоставления административного доступа. Здесь важно понимать, что использование встроенных групп безопасности таких как, например, Domain Admins не является хорошей практикой с точки зрения безопасности.
Затем добавим второе условие по свойству Client Friendly Name
В качестве значения можно использовать как конкретные “Friendly name” устройств так и их маску, например в нашем случае политика будет применяться ко всем клиентам RADIUS у которых в свойствах атрибута “Friendly name” указано значение начинающееся с “KOM-AD01-UP”
В итоге, в нашем случае, список условий будет выглядеть так:
На следующем шаге Specify Access Permission укажем, что данная политика является политикой, разрешающей доступ - Access granted
На следующем шаге Configure Authentication Methods отключим все методы аутентификации и включим метод Unencrypted authentication (PAP, SPAP), так как контроллеры ИБП APC в нашем случае поддерживают только этот метод.
При этом мы получим предупреждение о том, что выбранный метод является не безопасным и для того, чтобы оставить выбор в силе, нужно нажать - No.
На следующем шаге настройки дополнительных ограничений Configure Constraints можно ничего не изменять
На шаге конфигурационных настроек Configure Settings в разделе настроек стандартных атрибутов RADIUS удалим имеющиеся по умолчанию там два атрибута и добавим новый по кнопке Add.
В открывшемся окне выбора стандартных атрибутов, выберем Service-Type и нажмём Add.
Переключатель значения атрибута Attribute value установим в положение Others и из выпадающего списка выберем значение Administrative
В итоге список стандартных атрибутов RADIUS в нашем случае будет иметь только одну позицию:
После этого перейдём на шаг завершения создания новой политики доступа, получив сводную информацию о заданных нами настройках.
По аналогии создаём вторую политику с доступом на чтение с функциями управления клиентами ИБП и при её создании в качестве стандартного параметра RADIUS выбираем Service-Type равный значению Login
Затем так же создаём третью политику с доступом “только на чтение” и при её создании в качестве стандартного параметра RADIUS выбираем Service-Type равный значению Authorize only
При создании и планировании политик обратите внимание на то что имеет значение их порядок. Политики обрабатываются сверху вниз, и когда получается что все условия в очередной политике соблюдены, их дальнейшая обработка прекращается. То есть с точки зрения безопасности и разруливания конфликтов между политиками правильней будет располагать политики в порядке возрастания административных полномочий.
Этап #5. Настройка контроллеров управления ИБП APC
Подключаемся к контроллеру управления ИБП APC например через Web-интерфейс используя его встроенную учетную запись администратора, переходим на закладку Administration > Security > Remote Users Authentication и включаем опцию RADIUS, then Local Authentication
Включение этой опции позволит нам в качестве основного режима аутентификации использовать наш сервер RADIUS, а в случае его недоступности (например в случае остановки службы) будет активироваться режим локальной аутентификации.
В настройках RADIUS указываем имя нашего сервера NPS и пароль, который мы использовали ранее в консоли NPS когда создавали запись об этом клиенте RADIUS.
При этом надо понимать, что если мы указываем имя а не IP-адрес сервера, в настройках контроллера должны быть прописаны работающие сервера DNS, чтобы контроллер мог корректно разрешать указанное нами имя сервера NPS в его IP-адрес. Так же при настройке интерфейсов управления контроллера ИБП важно включить функции шифрования трафика, например использовать HTTPS вместо HTTP или SSH вместо Telnet, так как при новых настройках в процессе аутентификации по сети на устройство будут передаваться учетные данные доменных пользователей.
Итак, после сохранения настроек выполняем выход из сеанса администрирования контроллером ИБП и входим заново используя доменную учетную запись (без доменных префиксов)
Если мы всё сделали правильно, то успешно пройдём авторизацию на нашем RADUIS сервере и в соответствии с нашими политиками доступа NPS получим определённый набор полномочий на контроллере ИБП. На закладке Logs мы сможем увидеть информацию о наших сессиях входа/выхода.
Помимо этого на нашем NPS сервере RADIUS в системном журнале Security будут зарегистрированы события прохождения авторизации с соответствующими кодами, например:
- 6278 -Network Policy Server granted full access to a user because the host met the defined health policy
- 6272 - Network Policy Server granted access to a user
- 6273 - Network Policy Server denied access to a user
Источники информации:
А Дениска у нас лениться.
Видимо ждал тебя.
:)
Обратная ссылка: Замена сертификата APC Web/SNMP Management Card « ИТ Блог Алексея Максимова /
Обратная ссылка: Использование RADIUS (Windows Network Policy Server) для аутентификации и авторизации на коммутаторах Cisco « ИТ Блог Алексея Максимова /
Алексей, а информацию о «Unencrypted authentication (PAP, SPAP)» откуда вы взяли?
Писал заметку уже после настройки и примеров из разных частных источников. Где-то это вычитал...пытался сейчас найти и не нашёл. Если поддерживаются и реально работают другие методы то буду признателен за информацию с ссылкой на первоисточник.
Проверили ещё раз на более современных модулях управления (AP9537SUM) и подтвердилось, что работает только аутентификация PAP. При попытке явно выключить PAP и включить CHAP or MS-CHAP v1 or MS CHAP v2 в политике NPS - аутентификация перестаёт работать, а в логе NPS видим соответствующее событие :
Log Name: Security
Source: Microsoft-Windows-Security-Auditing
Event ID: 6273
Task Category: Network Policy Server
Keywords: Audit Failure
Description: Network Policy Server denied access to a user.
...
Contact the Network Policy Server administrator for more information.
...
Authentication Type: PAP
Reason Code: 66
Reason: The user attempted to use an authentication method that is not enabled on the matching network policy.
Вероятно, плата APC даже не пытается использовать что-либо отличное от PAP.
я позарился на возможность генерации шаред пароля в свойствах клиента и потом долго не мог понять почему не проходит аутентификация.
только потом допер, что радиус-клиент упса не понимает строгих-длинных паролей NPS.
Ставишь ручками пароль попроще и все работает!
Спасибо, Алексей, за статью
Мучался, мучался, наткнулся на Ваш ответ, поменял шаред секрет - все заработало!!!
Полдня убил, спасибо Вам огромное!!!
Да. Иногда бывает очень полезно читать комментарии :)
Привет!
Решение вроде бы простенькое и не трудоемкое, но как я понял - нельзя использовать диапазон ИП адресов, для клиентов.
Т.е. если у меня 500 устройств, то мне придется делать для каждого свою запись. Я правильно понял?
Фиксится только версией винды - Ent., или же использованием linux'a с freeradius'om.
Что заметно облегчает задачу :)
С линуксом пробовал работает на freebsd и centos'e.
Если нужно массово создать большое количество клиентов, можно попробовать использовать например утилиту "netsh", типа "netsh nps add client ...". и если это обвернуть PowerShell то, думаю, можно достичь желаемого результата.
Как вариант можно также поиграться с процедурой экспорта/испорта конфигурации RADIUS (http://technet.microsoft.com/en-us/library/cc732059(v=ws.10).aspx), например выгрузить конфиг, отредактировать добавив в него нужное количество устройств и загрузить обратно. Но это всё в теории, практичеки я этого не делал.
Насчёт линукса - я искренне рад за вас.
I have failed to configure the APC AP9630 (Management Card 2) using the above method.