Использование RADIUS (Windows Network Policy Server) для аутентификации и авторизации на ИПБ APC (Web/SNMP Management Card)

imageЕсли в организации имеется большое количество сетевых устройств, таких как маршрутизаторы, коммутаторы, сетевые принтеры, контроллеры управления ИБП и др., – рано или поздно может встать вопрос о централизации управления этими устройствами. Понятие централизации управления в данном контексте является очень широким и мы в данной заметке рассмотрим одну из его составляющих – централизация функций аутентификации/авторизации/контроля доступа к этим устройствам. Реализацию этих функций можно найти в программных и программно-аппаратных вариантах у разных производителей оборудования, но если речь идёт об унификации этих функций в парке устройств разных производителей, — на помощь нам приходит протокол RADIUS. Любой уважающий себя производитель сетевого оборудования имеет на сегодня для своих устройств поддержку этого протокола.

Рассмотрим на практике случай, когда в организации имеется некоторое количество источников бесперебойного питания (ИБП) фирмы APC с установленными в них контроллерами управления APC Web/SNMP Management card. Для сетевого доступа на каждый из таких контроллеров, как правило, используются встроенные в эти контроллеры учетные записи пользователей трёх категорий доступа:

  • Полный административный доступ
  • Доступ на чтение с функциями управления клиентами ИБП
  • Доступ “только на чтение”

Встроенная в эти контроллеры поддержка протокола RADIUS позволит нам использовать вместо встроенной аутентификации аутентификацию на основе учетных записей Active Directory. Чтобы реализовать этот механизм поэтапно рассмотрим процесс установки/настройки сервера RADIUS на базе Windows Server 2008 R2 и последующей настройки ИБП.В качестве аппаратных исходных данных будут выступать ИБП APC с установленными контроллерами управления:image

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

image


В открывшемся мастере на шаге выбора ролей отмечаем роль Network Policy and Access Services.

image


На шаге выбора служб роли в нашей ситуации достаточно будет выбрать только службу Network Policy Server.

image


После того как установка роли успешно завершена, открываем оснастку Network Policy Server (nps.msc) через Панель управления > Administrative Tools

Для начала использования нужных нам функций сервера в доменной инфраструктуре необходимо провести его регистрацию в AD. Для этого в корне консоли правой кнопкой мыши откроем контекстное меню и выберем пункт меню Register server in Active Directory

image При этом мы должны подтвердить наше намерение дать серверу полномочия в домене на чтение свойств учётных записей пользователей, касающихся удалённого доступа.

image 

Этап #2. Добавление клиентов на сервер RADIUS

Теперь нам нужно внести на наш NPS сервер информацию о всех наших клиентах RADIUS. Для этого в дереве консоли NPS развернём раздел RADIUS Clients and Servers и на элементе RADIUS Clients откроем контекстное меню и выберем пункт New

image

В открывшемся диалоговом окне заполним поля Friendly name и Client address (IP or DNS) указав имя которое мы зарегистрировали предварительно в DNS для контроллера управления одного конкретно взятого ИБП.

Значение поля “Friendly name” может отличаться от DNS имени. Оно потребуется нам в дальнейшем для идентификации конкретного сетевого устройства при создании политик доступа — Remote Access Policy. Опираясь на это имя мы сможем задавать например маску по которой будут обрабатываться определённой политикой доступа несколько разных RADIUS клиентов.

В поля Shared Secret и Confirm shared secret введём пароль, который будет прописан в настройках UPS контроллера для подключения к серверу RADIUS.

image

Переключимся на закладку Advanced и выберем в списке вендоров оборудования RADIUS Standard, так как APC не представлен в этом списке. 

image

Этап #3. Создание групп доступа в домене

Для того чтобы в дальнейшем настроить политики доступа, которые будут опираться на доменную аутентификацию, нам нужно создать в домене соответствующие локальные группы безопасности, в которые буду включены пользователи, которым можно будет получать доступ к контроллерам управления ИБП.

image

Так как контроллеры APC, как отмечалось ранее ранее, поддерживают три основные роли доступа, возможно будет удобно создать три соответствующие группы безопасности. При этом, стоит обратить внимание на то, что для пользователей, которые будут включаться в эти группы должно быть установлено разрешение в домене, дающее право удалённого доступа.

image


Этап #4. Создание политик доступа на сервере RADIUS

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

Итак, создадим первую политику, определяющую полный административный доступ к контроллеру ИБП. В дереве консоли NPS в разделе Policies > Network Policies откроем контекстное меню и выберем пункт New.

image

В открывшемся мастере создания политики введём название создаваемой политики (пусть например оно будет созвучно с группой доступа) и выберем тип соединения Unspecified

image

На следующем шаге Specify conditions нам нужно добавить условия при которых будет применяться данная политика RADIUS. Добавим два условия, – чтобы пользователь, проходящий авторизацию, входил в определенную доменную группу безопасности, и устройство, к которому осуществляется доступ, имело определённое имя. Через кнопку Add добавим сначала условие выбрав тип Windows Group

image

В открывшемся окне добавления групп добавим сделанную ранее в домене группу безопасности которая будет служить для предоставления административного доступа. Здесь важно понимать, что использование встроенных групп безопасности таких как, например, Domain Admins не является хорошей практикой с точки зрения безопасности.

image

Затем добавим второе условие по свойству Client Friendly Name

image

В качестве значения можно использовать как конкретные “Friendly name” устройств так и их маску, например в нашем случае политика будет применяться ко всем клиентам RADIUS у которых в свойствах атрибута “Friendly name” указано значение начинающееся с “KOM-AD01-UP”

image

В итоге, в нашем случае, список условий будет выглядеть так:

image

На следующем шаге Specify Access Permission укажем, что данная политика является политикой, разрешающей доступ — Access granted

image

На следующем шаге Configure Authentication Methods отключим все методы аутентификации и включим метод Unencrypted authentication (PAP, SPAP), так как контроллеры ИБП APC в нашем случае поддерживают только этот метод.

image

При этом мы получим предупреждение о том, что выбранный метод является не безопасным и для того, чтобы оставить выбор в силе, нужно нажать — No.

clip_image016

На следующем шаге настройки дополнительных ограничений Configure Constraints можно ничего не изменять

image

На шаге конфигурационных настроек Configure Settings в разделе настроек стандартных атрибутов RADIUS удалим имеющиеся по умолчанию там два атрибута и добавим новый по кнопке Add.

image

В открывшемся окне выбора стандартных атрибутов, выберем Service-Type и нажмём Add.

image

Переключатель значения атрибута Attribute value установим в положение Others и из выпадающего списка выберем значение Administrative

image


В итоге список стандартных атрибутов RADIUS в нашем случае будет иметь только одну позицию:

image


После этого перейдём на шаг завершения создания новой политики доступа, получив сводную информацию о заданных нами настройках.

image

По аналогии создаём вторую политику с доступом на чтение с функциями управления клиентами ИБП и при её создании в качестве стандартного параметра RADIUS выбираем Service-Type равный значению Login

image

Затем так же создаём третью политику с доступом “только на чтение” и при её создании в качестве стандартного параметра RADIUS выбираем Service-Type равный значению Authorize only

image

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

Этап #5. Настройка контроллеров управления ИБП APC

Подключаемся к контроллеру управления ИБП APC например через Web-интерфейс используя его встроенную учетную запись администратора, переходим на закладку Administration > Security > Remote Users Authentication и включаем опцию RADIUS, then Local Authentication

image

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

В настройках RADIUS указываем имя нашего сервера NPS и пароль, который мы использовали ранее в консоли NPS когда создавали запись об этом клиенте RADIUS.

image

При этом надо понимать, что если мы указываем имя а не IP-адрес сервера, в настройках контроллера должны быть прописаны работающие сервера DNS, чтобы контроллер мог корректно разрешать указанное нами имя сервера NPS в его IP-адрес. Так же при настройке интерфейсов управления контроллера ИБП важно включить функции шифрования трафика, например использовать HTTPS вместо HTTP или SSH вместо Telnet, так как при новых настройках в процессе аутентификации по сети на устройство будут передаваться учетные данные доменных пользователей.

Итак, после сохранения настроек выполняем выход из сеанса администрирования контроллером ИБП и входим заново используя доменную учетную запись (без доменных префиксов)

image

Если мы всё сделали правильно, то успешно пройдём авторизацию на нашем RADUIS сервере и в соответствии с нашими политиками доступа NPS получим определённый набор полномочий на контроллере ИБП. На закладке Logs мы сможем увидеть информацию о наших сессиях входа/выхода.

image

Помимо этого на нашем 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

    Источники информации:

  • Всего комментариев: 12 Комментировать

    1. Андрей /

      А Дениска у нас лениться.
      Видимо ждал тебя.

    2. Обратная ссылка: Замена сертификата APC Web/SNMP Management Card « ИТ Блог Алексея Максимова /

    3. Обратная ссылка: Использование RADIUS (Windows Network Policy Server) для аутентификации и авторизации на коммутаторах Cisco « ИТ Блог Алексея Максимова /

    4. Kirill Nikolaev /

      Алексей, а информацию о «Unencrypted authentication (PAP, SPAP)» откуда вы взяли?

      1. Алексей Максимов /

        Писал заметку уже после настройки и примеров из разных частных источников. Где-то это вычитал…пытался сейчас найти и не нашёл. Если поддерживаются и реально работают другие методы то буду признателен за информацию с ссылкой на первоисточник.

    5. Саша /

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

      1. Yan Abramovich /

        Мучался, мучался, наткнулся на Ваш ответ, поменял шаред секрет — все заработало!!!
        Полдня убил, спасибо Вам огромное!!!

        1. Алексей Максимов / Автор записи

          Да. Иногда бывает очень полезно читать комментарии :)

    6. vbashtyrev /

      Привет!
      Решение вроде бы простенькое и не трудоемкое, но как я понял — нельзя использовать диапазон ИП адресов, для клиентов.
      Т.е. если у меня 500 устройств, то мне придется делать для каждого свою запись. Я правильно понял?

      Фиксится только версией винды — Ent., или же использованием linux’a с freeradius’om.
      Что заметно облегчает задачу :)
      С линуксом пробовал работает на freebsd и centos’e.

      1. Алексей Максимов /

        Если нужно массово создать большое количество клиентов, можно попробовать использовать например утилиту «netsh», типа «netsh nps add client …». и если это обвернуть PowerShell то, думаю, можно достичь желаемого результата.

        Как вариант можно также поиграться с процедурой экспорта/испорта конфигурации RADIUS (http://technet.microsoft.com/en-us/library/cc732059(v=ws.10).aspx), например выгрузить конфиг, отредактировать добавив в него нужное количество устройств и загрузить обратно. Но это всё в теории, практичеки я этого не делал.

        Насчёт линукса — я искренне рад за вас.

    7. Steven Xen Biko /

      I have failed to configure the APC AP9630 (Management Card 2) using the above method.

    Добавить комментарий