Инструкция по настройке VPN сервера IKEv2 с авторизацией по сертификату. Настройка IKEv2 будет состоять из этапов:
- Создание SSL в MikroTik
- Настройка IKEv2
- Настройка Firewall IKEv2
- Экспорт сертификата
- Импорт SSL в Windows 11
- Настройка IKEv2 в Windows 11
- IKEv2 и Active Directory
- Проверка работы IKEv2
- Задать вопрос по настройке IKEv2
Преимущество такого метода в том, что использование учётной записи замещается использованием SSL сертификата. А это в разы безопасней и невозможно скомпрометировать через перебор пароля. Настройки становятся более ёмкими(сложными) и для того, чтобы подключить пользователя первым делом нужно передать сертификат. В эксплуатации IKEv2 компенсирует все сложность предварительной настройки, т.к. VPN туннель работает быстро и по современным мерках является актуальным для использования.
IKEv2 с авторизацией по SSL похож на настройку SSL VPN на оборудовании Fortigate, где сервером могут быть переданы динамические маршруты для клиента. В итоге клиент будет иметь доступы к локальной сети MikroTik, а его интернет будет работать через роутер клиента. Эта опция крайне удобна для системных администраторов и сетевых инженеров, т.к. позволяет сконфигурировать маршрутизацию подключаемого VPN клиента предварительно на роутере MikroTik.
Итого сертификат CA может быть выпущен:
- На IP адрес роутера MikroTik. Однако при смене IP придётся обновлять всю цепочку сертификатов;
- Cloud DDNS. Сертификаты будут привязаны к серийному номеру роутера MikroTik;
- Публичный DNS. Самый гибкий вариант для перенастройки.
Создание SSL для IKEv2 в MikroTik
CA – центр сертификации или удостоверяющий центр (англ. Certification authority, CA) — сторона (отдел, организация), чья честность неоспорима, а открытый ключ широко известен. Задача центра сертификации — подтверждать подлинность ключей шифрования с помощью сертификатов электронной подписи.
Всего будет создано 3 сертификата:
- CA – им будут подписываться клиентские и серверный сертификаты ;
- Сертификат для VPN сервера IKEv2;
- Индивидуальный сертификат для клиента.
В качестве “Subject Alt. Name” будет использоваться Cloud DDNS типа серийный_номер_роутера.sn.mynetname.net , который позволит оставаться в активном режиме IKEv2 VPN серверу при смене провайдера.
Включить Cloud DDNS
Настройка находится IP→Cloud
Создание SSL для CA
Настройка находится System→Certificates
Определение Key Usage для CA
Подпись CA
Создание сертификата для сервера VPN
Определение Key Usage для сервера VPN
Подпись сервера VPN
Создание SSL для пользователя
Подпись SSL для пользователя
После создания сертификатов их должно получиться всего три, для: CA, VPN сервера и пользователя(support).
Список сертификатов IKEv2
Настройка IKEv2 MikroTik с авторизацией по SSL
После того, как все сертификаты созданы, можно заняться настройкой IKEv2 на роутере MikroTik. Данная настройка будет иметь ряд смежных параметров с аналогичными настройками других видов VPN, использующие IKEv2 или IKEv1.
Первым делом нужно определить IP адреса, которые будут выдаваться VPN клиентам. Для этого нужно взять отдельную подсеть и отделить её от рабочего диапазона IP адресов. Такой подход ускорит диагностику(в случае проблем), позволит нормально настроить маршрутизацию, а также предоставит широкие возможности по внедрению ограничений(Firewall, NAT, QoS).
Создание IP Pool для VPN клиентов
Настройка находится IP→Pool
Настройка Ipsec Profile для IKEv2
Эта настройка относится к phase-1 IPsec и может быть дополнена другими алгоритмами и группами шифрования, набор которых зависят от подключаемых клиентов.
Настройка находится IP→IPsec→Profile
Настройка Ipsec Proposal для IKEv2
Эта настройка относится к phase-2 IPsec и может быть дополнена другими алгоритмами и группами шифрования, набор которых зависят от подключаемых клиентов.
Настройка находится IP→IPsec→Proposals
Настройка Ipsec Mode Config для IKEv2
Настройка находится IP→IPsec→Mode Configs
- Split Include содержит список разрешенных подсетей и узлов, которые будут переданы VPN клиенту в виде динамического маршрута. В данном случае клиенту будет передан маршрут в подсеть 192.168.88.0/24
- Static DNS если требуется передать VPN клиенту DNS сервер такой как Active Directory.
Настройка Ipsec Group для IKEv2
Настройка находится IP→IPsec→Groups
Настройка Ipsec Peer для IKEv2
Address=0.0.0.0/0 означает, что VPN сервер будет принимать любые подключения, независимо от IP адреса IKEv2 клиента.
Настройка находится IP→IPsec→Peers
Настройка Ipsec Policy для IKEv2
Настройка находится IP→IPsec→Policies
Настройка Ipsec Identity для IKEv2
- Certificate – сертификат VPN сервера;
- Remote Certificate – пользовательский сертификат. Именно по этому параметру будет проверяться имеет ли право VPN пользователь подключиться к серверу;
- Remote ID Type – какой тип ID будет ожидать от VPN клиента. Этот параметр позволяет указать в Remote ID полное наименование VPN клиента;
- Match By – выбор объекта для сравнения, Remote Certificate или Remote ID.
Настройка находится IP→IPsec→Identities
/ip ipsec policy group add name=IKEv2-Server /ip ipsec profile add name=IKEv2-Server /ip ipsec peer add exchange-mode=ike2 name=IKEv2-Server passive=yes profile=IKEv2-Server /ip ipsec proposal add name=IKEv2-Server /ip pool add name=Ip-IKEv2-Pool ranges=174.16.0.100-174.16.0.254 /ip ipsec mode-config add address-pool=Ip-IKEv2-Pool name=IKEv2-Server split-include=\ 192.168.88.0/24 system-dns=no /ip cloud set ddns-enabled=yes ddns-update-interval=1h /ip ipsec identity add auth-method=digital-signature certificate=aXXXXXXXXXX9.sn.mynetname.net \ generate-policy=port-strict match-by=certificate mode-config=IKEv2-Server \ peer=IKEv2-Server policy-template-group=IKEv2-Server remote-certificate=\ [email protected] remote-id=\ user-fqdn:[email protected] /ip ipsec policy add dst-address=0.0.0.0/0 group=IKEv2-Server proposal=IKEv2-Server \ src-address=0.0.0.0/0 template=yes
Настройка Firewall для IKEv2 MikroTik
Ниже будет рассмотрен базовый Firewall на роутере MikroTik, в который будет добавлено разрешающее правило для IKEv2 подключений.
Разрешить входящее IKEv2 подключение
Настройка находится IP→Firewall→Filter Rules
/ip firewall filter add action=accept chain=input dst-port=500,4500 in-interface-list=WAN \ protocol=udp
Общий вид Firewall
Экспорт сертификата для IKEv2 подключений
Всего экспортироваться сертификатов будет два – для CA(без ключа) и для пользователя(с закрытым ключом).
Экспорт сертификата для пользователя
Настройка находится System→Certificates
Указать тип сертификата PKCS12 для пользователя
Экспорт сертификата для CA
Сертификат для CA должен быть типа PEM.
Скопировать сертификат IKEv2
Настройка находится File→File List
Импорт сертификата в Windows 11
Импорт сертификата для IKEv2 для разных систем особо не будет отличаться, важно контролировать:
- CA должен быть импортирован в доверительные CA;
- Пользовательский сертификат с закрытым ключом должен быть помещен в раздел “Личный” локального ПК.
Для импорта или редактирования списка сертификатов можно воспользоваться системной консолью mmc.exe, в которую нужно добавить оснастку Сертификаты→учётной записи компьютера.
Импорт сертификата CA(открытый ключ)
Импорт сертификата для пользователя(закрытый ключ)
Ввод закрытого ключа
Выбор хранилища для сертификата
Настройка IKEv2 в Windows 11
На этом этапе нужно создать VPN подключение типа IKEv2 с авторизацией по SSL. На Windows клиент сертификат уже ранее был импортирован, а IKEv2 сервер активен и ожидает подключения.
Открыть параметры сети и Интернета
Перейти в раздел настройки VPN
Добавить новое IKEv2 подключение
Заполнить параметрами новое IKEv2 подключение
Изменить параметр расположения SSL
Подключиться к VPN IKEv2
Настройка IKEv2 с Active Directory авторизацией
Для настройки будет взят предварительно подготовленный стенд:
- Настроенный Radius на Windows Server;
- Роутер MikroTik уже успешно авторизируется в Radius сервере;
- Используется VPN типа IKEv2 с авторизацией по сертификату.
Обновление параметров Radius сервера
Активировать службу IPsec для Radius авторизации
Настройка находится RADIUS
Обновить настройки IPsec Mode Config
Настройка находится IP→IPsec→Mode Configs
Обновить настройки IPsec Identity
Настройка находится IP→IPsec→Identities
Обновить параметры VPN клиента Windows 11
Проверка работы VPN IKEv2
После того, как VPN клиент IKEv2 совершил подключение и его статус в Windows 11 отображается как “Подключено”, можно совершить дополнительную проверку
Посмотреть маршруты на IKEv2 VPN клиенте
Проверить доступность узлов удаленно сети
Проверить статус VPN клиента на IKEv2 сервере
К сожалению с ходу не вышло на android запустить, подозреваю что ошибка в peer
помогите с настройкой IPSec VPN с использованием сертификатов Удостоверяющего Центра. Сертификаты есть уже подписанные УЦ
настройка по IKEV2
необходимые remote адреса есть
Тут вы можете задать вопрос по настройке MikroTik IKEv2, если вам нужна сама настройка от наших специалистов – заполните соответствующий запрос в форме
А не хотите шифры по-крепче сделать?
На Win10
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters\“
NegotiateDH2048_AES256=2
а еще у самого соединения например
“`
Import-Module vpnclient
Set-VpnConnectionIPsecConfiguration -ConnectionName “vpnike.example.local” -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod GCMAES256 -IntegrityCheckMethod SHA256 -PfsGroup pfs2048 -DHGroup Group14 -PassThru -Force
“`
Тогда можно отказаться от SHA1.
“`
[admin@MikroTik] /ip/ipsec/installed-sa> print
Flags: S – SEEN-TRAFFIC; E – ESP
Columns: SPI, STATE, SRC-ADDRESS, DST-ADDRESS, AUTH-ALGORITHM, ENC-ALGORITHM, ENC-KEY-SIZE
# SPI STATE SRC-ADDRESS DST-ADDRESS AUTH-ALGORITHM ENC-ALGORITHM ENC-KEY-SIZE
0 SE 0xA64F70C mature 192.168.1.4 192.168.1.1 sha256 aes-cbc 256
1 E 0x9020E068 mature 192.168.1.1 192.168.1.4 sha256 aes-cbc 256
“`
Еще важный момент: при аутентификации по машинному сертификату если винда не может выбрать правильный серт (потому что их несколько) можно явно указать ей, выданный кем серт нужно брать
“`
Set-VpnConnection -Name “vpnike.example.local” -MachineCertificateIssuerFilter “серт-CA-выдавшего-серт”
“`
к сожелению, не сработало. Windows11 pro не может сам найти нужны сертификат для подлючения и почему то берет первый попапший из папки Personal
В примере как раз рассмотрено подключение Windows 11 по IKEv2 с сертификатами. Бывают конечно же частные случаи, решить которые могут соответствующие тех. специалисты
Попробуйте создать VPN через PowerShell, положит сертификаты в папку к примеру C:\cert\
Write-Output ”
1. Імпорт сертифіката користувача”
Import-PfxCertificate -FilePath C:\cert\Sertifikat_.p12 -CertStoreLocation Cert:\LocalMachine\My\ -Password (ConvertTo-SecureString -String ‘password_’ -AsPlainText -Force)
Write-Output ”
2. Імпорт сертифіката сервера”
Import-Certificate -FilePath C:\cert\SERTIFIKAT.crt -CertStoreLocation Cert:\LocalMachine\Root\
Write-Output ”
3. Додавання інтерфейсу VPN з’єднання”
Add-VpnConnection -Name “VPN WORK” -ServerAddress “xxx.adres.ua” -TunnelType ikev2 -EncryptionLevel Required -AuthenticationMethod MachineCertificate -MachineCertificateIssuerFilter ‘C:\cert\SERTIFIKAT-CA.crt’ -SplitTunneling -PassThru
Write-Output “Файли будуть видалені. Час очікування становить 10 секунд”
Timeout /T 10
Здравствуйте. Сконфигурировав все как в статье, клиент андроида Стронгсван подключается к серверу лишь через мобильный интернет и при этом трафик в туннель не идет ни при каких настройках клиента (пускать весь трафик в ВПН и пр). За NATом подключение не происходит (через WiFi). Настройки NAT как в статье были перепроверены, но результат тот же. Подскажите, пожалуйста, в чем может быть дело. Заранее спасибо.
Динамические маршруты для клиентов создаются со стороны сервера IP→IPsec→Mode Configs→Split Include, где может быть указана как подсеть за MikroTik-ом(192.168.88.0/0), так и 0.0.0.0/0. Для рассмотрения вашего случая, нужно ознакомиться с вашей конфигурацией.
По случаю подключения с локальной сети MikroTik, ознакомьтесь с принципами HairpinNAT в MikroTik.
Может ли в таком режиме клиентом быть другой микротик?
Не объединяя сети (у вас есть статья по этому поводу), а именно обычный клиент по типу l2tp?
С выдачей адреса в сети и все такое….
другой роутер MikroTik конечно может быть клиентом по IKEv2 с TLS авторизацией
можете добавить настройку для android ?
windows подключается, но мне нужно телефон подключить,
куда пихать сертификаты там не понятно.
Нужно установите StrongSwan, в android нет такой конфигурации подключение по собственному сертификату, нужна сторонняя программа.
Samsung s20 із android 13, сертифікати імпортуються та працює без сторонніх програм
Добрый день, начала вылазить ошибка IPsec “payload missing: SA;” с версии OS 7.9, что это и как это побороть?
Помилка IPsec “payload missing: SA;” це по суті атака на вашу мережу, знайшов рішення, дотайте ці правила:
/ip/firewall/layer7-protocol/add name=CVE-2023-28771 regexp=”;bash -c \”curl [0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\/t \\| sh\”;echo -n”
/ip/firewall/filter/add action=drop chain=input dst-port=500 layer7-protocol=CVE-2023-28771 protocol=udp
А якщо зробити експорт сертіфікату з комп’ютера де він був становленний, та перенести його на інший компютер, інший користувач зможе також користуватися доступом, трохи падає безпека…
Сталкиваюсь с проблемой vpn что сервер проталкивает кроме нужных маршрутов еще и маршрут по умолчанию, хотя по логике если в split network указаны конкретные сети, 0.0.0.0 маршрут не должен проходить. Понятное дело что можно в свойствах подключения в винде отключить галочку “использовать овновной шлюз в удаленной сети”, но а как быть со strong swan на андроид? Последний ожидает получить нужные маршруты и только в противном случае прописывать 0.0.0.0
Windows 11. З’єднання встановлюється, але маршрутів немає. На роутері не бачу запита на dhcp option 249. Розумію, що проблема десь в OS, але де саме? На андроїді через strongSwan все працює