Valeriy Denisov

Windows pre-logon Site-to-site VPN: CookBook

Blog Post created by Valeriy Denisov Employee on Oct 3, 2018

Преамбула

 

И так, холодным ранним утром вы поняли, что вам необходим IPSEC VPN с удаленной Windows машины где-то там и что бы этот VPN работал всегда, при любой погоде, перезагрузке, до Windows logon, без участия админа, без обновления клиентов и прочих вещей, что могут поломаться. Как же это сделать ?

 

Самый простой способ - использовать Windows firewall with advanced security. 

То есть, в Windows можно создать правило, которое будет работать как policy based IPSEC и запихивать весь нужный трафик в VPN до шлюза CHKP.

 

Ну что ж, начнем.

 

Включаем IPSEC на CHKP

В Check Point IPSEC VPN разделен на несколько частей: настройки сетей, объекты удаленных IPSEC шлюзов, настройки шифрования и аутентификации (community group). Начнем:

 

1. Включаем блейд IPSEC VPN

2. Указываем с какого адреса строить VPN

3. Создаем объект под нашу Windows машину

4. Называем, задаем IP адрес, включаем IPSEC VPN

5. переходим в topology и указываем внешний интерфейс

6. В VPN Domain указываем сети за Windows, либо просто оставляем все сети.

 

Настраиваем IPSEC на CHKP

Все объекты созданые, все готово к настройке самого IPSEC на шлюзе CHKP.

 

1. Создаем VPN Community

2. Настраиваем параметры шифрования

Windows поддерживает PFS, но включается он через CLI

Step 5: Examine the Differences in Functionality Between the MMC Snap-in and the Netsh Command-line Tool | Microsoft Doc… 

3. Задаем параметры формирования SA. 

4. Permanent tunnels работает только между CHKP - CHKP, не включаем

One VPN tunnel per Gateway pair, означает, что в SA Identity будет указано 0.0.0.0/0 - 0.0.0.0/0

5. Добавляем правила для VPN в Rule base либо разрешаем весь трафик в настройках Community.

 

Включаем вечно выключенный Windows firewall

1. Заходим в настройки Windows Firewall

2. Включаем для нужных подсетей (например, для внешней)

Настраиваем IPSEC

   Настройки IPSEC находятся в двух местах:

  • В настройках самого Windows FW (Encryption, key exchange, etc..)
  • В правилах Connection security rules - то есть, а какой трафик собственно шифровать ?

1. Переходим в настройки самого FW

2. Идем на страничку IPSEC Settings

3. В Key exchange выставляем Advanced и меняем настройки первой фазы

4. Удаляем 3DES, задаем время обновления ключей - key lifetime. У Check Point по умолчанию для первой фазы 1440 минут, для IPSEC SA 3600.

5. Настраиваем Quick Mode, точно так же задаем время жизни туннеля и алгоритмы шифрования

6. Заходим в Authentication Method, убираем Computer и выбираем выданный данной машине клиентский сертификат

7. Закрываем, все сохраняем и настраиваем tunnel authorization - кто сможет строить туннели с этой виндой?

Создаем правило шифрования трафика 

   Параметры IPSEC настроены, теперь пора описать что собственно мы будем широфвать на этой Windows машине. Следует учесть, что настройки Endpoint 1 и Endpoint 2 влияют на формирование поля Identity в SA. То есть, если будет указано Endpoint 1 - any, Endpoint 2 - <ЦОД IP>, то SA будет вида 0.0.0.0/0 - <ЦОД IP>. Что логично, но если вы видите ошибки вида Peer notification: invalid id information, это как раз про это.

 

И так, начнем.

1. Создаем новое правило

2. Мы ведь хотим все контролировать, выбираем Custom

3. В настройках Endpoint 1 указываем какие сети шифровать со стороны Windows (Сети за Windows машинной) либо все что есть.

4. В Endpoint 2 - сети за CHKP

5. Задаем двустороннюю аутентификацию

6. На следующем шаге оставляем либо Default - использовать настройки из Windows FW, либо указываем выданный клиентский сертификат

7.Задаем оставшиеся параметры - порты и сервисы и имя правила

Правило применяется сразу же!  Учтите, что бы не потерять связь с Windows машиной. 

8. Добавляем нужные правила в Windows Firewall.

9. Заходим в настройки созданного правила Connection rule и открываем Advanced-> IPSec Tunneling:

10. Указываем откуда куда строить туннель.

 

Проверяем

1. Заходим по SSH на CHKP

2. Заходим в Expert

3. Смотрим установленные SA через комманду VPN TU

4. Заходим в логи, видим в логах шифрованный трафик.

5. O_O работает с первого раза ?? 

6. Идем пить кофе

 

 

 

Outcomes