В одной из прошлых статей мы искали выход из ситуации с уходом вендоров NGFW из России и предлагали схемы безболезненного перехода на UserGate. Ситуация за это время особо не изменилась. Стало больше клиентов с задачей заменить зарубежный фаервол или протестировать отечественный, на этом фоне появились интересные кейсы стыковки с UG.
В профильных чатах то и дело спрашивают про настройки IPsec между UserGate и FortiGate, между UserGate и CheckPoint. Приготовили для вас горячие пирожки — полноценные инструкции настройки VPN-туннелей между UserGate и CheckPoint, FortiGate, NSX Edge, MikroTik и Cisco. Граблей мы пособирали достаточно и теперь готовы поделиться опытом с теми, кто только начинает разбираться в возможностях настройки IPsec.
Начнем по порядку.
Связка UserGate и CheckPoint
Схема:
Адреса:
IP-адрес сети за UserGate: 172.21.10.0/24.
IP-адрес внешнего интерфейса UserGate: 91.107.67.230.
IP-адрес сети за CheckPoint: 10.10.10.0/24.
IP-адрес внешнего интерфейса CheckPoint: 91.107.67.228.
Полная инструкция
Настройка на стороне CheckPoint
-
Параметры сетевых интерфейсов следующие:
-
Активируем блейд IPsec VPN:
-
Выбираем внешний адрес для подключения IPsec в разделе IPsec VPN — Link Selection:
-
Указываем VPN-домен объектом локальной сети CheckPoint:
-
Создаем Interoperable Device с именем UserGate:
-
Указываем топологию объектом локальной сети за UserGate:
-
Сетевые устройства CheckPoint и UserGate добавляем в Meshed комьюнити:
-
Задаем параметры фаз туннеля:
-
Создаем правило доступа для взаимодействия удаленных сегментов:
Настройка на стороне CheckPoint завершена.
Настройка на стороне UserGate
-
В разделе Сеть — Зоны разрешаем доступ по VPN для Untrusted-зоны:
В разделе Сеть — Интерфейсы создаем или используем созданный по умолчанию интерфейс VPN for Site-to-Site:
Данному интерфейсу назначаем IP-адрес из немаршрутизируемой сети:
-
Создаем профиль безопасности VPN в разделе VPN — Профили безопасности VPN. В свойствах профиля указываем общий ключ (pre-shared key) и во вкладке Безопасность задаем параметры Фазы 1 и Фазы 2, заданные на CheckPoint:
-
В разделе VPN — Клиентские правила создаем правило, выбрав профиль безопасности VPN, указав адрес сервера (IP-адрес внешнего интерфейса CheckPoint, через который происходит соединение) и протокол VPN: IPsec-туннель. Далее указываем разрешенные подсети со стороны UserGate и CheckPoint:
-
Создаем двустороннее правило доступа с указанием Trusted и VPN for Site-to-Site зон. Разрешаем трафик между зонами Trusted и S2S:
-
Включаем клиентское правило CheckPoint IPsec. При успешном подключении статус правила должен быть зеленого цвета:
-
Проверяем статус туннеля Диагностика и мониторинг — VPN:
Настройка на стороне UserGate завершена.
Связка UserGate и FortiGate
Схема:
Адреса:
IP-адрес сети за UserGate: 172.21.10.0/24.
IP-адрес внешнего интерфейса UserGate: 91.107.67.230.
IP-адрес туннельного интерфейса tunnel3: 203.0.113.1/24.
IP-адрес сети за Fortigate: 10.10.1.0/24.
IP-адрес внешнего интерфейса Fortigate: 91.107.67.228.
IP-адрес туннельного интерфейса на Fortigate c именем туннеля UserGate: 203.0.113.2/24.
Полная инструкция
Настройка на стороне FortiGate
-
Создаем новый IPsec-туннель через Template type — Custom:
-
В разделе Network — Interfaces присваиваем туннельному интерфейсу свободный IP-адрес из неиспользуемого диапазона — 203.0.113.2/32, В поле Remote IP/Netmask указываем свободный адрес со стороны UserGate — 203.0.113.1/24:
-
Создаем правило взаимодействия между сетями. На стороне FortiGate локальной сетью будет выступать адрес loopback интерфейса с двумя IP-адресами: 172.21.10.1 и 172.21.10.100:
И вот само правило доступа с именем FGT-UserGate. Адреса интерфейсов:
FGT-UserGate — Loopback Interface локальной сети.
-
UserGate — туннельный интерфейс.
Настройка на стороне FortiGate завершена.
Настройка на стороне UserGate
-
Все подготовительные настройки схожи со сценарием UserGate — CheckPoint. Ниже приведем только отличные параметры. В разделе Сеть — Интерфейсы назначаем туннельному интерфейсу tunnel3 свободный IP-адрес из неиспользуемого диапазона 203.0.113.1/24:
-
В разделе VPN — Профили безопасности VPN создаем новый профиль безопасности FortiGate S2S:
В разделе VPN — Клиентские правила создаем правило FortiGate IPsec с использованием профиля безопасности, созданного на предыдущем шаге:
-
В свойствах виртуального маршрутизатора прописываем статический маршрут в удаленную сеть за FortiGate через туннельный интерфейс tunnel3:
-
Не забываем про правило МЭ, которое у нас уже было включено с предыдущих схем, — VPN S2S:
-
В разделе Диагностика и мониторинг — VPN поверим статус туннеля:
-
Выполним ping и убедимся в доступности удаленной сети:
-
Со стороны FortiGate так же сделаем ping в сторону клиентского хоста с адресом 172.21.10.100:
Настройка на стороне UserGate завершена.
Связка UserGate и NSX Edge
Схема:
Адреса:
IP-адрес сети за UserGate: 172.21.10.0/24.
IP-адрес внешнего интерфейса UserGate: 91.107.67.230.
IP-адрес сети за NSX Edge: 192.168.1.0/24.
IP-адрес внешнего интерфейса NSX Edge: 178.20.233.46.
Полная инструкция
Настройка на стороне NSX Edge
-
Идем в vCloud Director — Networking — EDGE — Services — VPN — IPsec VPN Sites. Вот описание параметров (давали в нашей предыдущей статье):
Параметр
Значение
Enabled
True
PFS
False
Local ID и Local Endpoint
178.20.233.46
Local Subnets
192.168.1.0/24
Peer ID и Peer Endpoint
91.107.67.230
Peer Subnets
172.21.10.0/24
Encryption Algorithm
AES256
Authentication
PSK
Pre-Shared Key
**********
Diffie-Hellman Group
DH14
Digest Algorithm
SHA-256
IKE Option
IKEv1
Session Type
Policy Based Session
-
В итоге получаем:
Настройка на стороне NSX Edge завершена.
Настройка на стороне UserGate
Настройки на стороне UserGate практически аналогичны настройкам в сценарии с CheckPoint, за исключением таймингов фаз IPsec. Дело в том, что данные параметры зашиты в NSX Edge и не подлежат изменению.
Их значения следующие:
ikelifetime = 28800s,
type = tunnel,
lifetime = 3600s,
dpddelay = 30,
dpdaction = restart.
Создаем новый профиль безопасности VPN в разделе VPN — Профили безопасности VPN:
-
В разделе VPN — Клиентские правила создаем правило, выбрав профиль безопасности VPN, указав адрес сервера (IP-адрес внешнего интерфейса NSX Edge, через который происходит соединение) и протокол VPN: IPsec-туннель. Указываем локальные сети со стороны UserGate и NSX Edge, трафик которых должен шифроваться данным туннелем:
-
Правило МЭ аналогично сценарию с CheckPoint:
-
Ну и не забываем про маршрут в локальную сеть за NSX Edge:
-
Проверим состояние туннеля. В разделе VPN — Клиентские правила в нормальном состоянии должен быть зеленый индикатор:
-
В разделе Диагностика и мониторинг — VPN смотрим:
Настройка на стороне UserGate завершена.
Связка UserGate и MikroTik
Схема:
Адреса:
IP-адрес сети за UserGate: 172.21.10.0/24.
IP-адрес внешнего интерфейса UserGate: 91.107.67.230.
IP-адрес сети за MikroTik: 192.168.21.0/24.
IP-адрес внешнего интерфейса MikroTik: 91.107.67.229.
Полная инструкция
Настройка на стороне MikroTik
IP — Addresses — Задаем адресацию:
ether1 — WAN-порт,
bridge1 — LAN:
Создаем туннель в Interfaces — IP Tunnel, указываем внешние адреса MikroTik и UserGate в Local и Remote Address соответственно:
-
Переходим к настройке IPsec. Создаем новый peer в IP — IPsec — Peer:
-
Прописываем PSK-ключ в IP — IPsec — Identities:
В IP — IPsec — Profile параметры фазы 1 в данном случае описываем в default-профиле со следующими параметрами:
В IP — IPsec — Proposals поправляем параметры фазы 2:
В IP — IPsec — Policies создаем политику для шифрования трафика, указываем:
Src.Adress=192.168.21.0/24 (локальная сеть MikroTik),
Dst.Address=172.21.1 0.0/24 (локальная сеть UserGate).
-
Переходим к файрвольным правилам IP — Firewall — Filter Rules, создаем несколько правил.
Разрешаем трафик между локальными сетями:
Src.Address=172.21.10.0/24,
Dst.Address=192.168.21.0/24,
Chain=forward Action=accept.
-
Для функционирования IPsec разрешаем порты UDP 500, 4500 и ipsec-esp на WAN-порте:
В IP — Firewall — Raw создаем правило прероутинга:
Src.Address=172.21.10.0/24.
Dst.Address=192.168.21.0/24.
Chain=prerouting.
Action=accept.
В IP — Firewall — NAT создаем правило, разрешающее трафику локальной сети MikroTik не натироваться в сторону локальной сети UserGate:
Src.Address=192.168.21.0/24.
Dst.Address=172.21.10.0/24.
Chain=forward.
Action=accept.
-
Далее в IP — Routes создаем статический маршрут в локальную сеть UserGate через туннельный интерфейс:
Настройка на стороне MikroTik завершена.
Настройка на стороне UserGate
-
В Сеть — Зоны на зоне Untrusted разрешаем VPN-сервис:
-
Параметры интерфейсов UserGate следующие:
-
В VPN — Профили безопасности VPN добавим новый профиль MikroTik S2S:
-
В VPN — Клиентские правила создаем правило MikroTik IPsec. Указываем профиль безопасности, созданный на предыдущем шаге: интерфейс=tunnel2, адрес сервера=внешний адрес MikroTik, протокол VPN=IPsec-туннель и наши локальные сети:
-
Создаем правило МЭ, разрешив взаимодействие между Trusted и VPN for Site-to-Site зонами:
-
В Сеть — Виртуальные маршрутизаторы — Виртуальный маршрутизатор по умолчанию — Статические маршруты добавляем статический маршрут в локальную сеть Mikrotik через tunnel2:
-
Проверить состояние туннеля можно в разделе Диагностика и мониторинг — VPN. Отправим ping через интерфейс Trusted-зоны в сторону клиентского хоста за MikroTik:
-
Так же сделаем ping со стороны тестового хоста за Mikrotik в сторону тестового хоста за UserGate:
Настройка на стороне UserGate завершена.
Связка UserGate и Cisco ASR1002-X
Схема:
Адреса:
IP-адрес сети за UserGate: 172.21.10.0/24.
IP-адрес внешнего интерфейса UserGate: 91.107.67.230.
IP-адрес туннельного интерфейса tunnel4: 172.21.10.254/24.
IP-адрес сети за Cisco: 172.22.10.0/24.
IP-адрес внешнего интерфейса Cisco: 91.107.67.229.
Полная инструкция
Настройка на стороне Cisco
Задаем параметры 1-й фазы:
crypto isakmp policy 235,
encr aes,
authentication pre-share,
group 14.
-
Задаем pre-shared key:
crypto isakmp key <PSK ключ> address 91.107.67.230.
-
Задаем параметры 2-й фазы:
crypto ipsec transform-set UserGate_TEST esp-aes 256 esp-sha256-hmac
mode tunnel.
-
Создаем фильтр для сетей, между которыми будет шифроваться трафик (src/dst):
ip access-list extended UserGate_TEST
permit ip 172.22.10.0 0.0.0.255 172.21.10.0 0.0.0.255.
-
Создаем саму криптокарту, которую будем вешать на исходящий интерфейс:
crypto map IPSEC 100 ipsec-isakmp
description UserGate_TEST
set peer 91.107.67.230
set transform-set UserGate_TEST
match address UserGate_TEST.
-
Эмуляция внутренней сети:
interface Port-channel1.3970
description UserGate_TEST
encapsulation dot1Q 3970
ip address 172.22.10.1 255.255.255.0.
-
Создаем маршрут до локальной сети за туннелем UserGate:
ip route 172.21.10.0 255.255.255.0 91.107.67.225.
-
Вешаем созданную криптокарту на исходящий интерфейс:
interface Port-channel1.100
crypto map IPSEC.
Настройка на стороне Cisco завершена.
Настройка на стороне UserGate
-
В разделе Сеть – Зоны включаем VPN на зоне Untrusted:
В разделе Сеть – Интерфейсы создаем интерфейс tunnel4 и назначаем адресацию из пула локальной сети с адресом 172.21.10.254:
В разделе VPN – Профили безопасности VPN создаем новый профиль безопасности VPN со следующими параметрами:
IKEv1, main mode,
PSK auth,
Phase1,
группа Diffie-Hellman 14,
время жизни ключа — 24 часа,
DPD 120 сек, 5 попыток,
sha256-aes256,
Phase2,
время жизни ключа — 1 час, no volume limit,
sha256-aes256.
В разделе VPN — Клиентские правила создаем правило CISCO IPsec, выбрав профиль безопасности VPN, созданный на предыдущем шаге, указав адрес сервера (IP-адрес внешнего интерфейса Cisco) и протокол VPN — IPsec-туннель.
Обозначаем разрешенные (локальные) подсети со стороны UserGate и Cisco:
-
В Сеть — Виртуальные маршрутизаторы — Виртуальный маршрутизатор по умолчанию прописываем статический маршрут к удаленной локальной сети Cisco через tunnel4:
-
Не забываем про правило МЭ с указанием Trusted и VPN S2S зон:
-
Теперь проверяем доступность удаленной сети. Отправляем icmp с Trusted-интерфейса в сторону интерфейса локальной сети Cisco:
Настройка на стороне UserGate завершена.
На этом все.
Многие заказчики, которые не могут или не хотят возиться с FW, берут у нас UG в облаке как сервис. Также бывают сценарии, когда заказчику нужна помощь в настройке фаервола на его площадке. В этом случае мы тоже готовы оказать поддержку.
В заключение скажем, что UserGate вполне хорош, нужно просто уметь его готовить. Пробуйте, дерзайте, если что — пишите, подскажем.