Москва+7 (495) 103-4-103
Заказать звонок
  • Заказать звонок
  • Отложить 0 шт.
  • Сравнить 0 шт.
 16 Дек 2017    MikroTik, Настройка и установка оборудования , Практика и программирование

Авторизация через Network Policy Server (NPS) для MikroTik

Как быстро и просто настроить авторизацию через RADIUS от Microsoft? Думаю, это поможет тем, кто захочет иметь возможность заходить на устройства MikroTik через дружелюбный WinBox и простой SSH.

Установка роли NPS

Имеем Windows Server 2016 Datacenter с уже установленным доменом.

Windows Server 2016 Datacenter

Выбираем сервер, на котором будет разворачиваться роль. Microsoft не рекомендует делать это на контроллере домена, но в некоторых best practices для уменьшения задержек дают совет ставить именно на него. Добавляем роль Network Policy and Access Server вместе с management tools для настройки.

Install-WindowsFeature NPAS -IncludeManagementTools

Network Policy and Access Server

Network Policy and Access Server

Network Policy and Access Server

Network Policy and Access Server

Запускаем любым удобным способом админку NPS. Например, через менеджер серверов.

Запуск NPS

Регистрируем сервер NPS в AD.

netsh ras add registeredserver
Регистрируем сервер NPS в AD

Добавление RADIUS клиента

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

RADIUS Clients

Для примера, добавляю свой MikroTik wAP. Friendly name установил как Identity на устройстве и IP заданный на его единственном проводном интерфейсе. Для того, чтобы устройство смогло авторизоваться на сервере нужно ввести ключ. Он создается на сервере либо вручную, либо генерируется автоматически. Я предпочел второй вариант.

New-NpsRadiusClient –Address "10.1.1.21" –Name "router01" –SharedSecret "egEcM4myJCptphGlZ1UymS#qLh^urp@fJ1hF8dE6dwb27NI^oIJtTWKKp^MEsU6p"
New Radius Client

Vendor name остановим на стандартном RADIUS.

Vendor name

Устройство добавлено.

Создание политики подключения

Создание политики подключения

Подбираем подходящее название для политики.

Подбор названия для политики

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

Определяем наше устройство с которым будет работать сервер

Я выбрал только Client Friendly Name со значением Router01. Это четко привязывает данный пункт политики к устройству через созданного клиента. Можно идентифицировать устройство Mikrotik по Identity выбрав NAS Identifier.

Client Friendly Name со значением Router01

Без предварительной конфигурации устройства Identity = MikroTik.

Identity = MikroTik

Дальнейшая настройка политики.

Дальнейшая настройка политики

На этапе выбора протокола аутентификации достаточно выбрать нешифрованный (о чем получите предупреждение) PAP для SSH или шифрованный CHAP для WinBox. Я выбрал оба. Если есть необходимость использовать web версию, то достаточно включить MS-CHAPv2, в остальном всё аналогично.

PAP для SSH или шифрованный CHAP для WinBox

Собственно, предупреждение о выборе небезопасного способа. Предлагают почитать пошаговый справочный материал.

предупреждение о выборе небезопасного способа

На данном этапе я не стал ничего трогать.

PAP для SSH или шифрованный CHAP для WinBox

Итоговые установки политики.

У меня не получилось воспроизвести это через 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"
New Connection Request Policy

Выбираем нужный приоритет двигая выше или ниже пункт политики.

Создание политики сети

Network Policy Server

Назовем её Routers.

etwork Policy Server -Routers

Как и прежде, нужно определить условия.

определить условия

В AD у меня создан дополнительный пользователь состоящий в группе Domain Admins. Выбираю условие Windows Group исходя из того, чтобы все администраторы домена смогли получать доступ к MikroTik.

Windows Group

Windows Group

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

Разрешительное или запретительное правило

Способ аутенификации выбираем аналогичный прошлой политике.

Способ аутенификации

Исходя из необходимости можно настроить дополнительные настройки. Я оставил без изменений.

дополнительные настройки

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

Configure Settings

Итоговые настройки политики сети.

Итоговые настройки политики сети

Выбираем необходимый приоритет среди других политик, если необходимо.

Выбираем необходимый приоритет

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

Network Access Permission

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

обратимое шифрование

Добавление сервера авторизации на 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
System/Identity

В System/Users и на вкладке Users включаем пункт Use RADIUS. По умолчанию выбран доступ только для чтения.

/user aaa set use-radius=yes
Use RADIUS

Открываем настройки Radius и добавляем новый сервер. Сервис выбирается исходя из назначения. Лучше, конечно же, делить доступ между ними. Address — адрес сервера на котором установлен NSP.

Secret — ключ, который был сгенерирован на стадии добавления клиента на сервере.

/radius add address=10.1.1.1 secret=egEcM4myJCptphGlZ1UymS#qLh^urp@fJ1hF8dE6dwb27NI^oIJtTWKKp^MEsU6p service=login
Radius Settings

Проверка через SSH и WinBox

Проверка подключения через SSH и экспорт конфигурации.

Проверка через SSH и WinBox

И проверяем авторизацию в Winbox.

Проверяем авторизацию в Winbox

Как видим, в активных пользователях висят системный admin и оба подключения доменного юзера с доступом для чтения через SSH и Winbox.

Проверяем авторизацию в Winbox

Всё работает.

Настройка системы SMS авторизации iGoFree на MikroTik

Настройка системы SMS авторизации iGoFree на MikroTik


Настройка начинается с подключения маршрутизатора к интернету. В самом простом случае следует вставить Ethernet кабель от провайдера в первый порт MikroTik и роутер получает IP через DHCP client. Кроме того по умолчанию на первом порту сделан scr-nat masqurade. Если необходима постоянная достоступность интернета, можно настроить резервирование через 3G модем. С модемами Huawei поддерживающими Hi-Link нужно создать DHCP client на интерфейсе lte2 указав в поле Default Route Distance (метрика или цена маршрута) значение большее чем на основном канале. Далее следует сделать в IP/Firewall/NAT правило scr-nat action Masquarade на интерфейс lte2 созданный 3G модемом.

Настройка маршрутизатора

Настроим OpenVPN client на MikroTik. Для этого откроем окно с интерфейсами и плюсиком добавим новый интерфейс:

OpenVPN client на MikroTik

Введём IP адрес сервера OpenVPN и логин пароль для доступа к нему. Хэшкод MD5 и алгоритм шифрования AES c ключём 128 бит:

IP адрес сервера OpenVPN

Настроим точку доступа wlan1 вещающую Wi-Fi сеть персонала заведения в котором устанавливается система авторизации. Выбираем узкие каналы в 20 mHz которые позволяют достич максимальной дальности Wi-Fi сигнала. Связано это с тем, что энергия точки доступа распределяется на более узкую полосу, позволяя иметь в два раза большую силу сигнала на удалённых участках сети. Иначе сказать полезный сигнал Wi-Fi будет сильнее выделятся на уровне шумов. Кроме того на узких каналах можно разместить больше точек доступа разнеся их даже на 1, 5, 9, 13 канал максимально заполнив радиочастотный спектр полезным сигналом. Выбрав Wireless Protocol 802.11 можно обеспечить максимальную совместимость с Wi-Fi устройствами клиентов заведения, ведь обычные устройства не поддерживают проприетарных полинговых проколов MikrоTik.

Настроим точку доступа

Создадим виртуальную точку доступа Wi-Fi в которой будет использоваться SMS авторизация:

Создадим виртуальную точку доступа Wi-Fi

Индификатор сети SSID Walkers.Free профиль сети default, который не содержит пароля. Чтобы предотвратить ARP спуфинг клиентов друг другом (атака человек по середине позволяющая перехватывать трафик пользователя не использующего шифрования) снимаем галочку Default Forward и тем самым запрещаем передавать данные между клиентами подключенными к свободной Wi-Fi сети.

Индификатор сети SSID Walkers.Free

Мы хотим сделать одну сеть с индификатором Walkers.Free на четырёх точках доступа Wi-Fi позволяющую использовать SMS авторизацию. Проще всего это сделать с помощью технологии VLAN на основе меток. Кадры основной сети не будут иметь меток, а кадры дополнительной будут помечаться id 1, 2, 3. Создаём vlan1 с id 1 на интерфейсе bridge-local:

VLAN на основе меток

По аналогии создаём vlan2 с id 2 и vlan3 c id 3:

По аналогии создаём vlan2 с id 2 и vlan3 c id 3:

Создадим bridge1 на котором будет работать хотспот:

Создадим bridge1 на котором будет работать хотспо

Добавим в bridge1 vlan1, vlan2, vlan3 и виртуальную точку доступа Wi-Fi wlan2:

Добавим в bridge1 vlan1, vlan2, vlan3 и виртуальную точку доступа Wi-Fi wlan2

Зафильтруем на вкладке Filters трафик между vlan1, vlan2, vlan3 и wlan2, чтобы клиенты подключённые к разным точкам доступа не могли передавать данные между собой:

Зафильтруем на вкладке Filters трафик между vlan1, vlan2, vlan3 и wlan2

Пропишем IP адрес на интерфейсе на котором мы будем делать HotSpot. В нашем случае это bridge1 хотя можно прописать и на wlan2:

Пропишем IP адре

Настроим с помощью мастера DHCP сервер:

астроим с помощью мастера DHCP сервер

Согласимся с предложеной сетью 10.130.92.0/24:

Согласимся с предложеной сетью

Согласимся с предложенным мастером шлюзом:

Согласимся с предложенным мастером шлюзом

Ввиду того, что в свободной сети Walkers.Free не будет размещаться сетевое оборудование можно использовать весь пул свободных IP адресов кроме 10.130.92.1:

007-dhcp_setup.png

Время аренды IP адреса по умолчанию 10 минут, нажмём Next ничего не меняя:

Время аренды IP адреса

Если всё правильно сделано мы увидим сообщение, что DHCP успешно настроен:

DHCP успешно настроен

В сети персонала рекомендую выставить DHCP "authoritative" в Yes (DHCP авторитетный - Да), что заставит DHCP отвечать на запросы клиентов максимально быстро и отключить неавторитетные DHCP сервера в сети. Также выставить галочку "Add ARP for leases" для того чтобы в ARP таблицу автоматически добавлялись сопоставления IP с MAC.

DHCP

Настроим HotSpot. Если его нет в меню IP, значит необходимо зайти в System/Packages, включить его и программно перезагрузить маршрутизатор. Если он уже включён, открываем окно создания HotSpot и плюсиком создаём новый сервер: Выбираем интерфейс на котором будет работать HotSpot - bridge1; пул раздачи IP адресов ранее созданый с помощью мастера настройки DHCP и профиль default, который сейчас будем править:

HotSpot

Поправим Server Profile default: Ставим галочку Login HTTP PAP. Данные для авторизации пользователя можно передавать открытым текстом по сети ввиду того, что ARP спуфинг не возможен.

Поправим Server Profile

На вкладке RADIUS поставим галочку Use RADIUS, что означает что список пользователей (MAC адресов) будет храниться на радиус сервере ООО "Уолкерс Системс":

Use RADIUS

Добавим список хостов и IP адресов к которым разрешён доступ без авторизации на HotSpot, чтобы пользователи могли увидеть страничку авторизации:

Добавим список хостов и IP

Дополнительно можно поправить User Profiles изменив период показа рекламы Session Timeout. Также можно дополнительно ограничить скорость пользователю, если в результате сбоя отказал основной канал связи с интернетом. Выставлено 128k исходящая скорость, 512k загрузка:

User Profiles

Что касается папки hotspot на самом роутере, то оно не годится нам и его следует заменить на то что мы предоставим: скачать

A link

Номера телефонов и MAC адреса пользователей хранятся на FreeRadius сервере. Настроим подключение роутера к серверу. Укажем IP адрес его, сервис для которого он используется и пароль:

FreeRadius сервер

Сведения о трафике пользователей собираются на внешнем сервере (коллекторе) работающим с протоколом netflow. В данном примере показана работа по протоколу 9-ой версии. Включим сенсор netflow на роутере поставив галочку в поле Enable. Выберем интерфейс с которого нужно собирать статистику, для того чтобы в анализаторе не было дублированных данных выбираем только интерфейс на котором есть наши пользователи. Нажав кнопочку Terget добавляем IP адреса серверов (коллекторы netflow). Собирать данные можно на нескольких серверах. Данные которые можно увидеть в анализаторе будут содержать IP адрес, протокол и порт по которому происходит передача данных от пользователя и к нему. Также собираются сведения о количестве трафика и времени использования интернета.

Сведения о трафике

Следует сделать также scr-nat с Action masquarade на интерфейс ведущий к серверам: FreeRADIUS, NetFlow коллектору:

Можно также обратить внимание на правила с буквой D (от dynamic), автоматически добавленые HotSpot:

правила с буквой D

Настроим правила фильтрации трафика. Если на маршрутизаторе реальный (статический) IP адрес в интернете рекомендуем проверить наличие в цепочке input на внешнем интерфейсе разрешающих правил с connection state: established и related. Если необходимо, можно разрешить ICMP, WEBBOX, WINBOX, SSH, Telnet. Остальной трафик к внешему интерфейсу лучше закрыть действием drop, что позволит уменьшить атаки на такие сервисы роутера как DNS и др.. Также следует в цепочке forward запретить доступ из сети с SMS авторизацией в сеть персонала и сетевого оборудования 10.130.92.0/24 -->> 192.168.0.0/16 действие Drop.

Настроим правила фильтрации трафика

Настроим hEX PoE lite поддерживающий пассивный PoE и позволяющий строить недорогие сети в местах где невозможно запитать Wi-Fi точки доступа, кроме как по ethernet кабелю. На схеме он выделен красным:

hEX PoE lite

Используем его как свитч и поэтому добавим ether1-gateway и группу портов 2-5 в local-bridge. Вторым действием можно добавить vlan1, vlan2, vlan3 с метками 1, 2, 3 прикрепив их к этому бриджу. Дополнительно, если необходимо, можно удалить IP адресс 192.168.88.1/24 c маршрутизатора, выключить DHCP сервер, и навесить DHCP-client на local-bridge:

Настроим hEX PoE lite

Далее настроим одну из конечных Wi-Fi точек доступа mAP lite:

mAP lite

Настроим сеть персонала кафе на mAP lite выбрав предварительно созданый profile1 где содержатся параметры шифрования и пароль доступа к сети:

Создадим виртуальную точку доступа vlan2 с SSID Walkers. Используем профиль default который не содержит пароля. Запрещаем forward клиентов данными между друг другом:

Создадим виртуальную точку доступа vlan2 с SSID Walkers

Вешаем vlan1 с id 1 на bridge-local:

Вешаем vlan1 с id 1 на bridge-local

Создаём новый bridge1 без настроек:

Создаём новый bridge1 без настроек

Добавляем виртуальный локальный интерфейс vlan1 и виртуальный беспроводной интерфейс wlan2 (SSID Walkers.Free) в bridge1:

Добавляем виртуальный локальный интерфейс

Дополнительно по аналогии с hEX PoE lite можно удалить IP адрес 192.168.88.1/24, DHCP сервер, правила фильтрации.

Настройка закончена! Конфигурацию хотспота с SMS авторизацией для mAP-2n можно скачать по этой ссылке. Логин: admin пароля нет.