Авторизация через RADIUS для MikroTik на Server 2016
В связи с новым местом работы, мой непосредственный начальник (Теперь работаю в местном провайдере) поставил вот такую вот задачу: проработать шаги, как настроить авторизацию через Radius сервис для всех Mikrotik, но с учетом что в роли Active Directory выступает система Windows Server 2016 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: Регистрирую текущий сервер NPS (Network Policy Server) в домене:
Win + X — Командная строка (администратор)
C:\Windows\System32>netsh ras add registeredserver
Регистрация успешно завершена:
Шаг №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
Чтобы учетная запись проверялась через 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 следует перейти во вкладку «Делегирование» и добавить группу «Прошедшие проверку» с доступом на «Чтение»
C:\Users\ekzorchik>gpupdate /force
Выполняется обновление политики.
Обновление политики для компьютера успешно завершено.
Обновление политики пользователя завершено успешно.
Если команда выше не сработает, то нужно перезагрузить домен контроллер.
Открываю политику на редактирование:
Конфигурация компьютера — Политики — Конфигурация Windows — Параметры безопасности — Политики учетных записей — Политика паролей:
«Хранить пароли, используя обратимое шифрование» — «Включен»
[stextbox style=»color: #ff00ff;»>На заметку: Если Radius сервис не работает то следует обратиться к логам на системе Windows Server 2016:[/stextbox]
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»
С рабочей станции под управлением Ubuntu Trusty Desktop amd64 (Gnome Classic), Ubuntu 18.04 Desktop, Windows 10 — все они не в домене.
Сперва под доменной учетной запись с логином alektest1 и как видно права у меня MikrotikRead — т. е. Только просмотр
После под доменной учетной записью с логином alektest2 и как видно права у меня MikrotikWrite — что соответствуют точно такими же как и у локальной группы full.
Все я самолично прошелся по всем шагам на этот раз настройки Radius сервиса в домене Windows Server 2016 Standard и сделал более грамотную универсальную настройку по сравнению с той что я делал на Windows Server 2012 R2 в прошлой заметке. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.