Как быстро и просто настроить авторизацию через RADIUS от Microsoft? Думаю, это поможет тем, кто захочет иметь возможность заходить на устройства MikroTik через дружелюбный WinBox и простой SSH.
Добавление RADIUS клиента;
Создание политики подключения;
Создание политики сети;
Добавление сервера авторизации на MikroTik;
Проверка через SSH и WinBox.
Имеем Windows Server 2016 Datacenter с уже установленным доменом.
![image](https://habrastorage.org/r/w1560/webt/vu/mz/by/vumzbynlv-yxayxajjj-2ev3aqc.png)
Выбираем сервер, на котором будет разворачиваться роль. Microsoft не рекомендует делать это на контроллере домена, но в некоторых best practices для уменьшения задержек дают совет ставить именно на него. Добавляем роль Network Policy and Access Server вместе с management tools для настройки.
![image](https://habrastorage.org/r/w1560/webt/ey/fq/sj/eyfqsjpic4zxv1sb_dqxycynmnc.png)
![image](https://habrastorage.org/r/w1560/webt/q7/11/yl/q711ylbhb-zfbgjoxktvxly00ry.png)
![image](https://habrastorage.org/r/w1560/webt/fk/1x/ph/fk1xpheotsy0w6smfl3pqfnsacq.png)
![image](https://habrastorage.org/r/w1560/webt/zg/6g/zz/zg6gzz0fr1gytbkane1nvjpvpks.png)
Запускаем любым удобным способом админку NPS. Например, через менеджер серверов.
![image](https://habrastorage.org/r/w1560/webt/cd/n8/pw/cdn8pw_ekrzju3_teh_73s9jris.png)
Регистрируем сервер NPS в AD.
![image](https://habrastorage.org/r/w1560/webt/cy/yu/0e/cyyu0efhs-jy_f0ciso0jq_xyh0.png)
![image](https://habrastorage.org/r/w1560/webt/21/p4/ev/21p4evypfu4gpwydkfxkb6-ptac.png)
Для примера, добавляю свой MikroTik wAP. Friendly name установил как Identity на устройстве и IP заданный на его единственном проводном интерфейсе. Для того, чтобы устройство смогло авторизоваться на сервере нужно ввести ключ. Он создается на сервере либо вручную, либо генерируется автоматически. Я предпочел второй вариант.
![image](https://habrastorage.org/r/w1560/webt/kx/wr/xq/kxwrxqmgenj-hqxzs_mr60qtcfg.png)
Vendor name остановим на стандартном RADIUS.
![image](https://habrastorage.org/r/w1560/webt/gq/wg/mt/gqwgmtfot22xymysjmukruorx6k.png)
Устройство добавлено.
![image](https://habrastorage.org/r/w1560/webt/-m/e3/ej/-me3ej6hbsqzkbs0adsvxteoghm.png)
Подбираем подходящее название для политики.
![image](https://habrastorage.org/r/w1560/webt/91/g9/gv/91g9gvvi5j44qrtme3c2oznjgho.png)
Определяем наше устройство с которым будет работать сервер.
![image](https://habrastorage.org/r/w1560/webt/9c/gd/qk/9cgdqktpjuc2yihttxt7bsfrajk.png)
Я выбрал только Client Friendly Name со значением Router01. Это четко привязывает данный пункт политики к устройству через созданного клиента. Можно идентифицировать устройство Mikrotik по Identity выбрав NAS Identifier.
![image](https://habrastorage.org/r/w1560/webt/vc/0j/rv/vc0jrvjonmozcykirhmwhbkh_1c.png)
Без предварительной конфигурации устройства Identity = MikroTik.
![image](https://habrastorage.org/r/w1560/webt/yg/oo/tu/ygootu7mzie_3abd1rfhkvps4du.png)
Дальнейшая настройка политики.
![image](https://habrastorage.org/r/w1560/webt/ku/en/6o/kuen6owcoj0m6dcpcsgmgyi_uig.png)
На этапе выбора протокола аутентификации достаточно выбрать нешифрованный (о чем получите предупреждение) PAP для SSH или шифрованный CHAP для WinBox. Я выбрал оба. Если есть необходимость использовать web версию, то достаточно включить MS-CHAPv2, в остальном всё аналогично.
![image](https://habrastorage.org/r/w1560/webt/wv/_r/mq/wv_rmqkfqpcy7bw1clsjc4riskg.png)
Собственно, предупреждение о выборе небезопасного способа. Предлагают почитать пошаговый справочный материал.
![image](https://habrastorage.org/r/w1560/webt/i3/kk/by/i3kkbylmjhypugw_kf9sv0e43jq.png)
На данном этапе я не стал ничего трогать.
![image](https://habrastorage.org/r/w1560/webt/9y/sc/hi/9yschijgxsm4jglv_ahxc8bxwrk.png)
Итоговые установки политики.
У меня не получилось воспроизвести это через PowerShell, даже стандартный example с technet'а. Буду признателен, если подскажете почему.
![image](https://habrastorage.org/r/w1560/webt/lb/uw/b2/lbuwb2lsewqrylkejyxpkv1roca.png)
Выбираем нужный приоритет двигая выше или ниже пункт политики.
![image](https://habrastorage.org/r/w1560/webt/wf/0i/yv/wf0iyv0lqloingsb30stzdyz9wg.png)
Назовем её Routers.
![image](https://habrastorage.org/r/w1560/webt/55/tk/91/55tk917dxjzx5kxuyzwn-e2vtli.png)
Как и прежде, нужно определить условия.
![image](https://habrastorage.org/r/w1560/webt/ma/yv/sm/mayvsmzur3v_mgcen3-6d5nsu50.png)
В AD у меня создан дополнительный пользователь состоящий в группе Domain Admins. Выбираю условие Windows Group исходя из того, чтобы все администраторы домена смогли получать доступ к MikroTik.
![image](https://habrastorage.org/r/w1560/webt/wc/fb/5z/wcfb5zxrpggeas2frm22htl98c0.png)
![image](https://habrastorage.org/r/w1560/webt/1p/sy/-e/1psy-epxsvx1g0dhnrplhutwuhw.png)
Разрешительное или запретительное правило. Мы будем разрешать всем, кто попал под условие.
![image](https://habrastorage.org/r/w1560/webt/4d/ok/ho/4dokhogolhbbbbtee8fkjkv7vn0.png)
Способ аутенификации выбираем аналогичный прошлой политике.
![image](https://habrastorage.org/r/w1560/webt/ez/wn/d1/ezwnd1lnqf2kjfdfl2gzdijro1c.png)
Исходя из необходимости можно настроить дополнительные настройки. Я оставил без изменений.
![image](https://habrastorage.org/r/w1560/webt/33/ml/gm/33mlgmfhnxnbt9uifoo5e_ai-au.png)
Далее необходимо выбрать что будет отправляться на сервер.
![image](https://habrastorage.org/r/w1560/webt/n5/st/hc/n5sthcu1yw6vf_my-kkmamwz5pc.png)
Итоговые настройки политики сети.
![image](https://habrastorage.org/r/w1560/webt/j_/li/6g/j_li6gyht7rfu2gkbauxvpfdkji.png)
Выбираем необходимый приоритет среди других политик, если необходимо.
![image](https://habrastorage.org/r/w1560/webt/qu/te/da/qutedatrugaieamwmbrbo4d8-fy.png)
Чтобы учетная запись проверялась через NPS в AD у этого пользователя на вкладке Dial-in в разделе Network Access Permission должен быть отмечен пункт Control access through NPS Network Policy.
![image](https://habrastorage.org/r/w1560/webt/ee/lf/bk/eelfbkahwmeotpjaai5v0xxw6ga.png)
Для возможности авторизовываться через WinBox нужно включить обратимое шифрование в профиле пользователя.
![image](https://habrastorage.org/r/w1560/webt/fx/e6/dc/fxe6dclf6utua1khx4iivoqr19e.png)
![image](https://habrastorage.org/r/w1560/webt/mi/_m/1e/mi_m1e3cyiox1lsxaaorc6tcpmm.png)
В System/Users и на вкладке Users включаем пункт Use RADIUS. По умолчанию выбран доступ только для чтения.
![image](https://habrastorage.org/r/w1560/webt/dd/tu/lt/ddtultu0kwpwlryjfqrb4lxlwrk.png)
Открываем настройки Radius и добавляем новый сервер. Сервис выбирается исходя из назначения. Лучше, конечно же, делить доступ между ними. Address — адрес сервера на котором установлен NPS.
Secret — ключ, который был сгенерирован на стадии добавления клиента на сервере.
![image](https://habrastorage.org/r/w1560/webt/l3/29/n9/l329n9f89l9tepmjvppce-dttca.png)
![image](https://habrastorage.org/r/w1560/webt/26/ww/lu/26wwlupabapasbuux8otgcpniq4.png)
И проверяем авторизацию в Winbox.
![image](https://habrastorage.org/r/w1560/webt/g8/6j/vs/g86jvsnaoo5e-dxc_1-khiiqp0g.png)
Как видим, в активных пользователях висят системный admin и оба подключения доменного юзера с доступом для чтения через SSH и Winbox.
![image](https://habrastorage.org/r/w1560/webt/y2/ej/q8/y2ejq8vvgpskwtkrvqpbrjxzd9w.png)
Всё работает.
Спасибо за внимание.
План:
Установка роли NPS;Добавление RADIUS клиента;
Создание политики подключения;
Создание политики сети;
Добавление сервера авторизации на MikroTik;
Проверка через SSH и WinBox.
Установка роли NPS
Имеем Windows Server 2016 Datacenter с уже установленным доменом.
![image](https://habrastorage.org/webt/vu/mz/by/vumzbynlv-yxayxajjj-2ev3aqc.png)
Выбираем сервер, на котором будет разворачиваться роль. Microsoft не рекомендует делать это на контроллере домена, но в некоторых best practices для уменьшения задержек дают совет ставить именно на него. Добавляем роль Network Policy and Access Server вместе с management tools для настройки.
Install-WindowsFeature NPAS -IncludeManagementTools
![image](https://habrastorage.org/webt/ey/fq/sj/eyfqsjpic4zxv1sb_dqxycynmnc.png)
![image](https://habrastorage.org/webt/q7/11/yl/q711ylbhb-zfbgjoxktvxly00ry.png)
![image](https://habrastorage.org/webt/fk/1x/ph/fk1xpheotsy0w6smfl3pqfnsacq.png)
![image](https://habrastorage.org/webt/zg/6g/zz/zg6gzz0fr1gytbkane1nvjpvpks.png)
Запускаем любым удобным способом админку NPS. Например, через менеджер серверов.
![image](https://habrastorage.org/webt/cd/n8/pw/cdn8pw_ekrzju3_teh_73s9jris.png)
Регистрируем сервер NPS в AD.
netsh ras add registeredserver
![image](https://habrastorage.org/webt/cy/yu/0e/cyyu0efhs-jy_f0ciso0jq_xyh0.png)
Добавление RADIUS клиента
Для того, чтобы сервер знал с какими устройствами налаживать общение нужно добавить их в RADIUS Clients.![image](https://habrastorage.org/webt/21/p4/ev/21p4evypfu4gpwydkfxkb6-ptac.png)
Для примера, добавляю свой MikroTik wAP. Friendly name установил как Identity на устройстве и IP заданный на его единственном проводном интерфейсе. Для того, чтобы устройство смогло авторизоваться на сервере нужно ввести ключ. Он создается на сервере либо вручную, либо генерируется автоматически. Я предпочел второй вариант.
New-NpsRadiusClient –Address "10.1.1.21" –Name "router01" –SharedSecret "egEcM4myJCptphGlZ1UymS#qLh^urp@fJ1hF8dE6dwb27NI^oIJtTWKKp^MEsU6p"
![image](https://habrastorage.org/webt/kx/wr/xq/kxwrxqmgenj-hqxzs_mr60qtcfg.png)
Vendor name остановим на стандартном RADIUS.
![image](https://habrastorage.org/webt/gq/wg/mt/gqwgmtfot22xymysjmukruorx6k.png)
Устройство добавлено.
Создание политики подключения
![image](https://habrastorage.org/webt/-m/e3/ej/-me3ej6hbsqzkbs0adsvxteoghm.png)
Подбираем подходящее название для политики.
![image](https://habrastorage.org/webt/91/g9/gv/91g9gvvi5j44qrtme3c2oznjgho.png)
Определяем наше устройство с которым будет работать сервер.
![image](https://habrastorage.org/webt/9c/gd/qk/9cgdqktpjuc2yihttxt7bsfrajk.png)
Я выбрал только Client Friendly Name со значением Router01. Это четко привязывает данный пункт политики к устройству через созданного клиента. Можно идентифицировать устройство Mikrotik по Identity выбрав NAS Identifier.
![image](https://habrastorage.org/webt/vc/0j/rv/vc0jrvjonmozcykirhmwhbkh_1c.png)
Без предварительной конфигурации устройства Identity = MikroTik.
![image](https://habrastorage.org/webt/yg/oo/tu/ygootu7mzie_3abd1rfhkvps4du.png)
Дальнейшая настройка политики.
![image](https://habrastorage.org/webt/ku/en/6o/kuen6owcoj0m6dcpcsgmgyi_uig.png)
На этапе выбора протокола аутентификации достаточно выбрать нешифрованный (о чем получите предупреждение) PAP для SSH или шифрованный CHAP для WinBox. Я выбрал оба. Если есть необходимость использовать web версию, то достаточно включить MS-CHAPv2, в остальном всё аналогично.
![image](https://habrastorage.org/webt/wv/_r/mq/wv_rmqkfqpcy7bw1clsjc4riskg.png)
Собственно, предупреждение о выборе небезопасного способа. Предлагают почитать пошаговый справочный материал.
![image](https://habrastorage.org/webt/i3/kk/by/i3kkbylmjhypugw_kf9sv0e43jq.png)
На данном этапе я не стал ничего трогать.
![image](https://habrastorage.org/webt/9y/sc/hi/9yschijgxsm4jglv_ahxc8bxwrk.png)
Итоговые установки политики.
У меня не получилось воспроизвести это через PowerShell, даже стандартный example с technet'а. Буду признателен, если подскажете почему.
netsh nps add crp name = "Request Policy Router01" state = "ENABLE" processingorder = "1" policysource = "0" conditionid ="0x1020" conditiondata = "router01" profileid = "0x1025" profiledata = "0x1" profileid = "0x1009" profiledata = "0x1" "0x2" profileid = "0x1fb0" profiledata = "TRUE"
![image](https://habrastorage.org/webt/lb/uw/b2/lbuwb2lsewqrylkejyxpkv1roca.png)
Выбираем нужный приоритет двигая выше или ниже пункт политики.
Создание политики сети
![image](https://habrastorage.org/webt/wf/0i/yv/wf0iyv0lqloingsb30stzdyz9wg.png)
Назовем её Routers.
![image](https://habrastorage.org/webt/55/tk/91/55tk917dxjzx5kxuyzwn-e2vtli.png)
Как и прежде, нужно определить условия.
![image](https://habrastorage.org/webt/ma/yv/sm/mayvsmzur3v_mgcen3-6d5nsu50.png)
В AD у меня создан дополнительный пользователь состоящий в группе Domain Admins. Выбираю условие Windows Group исходя из того, чтобы все администраторы домена смогли получать доступ к MikroTik.
![image](https://habrastorage.org/webt/wc/fb/5z/wcfb5zxrpggeas2frm22htl98c0.png)
![image](https://habrastorage.org/webt/1p/sy/-e/1psy-epxsvx1g0dhnrplhutwuhw.png)
Разрешительное или запретительное правило. Мы будем разрешать всем, кто попал под условие.
![image](https://habrastorage.org/webt/4d/ok/ho/4dokhogolhbbbbtee8fkjkv7vn0.png)
Способ аутенификации выбираем аналогичный прошлой политике.
![image](https://habrastorage.org/webt/ez/wn/d1/ezwnd1lnqf2kjfdfl2gzdijro1c.png)
Исходя из необходимости можно настроить дополнительные настройки. Я оставил без изменений.
![image](https://habrastorage.org/webt/33/ml/gm/33mlgmfhnxnbt9uifoo5e_ai-au.png)
Далее необходимо выбрать что будет отправляться на сервер.
![image](https://habrastorage.org/webt/n5/st/hc/n5sthcu1yw6vf_my-kkmamwz5pc.png)
Итоговые настройки политики сети.
![image](https://habrastorage.org/webt/j_/li/6g/j_li6gyht7rfu2gkbauxvpfdkji.png)
Выбираем необходимый приоритет среди других политик, если необходимо.
![image](https://habrastorage.org/webt/qu/te/da/qutedatrugaieamwmbrbo4d8-fy.png)
Чтобы учетная запись проверялась через NPS в AD у этого пользователя на вкладке Dial-in в разделе Network Access Permission должен быть отмечен пункт Control access through NPS Network Policy.
![image](https://habrastorage.org/webt/ee/lf/bk/eelfbkahwmeotpjaai5v0xxw6ga.png)
Для возможности авторизовываться через WinBox нужно включить обратимое шифрование в профиле пользователя.
![image](https://habrastorage.org/webt/fx/e6/dc/fxe6dclf6utua1khx4iivoqr19e.png)
Добавление сервера авторизации на MikroTik
Первым делом присвоим System/Identity равным router01 и IP с маской для интерфейса./system identity set name=router01
/ip address add address=10.1.1.21/24 interface=ether1 network=10.1.1.0
![image](https://habrastorage.org/webt/mi/_m/1e/mi_m1e3cyiox1lsxaaorc6tcpmm.png)
В System/Users и на вкладке Users включаем пункт Use RADIUS. По умолчанию выбран доступ только для чтения.
/user aaa set use-radius=yes
![image](https://habrastorage.org/webt/dd/tu/lt/ddtultu0kwpwlryjfqrb4lxlwrk.png)
Открываем настройки Radius и добавляем новый сервер. Сервис выбирается исходя из назначения. Лучше, конечно же, делить доступ между ними. Address — адрес сервера на котором установлен NPS.
Secret — ключ, который был сгенерирован на стадии добавления клиента на сервере.
/radius add address=10.1.1.1 secret=egEcM4myJCptphGlZ1UymS#qLh^urp@fJ1hF8dE6dwb27NI^oIJtTWKKp^MEsU6p service=login
![image](https://habrastorage.org/webt/l3/29/n9/l329n9f89l9tepmjvppce-dttca.png)
Проверка через SSH и WinBox
Проверка подключения через SSH и экспорт конфигурации.![image](https://habrastorage.org/webt/26/ww/lu/26wwlupabapasbuux8otgcpniq4.png)
И проверяем авторизацию в Winbox.
![image](https://habrastorage.org/webt/g8/6j/vs/g86jvsnaoo5e-dxc_1-khiiqp0g.png)
Как видим, в активных пользователях висят системный admin и оба подключения доменного юзера с доступом для чтения через SSH и Winbox.
![image](https://habrastorage.org/webt/y2/ej/q8/y2ejq8vvgpskwtkrvqpbrjxzd9w.png)
Всё работает.
Спасибо за внимание.