toggle menu

MikroTik IPSec

8

IPSec в MikroTik RouterOS MikroTik ROS7 IPsec + Radius + Let's Encrypt

MikroTik IPSec (IP Security) — набор протоколов и алгоритмов для шифрования данных, определенных Инженерной рабочей группой по Интернету (IETF), в незащищенных IP/IPv6 сетях, таких как Интернет. Подтверждает подлинность, осуществляет проверку целостности и/или шифрование IP пакетов. IPSec не устанавливает правила шифрования трафика, а предоставляет протоколы и алгоритмы, с помощью которых администраторы создают защищенные каналы для передачи данных.

Протоколы MikroTik Psec можно разделить на следующие группы:

  • Internet Key Exchange (IKE). Протоколы обмена ключами в Интернете. Динамически генерируют и распространяют криптографические ключи для AH и ESP.
  • Authentication Header (AH). Заголовок аутентификации RFC 4302. RouterOS поддерживает следующие алгоритмы аутентификации для AH:
    • SHA2 (256, 512)
    • SHA1
    • MD5
  • Encapsulating Security Payload (ESP). Инкапсуляция защищенной полезной нагрузки - туннелирование (ESP) RFC 4303

Плюсы и минусы IPSec

Преимущества:

  • Открытые, расширяемые стандарты
  • Обладает широким набором алгоритмов шифрования и хеширования трафика
  • Работает на сетевом уровне модели OSI
  • Шифрует исходный пакет целиком или от транспортного уровня и выше
  • Использует механизм преодоления NAT
  • Не нужны дополнительные платы/лицензии

Недостатки:

  • Сложность
  • Cильные алгоритмы шифрования требуют высокой вычислительной мощности
  • Легко обнаруживается DPI

IPSec в Mikrotik

IPSec доступен бесплатно на любом устройстве под управлением RouterOS с установленным пакетом Security.

Аппаратное шифрование

Для разгрузки процессора в некоторые модели устройств MikroTik добавляют аппаратное ускорение шифрования. Полный список оборудования MikroTik c поддержкой IPSec доступно по адресу: https://wiki.mikrotik.com/wiki/Manual:IP/IPsec

mikrotik-ipsec-ntema1.jpg (80 KB)

Наиболее бюджетные модели устройств MikroTik c поддержкой IPSec: hEX, hEX S, RB3011UiAS-RMRB4011iGS+RM, hAP ac2cAP ACSXTsq 5 acDISC Lite5 acLDF 5 ac

Различия 6.42.X, 6.43.X, 6.44.X и 6.45Х

Меню конфигурации IPSec различается в зависимости от используемой версии RouterOS. Например,

mikrotik-ipsec-ntema2.jpg (46 KB)

mikrotik-ipsec-ntema3.jpg (30 KB)

mikrotik-ipsec-ntema4.jpg (46 KB)

В новых тестовых версиях всегда есть изменения - перед обновлением читайте примечания к релизу.

mikrotik-ipsec-ntema5.jpg (121 KB)

IPSec конфигурация

mikrotik-ipsec-ntema6.jpg (32 KB)

Меню IP -> IPSec. Как видно из схем, основные разделы конфигурации - профили и одноранговые узлы. Вкладки Remote Peers и Installed SAs - информационные.

Peers и Peers Profiles

Конфигурация Peers IPSec для установки IKE соединения и создания вспомогательного защищенного туннеля.

mikrotik-ipsec-ntema7.jpg (37 KB)

Настройка удаленных пиров IPSec

mikrotik-ipsec-ntema8.jpg (125 KB)

Настройка профилей (Proposals) для согласования Phase 1

mikrotik-ipsec-ntema9.jpg (33 KB)

mikrotik-ipsec-ntema10.jpg (89 KB)

Policies и Policy Proposals

Во вкладке Policies проверяют проходящие пакеты на соответствие условиям и применяют указанные действия. Если вернутся к Packet flow, то блоки с IPSec Policy и есть сверка с политиками. В действиях задается: протокол защиты IPSec (ESP или AH), предложения для согласования SA, режим инкапсуляции.

mikrotik-ipsec-ntema14.jpg (37 KB)

Пакет проходит все проверки поочередно, пока не совпадет с условиями одной из них.

Настройка Policies

mikrotik-ipsec-ntema15.jpg (129 KB)

Примечания
  • Обычно не требуется указывать конкретный Src. и Dst. Port, но есть возможность шифровать трафик отдельного приложения
  • Cписок Protocols включает не все IP протоколы, но можно указать номер нужного протокола вручную
  • Шаблоны не являются политиками! Они используются, если в конфигурации пира установлено generate-policy
  • Что делать, если определенные SA для политики не были найдены. Раньше с L2TP/IPSec была проблема, когда несколько клиентов из-за одного NAT не могли подключиться (при использовании IKE), данный баг решается (при условии, что эти клиенты не windows) если установить level=unique. Иначе переходите на IKEv2
  • При настройке политик используйте режим Safe mode.

Настройка предложений (Proposals) для согласования SA

mikrotik-ipsec-ntema16.jpg (37 KB)

mikrotik-ipsec-ntema17.jpg (68 KB)

Groups

Используются для связи шаблонов Policies и Peers.

mikrotik-ipsec-ntema18.jpg (27 KB)

Mode Config

Отправка и получение параметров IP без использования дополнительных протоколов. Позволяет создавать самодостаточный Client-to-Server VPN только средствами IPSec.

mikrotik-ipsec-ntema19.jpg (33 KB)

mikrotik-ipsec-ntema20.jpg (91 KB)

Keys и Users

Используются для расширенной аутентификации Peers.

Keys

Ключи RSA: генерация, импорт, экспорт. Не поддерживаются в IKEv2.

mikrotik-ipsec-ntema21.jpg (32 KB)

Users

База данных пользователей xAuth для сервера. Клиент указывает настройки xAuth в конфигурации Peer. Возможно пересылать аутентификацию xAuth на RADIUS сервер.

mikrotik-ipsec-ntema22.jpg (27 KB)

Remote Peers

Список всех Peers, устанавливающих и установивших вспомогательный туннель (Phase 1). Можно удалять Peer для обновления ключей вспомогательного туннеля.

mikrotik-ipsec-ntema23.jpg (29 KB)

mikrotik-ipsec-ntema24.jpg (37 KB)

Installed SAs

База данных SAD или список всех согласованных SA. Можно посмотреть используемые алгоритмы защиты данных и ключи.

mikrotik-ipsec-ntema25.jpg (35 KB)

mikrotik-ipsec-ntema26.jpg (35 KB)

Hardware AEAD указывает на использование аппаратного шифрования.

mikrotik-ipsec-ntema27.jpg (26 KB)


SA администратор может сбросить (с условием, что одновременно и все одного типа - ESP или AH).

IPSec и Firewall

В брандмауэре проверяется соответствие трафика входящей или исходящей IPSec политике. Общеизвестное применение - L2TP/IPSec. Если трафик не был предварительно зашифрован, можно запретить установку L2TP соединений.

mikrotik-ipsec-ntema29.jpg (5 KB)

Протоколы и порты, используемые в IPSec

  • IKE - UDP: 500
  • IKEv2 - UDP: 4500
  • NAT-T - UDP: 4500
  • ESP - ipsec-esp (50)
  • АХ - ipsec-ах (51)


IPSec и конечные точки

Таблицу с алгоритмами хеширования и шифрования для Windows, iOS, OS-X можно найти тут: https://wiki.mikrotik.com/wiki/Manual:IP/IPsec

Например, Android не поддерживает IKEv2, воспользуйтесь StrongSwan.

mikrotik-ipsec-ntema30.jpg (17 KB)

#Mikrotik1
/ip address
add address=10.10.10.10/24 interface=ether1 network=10.10.10.0
add address=192.168.100.1/24 interface=ether2 network=192.168.100.0
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
/ip route
add distance=1 gateway=10.10.10.1 dst-address=0.0.0.0/0

#Mikrotik2
/ip address
add address=10.20.20.20/24 interface=ether1 network=10.20.20.0
add address=192.168.200.1/24 interface=ether2 network=192.168.200.0
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
/ip route
add distance=1 gateway=10.20.20.1 dst-address=0.0.0.0/0


IPSec в туннельном режиме

mikrotik-ipsec-ntema31.jpg (22 KB)

Поэтапная настройка:

  • Создайте Proposals для IKE Phase1
  • Создайте Peer. Укажите адрес, Proposals, режим обмена, PSK ключ. Можно IKEv2, а также по желанию main/agressive
  • Создайте Proposals для SA
  • Укажите подсети, между которыми создается туннель
  • Укажите адреса SA, туннельный режим и Proposals для шифрования трафика
  • Отредактируйте правило NAT


Проверка установленного соединения

Видим соседа в Remote Peers:

mikrotik-ipsec-ntema32-1.jpg (30 KB)

Видим установленные SA (пока трафик не запущен - счетчики не меняются):

mikrotik-ipsec-ntema32-2.jpg (33 KB)

В Policies статус Established и флажок (A)ctive:

mikrotik-ipsec-ntema32-3.jpg (37 KB)



IPIP/IPSec

mikrotik-ipsec-ntema33.png (32 KB)

Предварительная настройка IPIP туннеля:

#Mikrotik1
#Настройка интерфейса ipip
/interface ipip
add allow-fast-path=no clamp-tcp-mss=no name=ipip-vpn remote-address=10.20.20.20
#Установка ip адреса на ipip интерфейс
/ip address
add address=10.30.30.1/30 interface=ipip-vpn
#Статический маршрут до удаленной подсети
/ip route
add distance=1 dst-address=192.168.200.0/24 gateway=10.30.30.2

#Mikrotik2
#Все аналогично, меняются только адреса и подсети
/interface ipip
add allow-fast-path=no clamp-tcp-mss=no name=ipip-vpn remote-address=10.10.10.10
/ip address
add address=10.30.30.2/30 interface=ipip-vpn
/ip route
add distance=1 dst-address=192.168.100.0/24 gateway=10.30.30.1

Пошаговая конфигурация IPSec:

  • Создайте Proposals для IKE Phase1
  • Создайте Peer. Укажите адрес, Proposals, режим обмена, PSK ключ
  • Создайте Proposals для SA
  • Укажите подсети, между которыми создаете туннель
  • Указжите адреса SA, тип трафика, который будете шифровать и Proposals

Обратите внимание, на фото ниже видно отличие настройки туннельного и транспортного режима в IPSec Policies:

mikrotik-ipsec-ntema34.jpg (40 KB)

Проверка соединения транспортного режима идентична туннельному режиму.

L2TP/IPSec

Вышеуказанные примеры подходят для создания постоянных VPN между двумя Peers со статическими внешними IP адресами.

Когда адрес одного из Peers динамический (находится за NAT), используйте другую Client-to-Server VPN.

mikrotik-ipsec-ntema35.jpg (24 KB)

Предварительная конфигурация L2TP:

#Создание пула адресов для клиентов
/ip pool
add name=pool-l2tp ranges=192.168.77.10-192.168.77.20
#Создание профиля для клиентов
/ppp profile
add change-tcp-mss=yes local-address=192.168.77.1 name=l2tp-ipsec only-one=yes remote-address=pool-l2tp use-compression=no use-encryption=no use-mpls=no use-upnp=no
#Создание учетных записей
/ppp secret
add name=user1 password=test1 profile=l2tp-ipsec service=l2tp
add name=user2 password=test2 profile=l2tp-ipsec service=l2tp
add name=user3 password=test3 profile=l2tp-ipsec service=l2tp
#Включение сервера L2TP (без автонастройки ipsec)
/interface l2tp-server server
set authentication=chap,mschap2 default-profile=l2tp-ipsec enabled=yes

Настройка IPSec:

  • Создайте новую группу (можно использовать default)
  • Создайте Proposals для IKE Phase1
  • Создайте Peer (подсеть). Если PSK ключ не принимается и windows - клиент, то можно выбрать сертификаты или PSK
  • Пропишите passive=yes и send-init-contact=no, в generate-policy=port-strict (принимать порт от клиента)
  • Создайте Proposals для SA
  • Создайте шаблон для генерации Policies
  • Укажите Proposal для SA

Конфигурация firewall для создания L2TP подключений только после IPSec

/ip firewall filter
#Разрешаем IKE, NAT-T и ipsec-esp
add chain=input protocol=17 dst-port=500,4500 action=accept
add chain=input protocol=50 action=accept

#Разрешаем L2TP, только если есть политика ipsec для данного трафика
add chain=input protocol=17 dst-port=1701 ipsec-policy=in,ipsec action=accept
add chain=input protocol=17 dst-port=1701 action-drop

IKEv2 VPN

Настроить VPN сервер, используя только IPSec, можно с помощью mode config. Ниже приведена конфигурация серверной части.

mikrotik-ipsec-ntema36.jpg (23 KB)

Операционные системы Windows и Android работают с таким VPN серверами исключительно с использованием аутентификации по сертификатам или EAP.

Предварительная генерация сертификатов:

#Root CA и сапомодпись
/certificate add name=ca common-name="IKEv2 CA" days-valid=6928
/certificate sign ca ca-crl-host=<IP роутера>

#Сертификат для сервера vpn
/certificate add common-name=<IP роутера> subject-alt-name=IP:<IP роутера> key-usage=tls-server name=vpn days-valid=6928

#Подпись серверного сертификата
/certificate sign vpn ca=ca

#Сертификат для клиента
#Клиенты с одним сертификатам не смогут работать одновременно, поэтому генерируйте по одному для каждого
#Для отмены доступа необходимо сделать Revoke клиентского сертификата
/certificate add common-name=client key-usage=tls-client name=client days-valid=6928

#Подпись клиентского сертификата
/certificate sign client ca=ca

Настройка IKEv2 VPN

Создайте:

‎✓ IP пул для раздачи клиентам

‎✓ Профиль mode config для раздачи параметров IP клиентам

‎✓ Группы для связи Peers и шаблонов Policies

‎✓ Proposals для IKE Phase1

‎✓ Профиль для подключения Peers. Аутентификация через сертификаты, протокол IKEv2, пассивный режим

✓ Укажите профиль mode config, группу для связи Peers и шаблонов Policies и включите генерацию Policies

Создайте:

✓ Proposals для SA

✓ Шаблон для генерации политик

✓ Укажите Proposals для SA

При успешном соединении появятся динамическая Policies, запись в Remote Peers и пара SA.

mikrotik-ipsec-ntema37.jpg (39 KB)

mikrotik-ipsec-ntema38.jpg (29 KB)

mikrotik-ipsec-ntema39.jpg (34 KB)

Кстати, у лицензии RouterOS x86 demo отсутствуют ограничения на число IPSec туннелей, в т. ч. IKEv2 VPN.

Оставьте свой комментарий