Сегодня расскажу как настроил L2TP на Микротике с авторизацией через Active Directory (AD). Расскажу про 2 схемы реализации доступа к сетям( чуть-чуть про безопасность).
Конечно вы скажите что таких статей куча( пример, пример 2), но я сделал небольшую автоматизацию для пользователей, читайте далее….
Начнём с описания схемы
Пользователи подключаются к Mikrotik, лучше конечно Mikrotik с аппаратной поддержкой IPsec, это такие модели, как RB730Gr3 или RB4011 или CCR1009, авторизовываясь через AD, для этого нам и потребуется RAIDUS, а далее пользователь должен попадать в сеть для доступа в терминальный сервер( в нашем случаем только в сеть 192.168.10.0/24 vlan 20).
Пользователю запрещено подключаться к нам в сеть и сеть серверов( см. самый последний скриншот).

Начнём создания сети, создаём pool ip которые будем раздавать нашим клиентам

Вот такой диапазон я выбрал, вы же можете взять любой из частных:

Далее создаём PPP профиль IP->PPP->Profiles, DNS я указал -это тоже ip этого микротика, вы можете исходя из этого примера указать 172.16.45.1( это потом нам пригодится), указываем, имя, адрес нашего микротика 172.16.45.1 и выбираем наш только что созданный пул.
Change TCP MSS — yes
Use UPnP можно выбрать no

во вкладке протоколы убираем возможность использования IPv6 (если она у вас есть)
«В PPP Profile оставили Encryption, Compression в default — привет MPPE внутри IPsec», нам этого не надо, поэтому включаем.

После того как создали профиль возвращаемся в назад и включаем L2TP Server, указываем, всё как на рисунке, только между вторым и третьим шагом нужно выбрать наш только что созданный профиль.
На третьем шаге включаем использование шифрования, что бы наши данные если и смогу перехватить, то не смогли бы расшифровать. на четвёртом шаге указываем наш ключ IPsec (чем длиннее, тем лучше)
«Pre Shared Key для IKE AUTH должен быть не менее 32 символов и создан с энтропией не менее 256 бит.
IKE Aggressive exchange необходимо запретить для избегания Offline Dictionary Attack на ваш PSK.»

Called ID Type у меня указано ip address, а так же я чуть позже поставил галочку одна сессия на хост (но если работает из под NAT, то больше чем 1 клиент всё равно не подключится)
в Default-Profile указываем наш профиль см. рисунок

«Если вы не уменьшите MTU до fail-safe 1400, то будет выполняться fragmentation after encapsulation, а это приводит к низкой производительности IPsec туннеля.
То есть мы инкапсулируем IP пакет в PPP кадр, далее в L2TP пакет, далее в UDP, потом в ESP, потом если повезёт сразу в IP, если нет снова в UDP и потом в IP, последний этап потребует выполнить фрагментацию поскольку итоговый размер UDP/ESP будет превышать MTU.»
Очевидно, что причина этого — сложный путь обработки трафика, который полностью ложится на плечи CPU. Можно ли этого как-либо избежать? Можно, в RouterOS v6 для этого появилась новая технология — Fast Path (быстрый путь), которая позволяет направить трафик по быстрому пути, без обработки ядром ОС, что позволяет существенно снизить нагрузку на систему.
Основная мысль, положенная в основу этой технологии такова, что пакеты уже установленных соединений, а также тех участков передачи трафика, где не требуется фильтрация и контроль, можно отправить по быстрому пути, тем самым разгружая процессор и ускоряя передачу данных. Fast Path — это расширение драйвера интерфейса, которое позволяет ему напрямую взаимодействовать с некоторыми подсистемами RouterOS и пропускать остальные.
Авторизовывать пользователей мы будем через Windows Active Directory, для этого нам потребуется Radius, переходим
IP->PPP->Secrets и как указано на рисунке включаем Radius аутентификацию

Далее нам потребуется настроить работу Radius, начнём со стороны Микротик, как показано на рисунке ниже, радиус будет использоваться только для PPP соединений,
-
указываем ip нашего сервера с развёрнутой службой NPS на Windows Server, в нашем случае это 192.168.10.2
-
Придумываем ключ для работы Radius ( взаимодействия Mikrotik и NPS) это не тот ключ, что мы придумывали IPsec
-
Source IP address of the packets sent to RADIUS server оставляем 0.0.0.0/0

2. Настройка Windows Server
Для начала добавим новую роль, это «Сервер политики сети» (NPS), требуется для разворачивания Radius сервера, пошаговая инструкция ниже.



А так же нам потребуется пакет администрирования CMAK

Запускаем NPS,

Регистрируем сервер а Active Directory

Если работаем с Mikrotik, то достаточно оставить только порты 1812 и 1813

Создаём RADIUS клиента

В нашем случае, это будет Mikrotik, указываем его ip адрес, у нас это шлюз, в пунктах 3,4 (см. рисунок) указываем секретную фразу которую будем использовать для подключения клиента

Идём на контроллер AD, создаём группу доступа к VPN, добавляем в неё пользователей, кто будет иметь доступ к подключению.

Вернёмся в NPS.
Идём в «Политики->Сетевые политики», создаём новую


Указываем в политиках, что пускать будем конкретную группу.


Указываем нормальное имя клиента, что бы боты не подключались


Проверка подлинности будет MS-CHAP-v2, EAP- сертификаты не используем, кто хочет может развернуть центр сертификации и выдавать сертификаты, но это совсем другая история…




Создаём политику запросов

Ограничим работу VPN по дням недели и времени суток( нечего нас ломать пока мы спим)

я запретил работу с 1 ночи до 5 утра и в воскресенье


3. Настройка клиентского пакета через CMAK
учтите если требуется создание пакета для 32-bit систем, то потребуется установить CMAK на машинке 32bit и на ней проделать те же самые манипуляции
Далее пошаговые скриншоты по созданию пакета







заходим в настройки

Указываем IPsec ключ в раздел и «общий ключ» тот что из раздела настройки Mikrotik (см.выше)
Придумываем ПИН-код для запуска данного приложения, этот пин мы будем сообщать пользователю вместо длинного пароля IPsec. У меня пин это что-то не сложное например:
#You2021Company!, где YouCompany название вашей компании.



И вот тут как раз та заковырочка, здесь мы указываем «батничек» с маршрутом, что бы пользователь прозрачно попадал и работал с той сетью, которую мы хотим ему предоставить.

Вот что указано в нашем route.bat



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

Указываем файл-соглашение для пользователя (что-то пугающее, что бы свои пароли никому не разглашали!)

По данному пути у нас создаётся рабочий пакет, запаковываем его в zip и закидываем к себе на сайт, и всех пользователей направляем туда, а так же на сайте можно сделать инструкцию, что бы пользователь мог определить нужен ему 32 или 64битный пакет.

Настройка Firewall
Создаём правило в Микротике



Исключение из NAT L2TP клиентов через ipsec:out не требуется, это актуально только для транзитного трафика и чистого IPsec. Поскольку XFRM lookup выполняется после SNAT, для L2TP клиентов RD выполняется раньше чем SNAT, а после инкапсуляции L2TP в ESP, трафик порождается локально и в SNAT не попадает.»

Запрещаем взаимодействие сете между собой ip->firewall->вкладка rules, ставим значение действий «drop».


Вот и всё, теперь можно проверять, закидываем пользователя в доменную группу, скачиваем zip пакет, устанавливаем и пробуем авторизоваться.
Использовал следующие публикации:
-
https://xn—-7sba7aachdbqfnhtigrl.xn--j1amh/nastrojka-mikrotik-ipsec-vpn-tunnel-mezhdu-ofisami/
-
спасибо@zanswer за продуктивную критику, всё что рекомендовали-исправил
ссылка на оригинал статьи https://habr.com/ru/post/672738/
Добавить комментарий