Авторизация через Network Policy Server (NPS) для MikroTik
Как быстро и просто настроить авторизацию через RADIUS от Microsoft? Думаю, это поможет тем, кто захочет иметь возможность заходить на устройства MikroTik через дружелюбный WinBox и простой SSH.
Установка роли NPS
Имеем Windows Server 2016 Datacenter с уже установленным доменом.
Выбираем сервер, на котором будет разворачиваться роль. Microsoft не рекомендует делать это на контроллере домена, но в некоторых best practices для уменьшения задержек дают совет ставить именно на него. Добавляем роль Network Policy and Access Server вместе с management tools для настройки.
Запускаем любым удобным способом админку NPS. Например, через менеджер серверов.
Регистрируем сервер NPS в AD.
Добавление RADIUS клиента
Для того, чтобы сервер знал с какими устройствами налаживать общение нужно добавить их в RADIUS Clients.
Для примера, добавляю свой MikroTik wAP. Friendly name установил как Identity на устройстве и IP заданный на его единственном проводном интерфейсе. Для того, чтобы устройство смогло авторизоваться на сервере нужно ввести ключ. Он создается на сервере либо вручную, либо генерируется автоматически. Я предпочел второй вариант.
Vendor name остановим на стандартном RADIUS.
Создание политики подключения
Подбираем подходящее название для политики.
Определяем наше устройство с которым будет работать сервер.
Я выбрал только Client Friendly Name со значением Router01. Это четко привязывает данный пункт политики к устройству через созданного клиента. Можно идентифицировать устройство Mikrotik по Identity выбрав NAS Identifier.
Без предварительной конфигурации устройства Identity = MikroTik.
Дальнейшая настройка политики.
На этапе выбора протокола аутентификации достаточно выбрать нешифрованный (о чем получите предупреждение) PAP для SSH или шифрованный CHAP для WinBox. Я выбрал оба. Если есть необходимость использовать web версию, то достаточно включить MS-CHAPv2, в остальном всё аналогично.
Собственно, предупреждение о выборе небезопасного способа. Предлагают почитать пошаговый справочный материал.
На данном этапе я не стал ничего трогать.
Итоговые установки политики.
У меня не получилось воспроизвести это через PowerShell, даже стандартный example с technet’а. Буду признателен, если подскажете почему.
Выбираем нужный приоритет двигая выше или ниже пункт политики.
Создание политики сети
Назовем её Routers.
Как и прежде, нужно определить условия.
В AD у меня создан дополнительный пользователь состоящий в группе Domain Admins. Выбираю условие Windows Group исходя из того, чтобы все администраторы домена смогли получать доступ к MikroTik.
Разрешительное или запретительное правило. Мы будем разрешать всем, кто попал под условие.
Способ аутенификации выбираем аналогичный прошлой политике.
Исходя из необходимости можно настроить дополнительные настройки. Я оставил без изменений.
Далее необходимо выбрать что будет отправляться на сервер.
Итоговые настройки политики сети.
Выбираем необходимый приоритет среди других политик, если необходимо.
Чтобы учетная запись проверялась через NPS в AD у этого пользователя на вкладке Dial-in в разделе Network Access Permission должен быть отмечен пункт Control access through NPS Network Policy.
Для возможности авторизовываться через WinBox нужно включить обратимое шифрование в профиле пользователя.
Добавление сервера авторизации на MikroTik
Первым делом присвоим System/Identity равным router01 и IP с маской для интерфейса.
В System/Users и на вкладке Users включаем пункт Use RADIUS. По умолчанию выбран доступ только для чтения.
Открываем настройки Radius и добавляем новый сервер. Сервис выбирается исходя из назначения. Лучше, конечно же, делить доступ между ними. Address — адрес сервера на котором установлен NPS.
Secret — ключ, который был сгенерирован на стадии добавления клиента на сервере.
Проверка через SSH и WinBox
Проверка подключения через SSH и экспорт конфигурации.
И проверяем авторизацию в Winbox.
Как видим, в активных пользователях висят системный admin и оба подключения доменного юзера с доступом для чтения через SSH и Winbox.
Авторизация через RADIUS для MikroTik
Задача: Хочу разобрать лично, как настроить авторизацию через Network Policy Server (RADIUS) на Windows Server 2012 R2 для сетевого оборудования на базе Mikrotik.
Подтолкнуло меня статья на читаемом ресурсе, но я прежде чем доверять чему-то хочу лично сам все повторить, наложить все действия на свою структуру да и задокументировать под себя все действия в виде пошаговой заметки никогда не помешает.
- Домен (Создана группа: Router-Mikrotik)
- Система (В домене) Windows Server 2012 R2 на которую будут устанавливать роль NPS
- Оборудование Mikrotik (RB951Ui-2HnD: eth2 смотрит в локальную сеть)
Ранее я для себя разбирался как поднять RADIUS сервис на системе Ubuntu Trusty Server, но в публичный доступ я ее не выкладывал, возможно с этой заметкой все будет то же самое, посмотрим.
Шаг №1: Устанавливаю роль Network Policy Server на систему:
Win + X — Command Prompt (Admin)
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 — Command Prompt (Admin)
C:\Windows\system32>netsh ras add registeredserver
Registration completed successfully:
Remote Access Server: SRV-NPS
Шаг №3: Для того, чтобы сервер знал с какими устройствами налаживать общение нужно добавить их в RADIUS Clients.
Win + X — Control Panel — Administrative Tools — Network Policy Server
NPS (Local) → Radius Client and Servers и через правый клик мышью на RADIUS Clients вызываю меню New, здесь создаю клиента:
вкладка Settings окна New RADIUS Client
- Enable this RADIUS Client: отмечаю галочкой
- Friendly name: router
- Address (IP or DNS): 10.9.9.77
- Тип ключа: выбираю Generate
- Shared secret: либо указываю свой собственный ключ (к примеру в рамках этой заметки ключ будет: Aa1234567@!), либо нажимаю кнопку Generate
вкладка Advanced окна New RADIUS Client
- Vendor name: RADIUS Standard
а после нажимаю кнопку OK окна New RADIUS Client
Шаг №4: Создаю политику подключения
Win + X — Control Panel — Administrative Tools — Network Policy Server
NPS (Local) — Policies — и через правый клик мышью по Connection Request Policies вызываю меню New
- Policy name: mikrotik
- Type of network access server: Unspecified
и нажимаю Next, затем Add → Client Friendly Name, затем Add и указываю имя клиента:
Specify the friendly name of the RADIUS client. You can use pattern matching syntax: router
а после нажимаю кнопку OK и Next окна New Connection Request Policy.
Шаг №5: Теперь нужно указать тип используемой аутентификации
Settings: Authenticaton: отмечаю Authenticate requests on this server и нажимаю кнопку Next, затем указываю метод:
- Override network policy authentication settings: отмечаю галочкой
- Encrypted authentication (CHAP): отмечаю галочкой
- Unecrypted authentication (PAP,SPAP): отмечаю галочкой
а после нажимаю кнопку Next, No, Next, Finish.
Шаг №6: Выбираем нужный приоритет двигая выше или ниже пункт политики.
Win + X — Control Panel — Administrative Tools — Network Policy Server
NPS (Local) — Policies — и через правый клик мышью по Network Policies вызываю меню New
- Policy name: mikrotik
- Type of network access server: Unspecified
и нажимаю Next, затем Add → выбираю Windows Groups и нажимаю Add → Add Groups… где поиск осуществляется в текущем домене, моя группа называется: Router-Mikrotik после нажимаю Ok, OK окна Select Group, OK окна Windows Groups и Next окна мастера New Network Policy. А вот теперь следует определить какое правило будет попадать под выше указанные настройки, но раз я хочу через доменную учетную запись авторизоваться на Mikrotik то выбираю: Access granted и нажимаю кнопку Next. Но это еще не все, Способ аутентификации выбираем аналогичный прошлой политике.
- Encrypted authentication (CHAP): отмечаю галочкой
- Unecrypted authentication (PAP,SPAP): отмечаю галочкой
и нажимаю кнопку Next, No
Отличная новость что с настройками сервиса покончено, а может и нет, ведь сейчас шаг где можно указать период бездействия, дата и время доступа и т.д, но я как и автор на основе которого я формирую свое руководство пропускаю этот шаг и нажимаю Next
Шаг №7: Далее необходимо выбрать что будет отправляться на сервер.
- Standard: Add
- Access type: All
- Attribute: Service-Type
и нажимаю Add, потом
Other: выбираю Login и нажимаю OK, Close
Вот что должно получиться:
и нажимаю Next, Finish.
На заметку: Чтобы учетная запись проверялась через NPS в AD у этого пользователя на вкладке Dial-in (Входящие звонки) в разделе Network Access Permission (Права доступа к сети) должен быть отмечен пункт Control access through NPS Network Policy (Управление доступом на основе политики сети NPS).
На заметку: Для возможности авторизоваться через WinBox нужно включить обратимое шифрование в профиле пользователя.
Шаг №8: Добавление сервера авторизации на MikroTik
Winbox — IP&DNS — user&pass
System — Identity и называем Mikrotik, как router
System — Users — вкладка Users, тут нажимаю на AAA и ставлю галочку в параметра USE Radius или все проще если действовать через консоль подключившись к Mikrotik по SSH
$ ssh -l admin 10.9.9.77
[admin@router] > system identity set name=router
[admin@router] > user aaa set use-radius=yes
и указываем где брать авторизацию, т. е. Поднятый и настроенный выше NPS сервис:
[admin@router] > radius add address=IP_NPS_SERVERA secret=Aa1234567@! service=login
[admin@router] > quit
С рабочей станции под управлением Ubuntu Trusty Desktop amd64 (Gnome Classic)
- Connect To: 10.9.9.77
- Login: alektest
- Password: Aa1234567@!
но почему то пишет: ERROR: wrong username or password
А если с рабочей станции под управлением Windows 7 SP1 Pro и авторизовавшись под доменной учетной записью: alektest@polygon.local, то вот что примечательно при обращении на Web-адрес дабы скачать клиент Winbox я авторизовался на Web-странице не вводя ничего кроме IP адреса Mikrotik. Ну конечно ведь на дефолтную учетку admin у меня нет пароля вот и как бы неожиданно. Пробую через утилиту winbox и меня также не пускает, пишет мол неправильный логин или пароль.
А вот с Ubuntu Trusty Desktop через консоль командной строки при подключении с использованием клиента SSH авторизуется успешно:
$ ssh -l alektest 10.9.9.77
alektest@10.9.9.77’s password: указываю пароль от данной доменной учетной записи которая входит в группу Router-Mikrotik
[alektest@router] > — Я успешно подключился, работает.
Вроде как нужно указать откуда можно будет подключиться к Mikrotik задействую доменную авторизацию:
[admin@router] > /ip address add address=10.9.9.0/24 interface=ether2 network=255.255.255.0
и вот только после этого авторизация через Winbox с использованием доменной учетной записи заработала, но можно и не добавлять если Вам нужно подключаться к Mikrotik из различных сетей.
На заметку: попробовал со всеми сетевыми устройствами Mikrotik в локальной сети — заметка полностью отработала и теперь у меня доменная авторизация в паре с локальной.
Все я самолично прошелся по всем шагам. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.