Авторизация через RADIUS для MikroTik на Server 2016

Posted by

В связи с новым местом работы, мой непосредственный начальник (Теперь работаю в местном провайдере) поставил вот такую вот задачу: проработать шаги, как настроить авторизацию через Radius сервис для всех Mikrotik, но с учетом что в роли Active Directory выступает система Windows Standard. Ранее я уже сталкивался с такой задачей когда работал в конторе где был руководителем IT-отдела. И текущее внедрении показало себя с лучшей стороны. Это удобно когда авторизацией на оборудовании Mikrotik я использую свою доменную учетную запись, по такому же принципу мог выдавать доступ только для «чтения» и для людей которые только приходят ко мне в отдел, а полный доступ я им по всем понятным причинам выдать увы не дам. Если до этого места работы сотрудник никогда не сталкивался с Mikrotik, пусть сперва посмотрит, а по всем вопросам обращается ко мне. Его задача сперва самостоятельно на тестовом поднять самые банальные вещи: настроить на первоначальное использование, сделать бекап, восстановить из бекапа, настроить Wi-Fi с разграничение доступа, объяснить как он это делал. И только тогда можно выдавать. Также пусть сперва пройдет испытательный срок.

За основу беру заметку:

Исходные данные:

  • svr-ad1.polygon.local (Windows Server 2016 Standard) 10.9.9.2 (eth1)

Роли: AD, DHCP, DNS

  • srv-gw.polygon.local (Mikrotik x86) 10.9.9.1 (eth1) + WAN (eth2)

На домен контроллере создаю две доменные группы:

  • MikrotikRead — такие права только на чтение будет у тех кто пытается авторизоваться на Mikrotik (в ней учетная запись alektest1)
  • MikrotikWrite — такие полные (чтение+запись) права будут у тех кто пытается авторизоваться на Mikrotik (в ней учетная запись alektest2)

Шаг №1: Я роль Network Policy Server (Службы политики сети и доступа) буду ставить на контроллер домена, т. к. у меня только один сервер и пока никакой инфраструктуры нет.

Win + X — Командная строка (администратор)

C:\Windows\system32>cd /d c:\Windows\System32\WindowsPowerShell\v1.0\

c:\Windows\System32\WindowsPowerShell\v1.0>powershell
-Command Set-ExecutionPolicy RemoteSigned

c:\Windows\System32\WindowsPowerShell\v1.0>powershell

PS c:\Windows\System32\WindowsPowerShell\v1.0> Install-WindowsFeature NPAS -IncludeManagementTools

PS c:\Windows\System32\WindowsPowerShell\v1.0> exit

c:\Windows\System32\WindowsPowerShell\v1.0>
exit

Шаг №2: Регистрирую текущий сервер (Network Policy Server) в домене:

Win + X — Командная строка (администратор)

C:\Windows\System32>netsh ras add registeredserver

Регистрация успешно завершена:

RAS-сервер: SRV-AD1

Домен: polygon.local

Шаг №3: Для того, чтобы сервер знал с какими устройствами налаживать общение нужно добавить их в RADIUS Clients.

Win + X — Панель управления — Администрирование — Сервер политики сети (Network Policy Server) NPS (Локально) → Radius-клиенты и серверы и через правый клик мышью на RADIUS-клиенты вызываю меню «Новый документ», здесь создаю клиента:

вкладка «Настройки» окна «Новый RADIUS-клиент»

  • «Включить этот RADIUS-клиент»: отмечаю галочкой
  • Понятное имя: mikrotik
  • Адрес (IP или DNS): 0.0.0.0/0
  • Тип ключа: выбираю «Создать»
  • Shared secret: либо указываю свой собственный ключ (к примеру в рамках этой заметки ключ будет: Aa1234567@!), либо нажимаю кнопку «Создать»

вкладка «Дополнительно» окна «Новый RADIUS-клиент»

  • Имя поставщика: RADIUS Standard

а после нажимаю кнопку OK окна «Новый RADIUS-клиент»

Шаг №4: Создаю политику подключения (Политики — Политики запросов на подключение)

Win + X — Панель управления — Администрирование — Сервер политики сети — NPS (Локально) — Политики — и через правый клик мышью по «Политики запросов на подключение» вызываю меню «Новый документ»

  • «Имя политики»: mikrotik
  • «Тип сервера доступа к сети»: «Не указано»

и нажимаю «Далее», затем «Добавить» → «Ограничения по дням недели и времени суток» (отмечаю настройку «Разрешено»)

а после нажимаю кнопку OK и «Далее» окна «Новая политика запросов на подключение». Теперь нужно указать тип используемой аутентификации

«Проверка подлинности» отмечаю «Проверять подлинность запросов на этом сервере» и нажимаю кнопку «Далее», затем указываю метод:

  • «Переопределить параметры проверки подлинности на уровне сети»: отмечаю галочкой
  • «Шифрованная проверка подлинности (CHAP)»: отмечаю галочкой
  • «Проверка открытым текстом (PAP, SPAP)»: отмечаю галочкой
  • «Шифрованная проверка подлинности Майкрософт (MS-CHAP): отмечаю галочкой

а после нажимаю кнопку «Далее», «Нет», «Далее», «Готово».

Для справки:

  • Шифрование PAP → это для SSH
  • Шифрование CHAP → это для winbox
  • Шифрование MS-CHAPv2 → это для Web

Шаг №5: Создаю сетевую политику (Политики — Сетевые политики)

Win + X — Панель управления — Администрирование — Сервер сетевых политик

NPS (Локально) — Политики — и через правый клик мышью по «Сетевые политики» вызываю меню «Новый документ»

  • «Имя политики»: MikrotikRead
  • «Тип сервера доступа к сети»: «Не указано»

и нажимаю «Далее», затем «Добавить» → выбираю «Группы Windows» и нажимаю «Добавить» → «Добавить группы» где поиск осуществляется в текущем домене, моя группа называется: MikrotikRead после нажимаю «Проверить имена» (должна стать подчеркнутой) затем OK окна «Выбор: Группа», OK окна «Группы Windows» и «Далее» окна мастера «Новая политика сети». А вот теперь следует определить какое правило будет попадать под выше указанные настройки, но раз я хочу через доменную учетную запись авторизоваться на Mikrotik то выбираю: «Доступ разрешен» и нажимаю кнопку «Далее». Но это еще не все, Способ аутентификации выбираем аналогичный прошлой политике.

  • «Шифрованная проверка подлинности (CHAP)»: отмечаю галочкой
  • «Проверка открытым текстом (PAP, SPAP)»: отмечаю галочкой
  • «Шифрованная проверка подлинности Майкрософт (MS-CHAP)»: отмечаю галочкой

и нажимаю кнопку «Далее», «Нет»

Отличная новость что с настройками сервиса покончено, а может и нет, ведь сейчас шаг где можно указать период бездействия, дата и время доступа и т.д, но я как и автор на основе которого я формирую свое руководство пропускаю этот шаг и нажимаю «Далее»

Шаг №6: Далее необходимо выбрать что будет отправляться на сервер.

Я все еще в мастере «Новая политика сети» из параметра «Атрибуты RADIUS» Стандарт удаляю все дефолтные, а именно:

  • Frame-Protocol: PPP
  • Service-Type: Framed

после перехожу в элемент настройки «Зависящие от поставщика», т. к. по умолчанию Radius сервер не поддерживает оборудование Mikrotik, то мне на помощь придет мануал от Mikrotik с указанием какой параметр следует добавить для проверки:

Нажимаю «Добавить»

  • «Поставщик»: выбираю «Пользовательский»
  • «Атрибуты»: выбираю Vendor-Specific и нажимаю «Добавить» — «Добавить»
  • «Ввести код поставщика»: ввожу 14988 (почему именно этот код смотрите статью в интернете wiki/Manual:RADIUS_Client)

Переключаюсь на «Да. Соответствует» и нажимаю «Настройка атрибута»

  • Назначенные поставщиком номер атрибута: 3
  • Формат атрибута: строковый
  • Значение атрибута: MikrotikRead

и нажимаю «ОК», «ОК», «Далее», «Готово». После создаю еще одну сетевую политику, где указываю группу MikrotikWrite и значение атрибута MikrotikWrite

Настройка сетевых политик для доступа Read & Write

На заметку:

Чтобы учетная запись проверялась через NPS в AD у этого пользователя на вкладке Dial-in (Входящие звонки) в разделе Network Access Permission (Права доступа к сети) должен быть отмечен пункт Control access through NPS Network Policy (Управление доступом на основе политики сети NPS).

 

На заметку:

Для возможности авторизоваться через WinBox нужно включить обратимое шифрование в профиле пользователя.

 

Включаю обратимое шифрование для учетных записей

Но на этом еще не все, по умолчанию домене уровня Server 2016 обратимое шифрование для домена выключено. В этом случает я рекомендую создать групповую политику применительно к группам MikrotikRead & MikrotikWrite где обратимое шифрование будет включено:

  • GPO (Управление групповой политикой): Radius_Mikrotik

Создаю GPO: Radius_Mikrotik для включения обратимого шифрования

После в политике GPO: Radius_Mikrotik следует перейти во вкладку «Делегирование» и добавить группу «Прошедшие проверку» с доступом на «Чтение»

C:\Users\ekzorchik>gpupdate /force

Выполняется обновление политики...

Обновление политики для компьютера успешно завершено.

Обновление политики пользователя завершено успешно.

Если команда выше не сработает, то нужно перезагрузить домен контроллер.

Открываю политику на редактирование:

Конфигурация компьютера — Политики — Конфигурация Windows — Параметры безопасности — Политики учетных записей — Политика паролей:

«Хранить пароли, используя обратимое шифрование» — «Включен»

На заметку: Если Radius сервис не работает то следует обратиться к логам на системе Windows Server 2016:

Win + X → «Панель управления» — «Администрирование» — «Просмотр событий» — «Журналы Windows» — «Безопасность»

Событие (Event ID: 6723): Не удается выполнить проверку подлинности пользователя с помощью протокола CHAP. Обратимо шифрованный пароль не существует для данной учетной записи.

И после проверять.

На заметку: Если Вы используете только один домен контроллер и к нему доступ имеете только Вы, то можно не создавать отдельную политику, а изменить настройки в GPO: Default Domain Policy, а включение обратимого шифрования регулировать уже в настройках учетных записей.

На заметку: Если все равно учетная запись при подключении к Mikrotik выдает что не может авторизоваться в этом случает нужно есть заново указать доменный пароль и после все сразу же заработает.

Шаг №7: Добавление сервера авторизации (Т.е. где находится сервис Radius) на MikroTik

Winbox — IP&DNS — user&pass

System — Identity и называем Mikrotik, как router

Создаю группы в Mikrotik:

System — Users — вкладка Groups — Add —

Name: MikrotikRead

Policy: отмечено все за исключением write, dude, ftp, policy

System — Users — вкладка Groups — Add —

Name: MikrotikWrite

Policy: везде стоят галочки

И нажимаю Apply — Ok

System — Users — вкладка Users, тут нажимаю на AAA и ставлю галочку в параметра USE Radius

Default Group: Read

и нажимаю Apply — OK

Затем перехожу в элемент меню Radius — Add — вкладка General (окна New Radius Server)

  • Service: login
  • Address: 10.9.9.2
  • Secret: Aa1234567@!

На заметку: если используется Mikrotik поднятый на основе x68 Demo License то настроить Radius авторизацию нельзя, выдается сообщение «Couldn“t add New Radius Server — current license does not support radius»

Шаг №8: Проверяю

С рабочей станции под управлением Ubuntu Trusty Desktop amd64 (Gnome Classic), Ubuntu 18.04 Desktop, Windows 10 — все они не в домене.

Сперва под доменной учетной запись с логином alektest1 и как видно права у меня MikrotikRead — т. е. Только просмотр

После под доменной учетной записью с логином alektest2 и как видно права у меня MikrotikWrite — что соответствуют точно такими же как и у локальной группы full.

Авторизовался через Radius на Mikrotik с полными провами (чтение и запись)Все я самолично прошелся по всем шагам на этот раз настройки Radius сервиса в домене Windows Server 2016 Standard и сделал более грамотную универсальную настройку по сравнению с той что я делал на Windows Server 2012 R2 в прошлой заметке. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.