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 c поддержкой IPSec: hEX, hEX S, RB3011UiAS-RM, RB4011iGS+RM, hAP ac2, cAP AC, SXTsq 5 ac, DISC Lite5 ac, LDF 5 ac
Различия 6.42.X, 6.43.X, 6.44.X и 6.45Х
Меню конфигурации IPSec различается в зависимости от используемой версии RouterOS. Например,
В новых тестовых версиях всегда есть изменения - перед обновлением читайте примечания к релизу.
IPSec конфигурация
Меню IP -> IPSec. Как видно из схем, основные разделы конфигурации - профили и одноранговые узлы. Вкладки Remote Peers и Installed SAs - информационные.
Peers и Peers Profiles
Конфигурация Peers IPSec для установки IKE соединения и создания вспомогательного защищенного туннеля.
Настройка удаленных пиров IPSec
Настройка профилей (Proposals) для согласования Phase 1
Policies и Policy Proposals
Во вкладке Policies проверяют проходящие пакеты на соответствие условиям и применяют указанные действия. Если вернутся к Packet flow, то блоки с IPSec Policy и есть сверка с политиками. В действиях задается: протокол защиты IPSec (ESP или AH), предложения для согласования SA, режим инкапсуляции.
Пакет проходит все проверки поочередно, пока не совпадет с условиями одной из них.
Настройка Policies
- Обычно не требуется указывать конкретный Src. и Dst. Port, но есть возможность шифровать трафик отдельного приложения
- Cписок Protocols включает не все IP протоколы, но можно указать номер нужного протокола вручную
- Шаблоны не являются политиками! Они используются, если в конфигурации пира установлено generate-policy
- Что делать, если определенные SA для политики не были найдены. Раньше с L2TP/IPSec была проблема, когда несколько клиентов из-за одного NAT не могли подключиться (при использовании IKE), данный баг решается (при условии, что эти клиенты не windows) если установить level=unique. Иначе переходите на IKEv2
- При настройке политик используйте режим Safe mode.
Настройка предложений (Proposals) для согласования SA
Groups
Используются для связи шаблонов Policies и Peers.
Mode Config
Отправка и получение параметров IP без использования дополнительных протоколов. Позволяет создавать самодостаточный Client-to-Server VPN только средствами IPSec.
Keys и Users
Используются для расширенной аутентификации Peers.
Keys
Ключи RSA: генерация, импорт, экспорт. Не поддерживаются в IKEv2.
Users
База данных пользователей xAuth для сервера. Клиент указывает настройки xAuth в конфигурации Peer. Возможно пересылать аутентификацию xAuth на RADIUS сервер.
Remote Peers
Список всех Peers, устанавливающих и установивших вспомогательный туннель (Phase 1). Можно удалять Peer для обновления ключей вспомогательного туннеля.
Installed SAs
База данных SAD или список всех согласованных SA. Можно посмотреть используемые алгоритмы защиты данных и ключи.
Hardware AEAD указывает на использование аппаратного шифрования.
SA администратор может сбросить (с условием, что одновременно и все одного типа - ESP или AH).
IPSec и Firewall
В брандмауэре проверяется соответствие трафика входящей или исходящей IPSec политике. Общеизвестное применение - L2TP/IPSec. Если трафик не был предварительно зашифрован, можно запретить установку L2TP соединений.
Протоколы и порты, используемые в 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.
#Mikrotik1 |
IPSec в туннельном режиме
Поэтапная настройка:
- Создайте Proposals для IKE Phase1
- Создайте Peer. Укажите адрес, Proposals, режим обмена, PSK ключ. Можно IKEv2, а также по желанию main/agressive
- Создайте Proposals для SA
- Укажите подсети, между которыми создается туннель
- Укажите адреса SA, туннельный режим и Proposals для шифрования трафика
- Отредактируйте правило NAT
Проверка установленного соединения
Видим соседа в Remote Peers:
Видим установленные SA (пока трафик не запущен - счетчики не меняются):
В Policies статус Established и флажок (A)ctive:
IPIP/IPSec
Предварительная настройка IPIP туннеля:
#Mikrotik1 |
Пошаговая конфигурация IPSec:
- Создайте Proposals для IKE Phase1
- Создайте Peer. Укажите адрес, Proposals, режим обмена, PSK ключ
- Создайте Proposals для SA
- Укажите подсети, между которыми создаете туннель
- Указжите адреса SA, тип трафика, который будете шифровать и Proposals
Обратите внимание, на фото ниже видно отличие настройки туннельного и транспортного режима в IPSec Policies:
Проверка соединения транспортного режима идентична туннельному режиму.
L2TP/IPSec
Вышеуказанные примеры подходят для создания постоянных VPN между двумя Peers со статическими внешними IP адресами.
Когда адрес одного из Peers динамический (находится за NAT), используйте другую Client-to-Server VPN.
Предварительная конфигурация L2TP:
#Создание пула адресов для клиентов |
Настройка 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 |
IKEv2 VPN
Настроить VPN сервер, используя только IPSec, можно с помощью mode config. Ниже приведена конфигурация серверной части.
Операционные системы Windows и Android работают с таким VPN серверами исключительно с использованием аутентификации по сертификатам или EAP.
Предварительная генерация сертификатов:
#Root 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.
Кстати, у лицензии RouterOS x86 demo отсутствуют ограничения на число IPSec туннелей, в т. ч. IKEv2 VPN.
Ваш комментарий добавлен