VPN

Для минимизации затрат при объединении сетей в географически удаленных филиалах организации, используют технологии VPN (Virtual Private Network).

_images/vpn_xakep.png

В основе любой технологии VPN - принцип наложенной (оверлейной) сети, туннелирование данных через публичную сеть Интернет и использование шифрования для обеспечения конфиденциальности передачи туннелируемого трафика.

Traffic Inspector Next Generation поддерживает следующие виды VPN:

OpenVPN

Для работы OpenVPN необходимы пакеты:

  • openssl

  • easy-rsa

  • openvpn

Данные пакеты являются предустановленными в Traffic Inspector Next Generation.

OpenVPN - это реализация VPN в user space, которая использует SSL/TLS для защиты туннелируемого трафика. Такой подход становится возможным благодаря механизму TUN/TAP, реализованному в виде загружаемого драйвера ядра. В рамках данного механизма, система получает виртуальный интерфейс tun (IP-трафик) или tap (Ethernet-трафик). Все пакеты, которые система «высылает» с данного виртуального интерфейса, доступны для прочтения через специальный файл устройства /dev/tun или /dev/tap. Openvpnd демон читает пакеты из файла /dev/tun или /dev/tap, и далее передает их как обычные данные через стек TCP/IP с использованием криптомеханизма SSL/TLS. Входящий туннельный трафик доставляется Openvpnd демону, который дешифрует его и инжектирует пакеты в ядро посредством записи в файл /dev/tun или /dev/tap. Таким образом, трафик считается «пришедшим» на виртуальный сетевой интерфейс tun или tap.

OpenVPN поддерживает работу в режиме «сеть - сеть» (туннель между маршрутизаторами Traffic Inspector Next Generation, расположенными в географически удаленных офисах) и в режиме «узел - сеть» (подключение удаленных сотрудников к головному офису организации).

Безотносительно того, настраивается ли OpenVPN в режиме «сеть - сеть» или «узел - сеть», настройка на одном устройстве осуществляется в разделе VPN -> OpenVPN -> Серверы, а на другом - в разделе VPN -> OpenVPN -> Клиенты.

В зависимости от сочетаний параметров, можно настроить VPN без использования сертификатов или без использования аутентификации по логину/паролю, а также с использованием как сертификатов, так и аутентификации по логину/паролю.

Если делается выбор в пользу использования сертификатов, то сертификаты должны настраиваться на обеих сторонах туннеля. Тем самым обеспечивается взаимоаутентификация клиента и сервера. Сертификат на сервере должен быть рассчитан на использования для Server authentication. Сертификат на клиенте должен быть рассчитан на использования для Client authentication. Сертификаты на сервере и клиенте могут использовать разные алгоритм подписи, хэш алгоритм подписи и длину открытого ключа.

На обоих сторонах туннеля должны быть настроены аналогичные Алгоритм шифрования и Дайджест-алгоритм аутентификации.

SSL/TLS используется всегда, даже если названия некоторых вариантов настроек не содержат аббревиатуру SSL/TLS.

Функционал TLS authentication является опциональным. Если он включается на одной стороне туннеля, то он должен быть включен и на другой стороне туннеля.

Настройка OpenVPN в режиме «сеть - сеть»

Продемонстрируем настройку OpenVPN в режиме «сеть - сеть». В нашем примере используется следующая топология:

_images/scheme_1.png

Маршрутизатор TINGA

Имя хоста

TINGA

WAN IP

33.44.55.66/32

LAN IP

192.168.1.1/24


Маршрутизатор TINGB

Имя хоста

TINGB

WAN IP

44.55.66.77/32

LAN IP

192.168.2.1/24


Убедитесь, что маршрутизаторы TINGA и TINGB имеют адекватные сетевые настройки. В частности, WAN-адаптерам должны быть присвоены валидные «белые» IP-адреса - в нашем примере, это адреса 33.44.55.66 и 44.55.66.77.

На обоих маршрутизаторах, в разделе Сетевой экран -> Правила на вкладке WAN, создайте правило для разрешения ICMP-трафика. С каждого из маршрутизаторов, из раздела Интерфейсы -> Диагностика -> Ping, осуществите пропинговку IP-адреса WAN-адаптера противоположного маршрутизатора. Тем самым, Вы проверяете, что передача трафика между маршрутизаторами через сеть Интернет в принципе возможна и ей ничего не препятствует.

LAN-сегмент, располагающийся за каждым из маршрутизаторов, должен использовать уникальную IP-сеть. В нашем примере, это условие выполяется - за маршрутизатором TINGA располагается IP-сеть 192.168.1.0/24, за маршрутизатором TINGB распологается IP-сеть 192.168.2.0/24.


Настройка VPN на маршрутизаторе TINGA

Пройдите в VPN -> OpenVPN -> Серверы и кликните на Добавить сервер в верхнем правом углу формы. Используйте следующие настройки (настройки, которые мы опускаем, должны остаться по умолчанию):

Режим сервера

Пиринговая сеть (общий ключ)

Протокол

UDP

Режим работы устройства

tun

Интерфейс

WAN

Локальный порт

1194

Описание

OpenVPN peer 1

Совместно используемый ключ

Установите флажок для генерации нового ключа

Алгоритм шифрования

AES-256-CBC (256-bit)

Дайджест-алгоритм аутентификации

SHA512 (512-bit)

Hardware Crypto

Без аппаратного ускорения криптоалгоритмов

Туннельная сеть IPv4

172.16.1.0/24

Локальная сеть/сети IPv4

192.168.1.0/24

Удаленная сеть/сети IPv4

192.168.2.0/24

Сжатие

Включено с использованием адаптивного сжатия

Кликните Сохранить для применения настроек.


Копирование ключа

После создания нового сервера, в его настройках генерируется ключ, который необходимо также прописать на противоположной стороне туннеля (на маршрутизаторе TINGB). Для копирования ключа, щелкните на иконку «карандаш» напротив ранее созданного VPN-сервера.

Пример того, как выглядит ключ:

#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
0960c87c3aafa8f306fe270c1564380b
7922543563a17b5d2636b4ef9412dd09
9ad44974ca1b293963e0f8ac9cbdd97c
2c31bf35f0df45c9e928ccb033e6d51d
2caaec02d649ad081c68d7bc7d28030e
9182c9597a83024097bea860e52d9c66
1b9e0048fbf951ce8659bc56edb7f9a1
14f7740fc9231a3750557e02eb112712
ac4b9980d4c740ec96a4357f3940ed90
d1bbf8eed3de135c886fe2eff8e8b943
ab1f52b59def4c9ebeacc5eb48425189
c43887a6237c29e0724f5f45a0f70635
10680bec8bfb67c21bf2b4866268594c
9ba093668064f9a898e6a6ad103b401d
b2047132f0dc8db2230db38444d689fa
ddba46bf6f892ae90c59415f94b82750
-----END OpenVPN Static key V1-----

Настройка VPN на маршрутизаторе TINGB

Пройдите в раздел VPN -> OpenVPN-> Клиенты и кликните по Добавить клиента в верхнем правом углу формы.

Используйте следующие настройки (настройки, которые мы опускаем, должны остаться по умолчанию):

Режим сервера

Пиринговая сеть (общий ключ)

Протокол

UDP

Режим работы устройства

tun

Интерфейс

WAN

Адрес сервера

33.44.55.66

Порт сервера

1194

Описание

OpenVPN peer 2

Совместно используемый ключ

Уберите флажок и вставьте ключ, скопированный с маршрутизатора TINGA

Encryption algorithm

AES-256-CBC (256-bit)

Auth Digest Algorithm

SHA512 (512-bit)

Hardware Crypto

Без аппаратного ускорения криптоалгоритмов

Туннельная сеть IPv4

172.16.1.0/24

Локальная сеть/сети IPv4

192.168.2.0/24

Удаленная сеть/сети IPv4

192.168.1.0/24

Сжатие

Включено с использованием адаптивного сжатия

Кликните Сохранить для применения настроек.


Как видно из настроек, VPN будет обладать следующими характеристиками:

SSL/TLS используется
Туннелируемый трафик инкапсулируется в UDP-пакеты
OpenVPN демон будет обрабатывать подключения только на IP-адрес, присвоенный WAN-адаптеру
Сертификаты не используются
Аутентификация по логину/паролю не используется
Аутентификация TLS не используется
Сжатие данных используется

Создание правил сетевого экрана

На маршрутизаторе, который настраивался как VPN-сервер (маршрутизатор TINGA), в разделе Сетевой экран -> Правила, на вкладке WAN, создайте правило для разрешения OpenVPN-трафика. По молчанию, OpenVPN использует протокол UDP и порт 1194.

_images/pf_rules_udp_1194.png

Для того, чтобы трафик мог передаваться между маршрутизаторами TINGA и TINGB по туннелю, на обоих маршрутизаторах, в разделе Сетевой экран -> Правила на вкладке OPENVPN, создайте правило для разрешения трафика из IP-сети 172.16.1.0/24.

Для того, чтобы трафик мог передаваться между сетями 192.168.1.0/24 и 192.168.2.0/24 по туннелю, в разделе Сетевой экран -> Правила на вкладке OPENVPN, создайте следующие правила:

На маршрутизаторе TINGA - правило для разрешения трафика из IP-сети 192.168.2.0/24.

_images/pf_rules_tinga.png

На маршрутизаторе TINGB - правило для разрешения трафика из IP-сети 192.168.1.0/24.

_images/pf_rules_tingb.png

Кликните на кнопку Сохранить изменения.


Подключенных к VPN-серверу клиентов можно посмотреть в разделе VPN-> OpenVPN-> Статус соединения.

_images/status_server.png

Настройка OpenVPN в режиме «клиент - сеть»

Продемонстрируем настройку OpenVPN в режиме «узел - сеть». В нашем примере используется следующая топология:

_images/scheme_2.png

Маршрутизатор TING

Имя хоста

TING

WAN IP

11.22.33.44/32

LAN IP

192.168.1.1/24

Туннельная сеть

172.16.1.0/24


Компьютер удаленного пользователя

Имя хоста

User PC

WAN IP

22.33.44.55/32

LAN IP

192.168.2.1/24

Туннельная сеть

172.16.1.0/24


Настройки на маршрутизаторе TING

Создание сертификата издательства

Если сертификат издательства уже существует, данный шаг можно пропустить. На маршрутизаторе TING, пройдите в раздел Система -> Доверенные сертификаты -> Полномочия и создайте сертификат издательства со следующими настройками:

Описательное имя

OpenVPN CA

Метод

Создать внутренний центр сертификации

Тип ключа

RSA

Длина ключа (бит)

4096

Алгоритм дайджеста

SHA512

Время существования (д)

365

Код страны

RU (Russia)

Штат или область

MO

Город

Kolomna

Организация

Smart-Soft

Эл. почта

info@smart-soft.ru

Стандартное имя

OpenVPN CA


Создание серверного сертификата для маршрутизатора TING

На маршрутизаторе TING, пройдите в раздел Система -> Доверенные сертификаты -> Сертификаты и создайте серверный сертификат со следующими настройками:

Метод

Создать внутренний сертификат

Описательное имя

OpenVPN SRV cert

Центр сертификации

OpenVPN CA

Тип

Сертификат сервера

Тип ключа

RSA

Длина ключа (бит)

4096

Алгоритм дайджеста

SHA512

Время существования (д)

365

Код страны

RU (Russia)

Штат или область

MO

Город

Kolomna

Организация

Smart-Soft

Эл. почта

info@smart-soft.ru

Стандартное имя

OpenVPN server cert


Создание пользователя и клиентского сертификата

Создайте учетную запись для пользователя в разделе Система -> Доступ -> Пользователи на маршрутизаторе TING.

Укажите имя учетной записи и пароль, установите флаг Создать сертификат пользователя и нажмите на кнопку Сохранить. Вы окажитесь в мастере создания сертификата пользователя. Укажите следующие настройки сертификата:

Метод

Создать внутренний сертификат

Описательное имя

danny

Центр сертификации

OpenVPN CA

Тип

Сертификат клиента

Тип ключа

RSA

Длина ключа (бит)

4096

Алгоритм дайджеста

SHA512

Время существования (д)

365

Код страны

RU (Russia)

Штат или область

MO

Город

Kolomna

Организация

Smart-Soft

Эл. почта

info@smart-soft.ru

Стандартное имя

danny


Настройка VPN на маршрутизаторе TING

Пройдите в VPN -> OpenVPN -> Серверы и кликните на Добавить сервер в верхнем правом углу формы. Используйте следующие настройки (настройки, которые мы опускаем, должны остаться по умолчанию):

Описание

OpenVPN Server

Режим сервера

Удаленный доступ (SSL/TLS + аутентификация пользователя)

Сервер для аутентификации

Локальная база данных

Протокол

UDP

Режим работы устройства

tun

Интерфейс

WAN

Локальный порт

1194

Центр сертификации пиров

Сертификат OpenVPN CA

Сертификат сервера

Сертификат OpenVPN SRV cert

Длина параметров DH

4096

Алгоритм шифрования

AES-256-CBC (256-bit)

Дайджест-алгоритм аутентификации

SHA512 (512-bit)

Hardware Crypto

Без аппаратного ускорения криптоалгоритмов

Уровень сертификата

Один (клиент + сервер)

Туннельная сеть IPv4

172.16.1.0/24

Локальная сеть/сети IPv4

192.168.1.0/24

Сжатие

Включено с использованием адаптивного сжатия

DNS-серверы

8.8.8.8


Кликните Сохранить для применения настроек.


Как видно из настроек, VPN будет обладать следующими характеристиками:

SSL/TLS используется
Туннелируемый трафик инкапсулируется в UDP-пакеты
OpenVPN демон будет обрабатывать подключения только на IP-адрес, присвоенный WAN-адаптеру
Сертификаты используются для взаимоаутентификации
Аутентификация по логину/паролю используется
Аутентификация TLS не используется
Сжатие данных используется

Создание правил сетевого экрана

На маршрутизаторе TING, в разделе Межсетевой экран -> Правила, на вкладке WAN, создайте правило для разрешения OpenVPN-трафика. По молчанию, OpenVPN использует протокол UDP и порт 1194.

_images/pf_rules_udp_1194.png

Для того, чтобы разрешить VPN-клиентам обращаться в сеть 192.168.1.0/24, находящуюся за маршрутизатором TING, и на сам маршрутизатором TING через туннель, на маршрутизаторе TING, в разделе Межсетевой экран -> Правила на вкладке OpenVPN, создайте правило для разрешения трафика из IP-сети 172.16.1.0/24.

_images/pf_rules_ting.png

Кликните на кнопку Сохранить изменения.


Настройки на компьютере удаленного пользователя


Установка OpenVPN-клиента

На компьютере удаленного пользователя установите OpenVPN Community, доступный для скачивания по ссылке.


Настройка VPN

Эскпорт настроек клиента.

На маршрутизаторе TING, перейдите в раздел VPN -> OpenVPN -> Экспорт настроек клиента и эскпортируйте config файл клиента для OpenVPN

_images/openvpn_export.png

После установки OpenVPN Community, скопируйте эскпортированные файлы в папку config, обычно она расположена C:\Users\%username%\OpenVPN\config

_images/openvpn_path.png

В трее выбрать OpenVPN Connect и нажать Подключиться для установки соединения:

_images/openvpn_connect.png

Если подключение прошло без критических ошибок, то в появившемся окне авторизации необходимо ввести данные пользователя:

_images/openvpn_authorization.png

Если введены корректные данные пользователя, то VPN-соединение будет установлено.




IPSec: Настройка TING для IKEv2 EAP-MSCHAPv2

Данный режим IPsec предполагает использование ISAKMP/IKEv2 для установления ассоциаций безопасности (security association).

На фазе IKE_SA_INIT, IKEv2 использует X.509 PKI и сертификаты для нужд аутентификации сервера. Следовательно, нам потребуется подготовить нужные X.509 сертификаты.

Аутентификация VPN-клиентов проводится с использованием EAP-MSCHAPv2.

Безопасность трафика обеспечивается за счет протокола ESP (Encapsulating Security Payload) в туннельном режиме.

В операционной системе Windows данный тип VPN называется IKEv2.

В нашем примере VPN-клиент подключается к устройству TING со стороны WAN-адаптера, который имеет IP-адрес 192.168.13.240.

В VPN-туннеле будет использована IP-сеть 172.16.0.0/24.

Операции с сертификатами

Создание серверного сертификата

Зайдите в раздел Система -> Доверенные сертификаты -> Сертификаты и нажмите на кнопку Добавить или импортировать сертификат.

Заполните следующие поля:

Метод

Создать внутренний сертификат

Описательное имя

IKEv2 certificate

Центр сертификации

TING CA

Тип

Сертификат сервера

Длина ключа (бит)

2048

Алгоритм дайджеста

SHA256

Время существования (д)

365

В поле Стандартное имя указываем либо полное DNS-имя нашего устройства TING (которое резолвится в IP-адрес, присвоенный WAN-адаптеру устройства TING), либо IP-адрес WAN-адаптера устройства TING.

При необходимости добавляем поле/поля Альтернативные Имена со значениями IP-адрес или DNS-имя. Эти значения могут использоваться у VPN-клиента в поле Имя компьютера или IP-адрес назначения в свойствах VPN-подключения.

Остальные поля могут быть заполнены как прочерк.

Нажимаем кнопку Сохранить.

Примечание

Позднее мы используем данный серверный сертификат в настройках IPSec на устройстве TING.


Экспорт сертификата издательства

Зайдите в раздел Система -> Доверенные сертификаты -> Полномочия.

В строке TING CA нажмите на иконку экспорта сертификата. Нажимаем Сохранить как и сохраняем файл ting-ca.crt к себе на компьютер.

Примечание

Позднее мы импортируем издательский сертификат ting-ca.crt на VPN-клиенте.


Настройка IPSeс на сервере

Зайдите в раздел VPN -> IPsec -> Мобильные клиенты.

Установите флаг напротив настройки Включен.

В поле Аутентификация пользователей выберите Локальная база.

В поле Пул виртуальных адресов установите флаг Предоставление виртуальных IP-адресов клиентам.

Укажите сеть, IP-адреса которой будут выдаваться VPN-клиентам, например 172.16.0.0/24.

Нажимаем кнопку Сохранить.

После этого вверху страницы появится кнопка Создайте Phase1, на которую нужно кликнуть.


Настройки Phase1-записи

Мы оказываемся в разделе VPN -> IPsec -> Настройки туннеля, где должны задать следующие настройки:

Общая информация

Метод подключения

по умолчанию

Версия Обмена ключами

V2

Протокол Интернета

IPv4

Интерфейс

WAN

Предложения Phase 1 (Аутентификация)

Метод аутентификации

EAP-MSCHAPV2

Мой идентификатор

Уникальное имя, 192.168.13.240

Мой Сертификат

IKEv2 certificate

В текстбоксе под полем Мой идентификатор, пропишите имя, соответствующее стандартному имени, указанному при генерации серверного сертификата (DNS-имя или IP-адрес). В нашем случае это IP-адрес 192.168.13.240.

В поле Мой Сертификат, выберите ранее сгенерированный серверный сертификат, в нашем примере IKEv2 certificate.

Предложения Phase 1 (Алгоритмы)

Алгоритмы шифрования

AES, 256

Алгоритм хеша

SHA256

Группа ключей DH

2 (2014 bit)

Время существования

28800

Нажмите кнопку Сохранить.


Настройки Phase2-записи

Кликните на кнопку Показать Phase2-записи 0, далее кликните на иконку плюс, ближайшую к надписи PFS.

Общая информация

Режим

Tunnel IPv4

Локальная Сеть

Тип

Подсеть LAN

Предложение Phase 2 (Обмен SA/Ключами)

Протокол

ESP

Алгоритмы шифрования

AES, автоматически

Алгоритмы хеша

SHA1

Группа ключей PFS

off

Время существования

3600

Нажмите кнопку Сохранить.


Установите флаг Включить IPsec и нажмите на кнопку Сохранить.


Зайдите в раздел VPN -> IPsec -> Предварительно выданные ключи.

Кликните на иконку плюс.

В появившемся окне введите логин и пароль пользователя:

Идентификатор

user

Предварительно выданный ключ

123

Тип

EAP

Нажимаем Сохранить.


После осуществления всех манипуляций, настройки IPSec выглядят следующим образом:

_images/ipsec_settings.png

Настройка межсетевого экрана

Зайдите в раздел Межсетевой экран -> Правила и создайте три правила:

  • Правило на WAN-интерфейсе, разрешающее протокол ISAKMP/IKE (UDP-порт 500)

  • Правило на WAN-интерфейсе, разрешающее протокол ESP (ID 50)

  • Правило на IPSEC-интерфейсе, разрешающее любой трафик

Правило на WAN-интерфейсе, разрешающее протокол ISAKMP/IKE (UDP-порт 500)

Действие

разрешение

Интерфейс

WAN

Версии TCP/IP

IPv4

Протокол

UDP

Диапазон портов назначения

ISAKMP

Отправитель

любой

Получатель

любой

Нажмите Сохранить.

Правило на WAN-интерфейсе, разрешающее протокол ESP (ID 50)

Действие

разрешение

Интерфейс

WAN

Версии TCP/IP

IPv4

Протокол

ESP

Отправитель

любой

Получатель

любой

Нажмите Сохранить.

Правило на IPSEC-интерфейсе, разрешающее любой трафик

Действие

разрешение

Интерфейс

WAN

Версии TCP/IP

IPv4

Протокол

любой

Отправитель

любой

Получатель

любой

Нажмите Сохранить.

Нажмите Применить изменения.


Настройка Windows-клиента

Установка оснастки для работы с сертификатами

На VPN-клиенте создайте оснастку для работы с сертификатами. Для этого, в меню Выполнить (вызывается по нажатию Win+R) наберите mmc и нажмите Enter.

В консоли MMC, выберите Файл -> Добавить или удалить оснастку…. Из столбца Доступные оснастки выбираем Сертификаты и нажимаем кнопку Добавить, в появившемся окне Оснастка диспетчера сертификатов выбираем Учетной записи компьютера, нажимаем Далее, Далее, ОК. Присвойте сохраняемому файлу консоли MMC имя certmgr.

_images/vpn_cert_snapin.png

Установка сертификата издательства

Откройте ранее добавленную остаску certmgr.

Пройдите в Сертификаты (локальный компьютер)\Доверенные корневые центры сертификации\Сертификаты.

Через меню Действие\Все задачи\Импорт, либо через контекстное меню Все задачи\Импорт, импортируйте сертификат издательства ting-ca.crt, который мы ранее экспортировали из устройства TING в пункте Экспорт сертификата издательства.


Настройка VPN-соединения

Зайдите в Панель управления\Все элементы панели управления\Центр управления сетями и общим доступом.

Нажмите Настройка нового подключения или сети, выберете Подключение к рабочему месту, выберете Использовать мое подключение к Интернету (VPN).

В поле Интернет-адрес введите доменное имя или IP-адрес WAN-адаптера устройства TING, в нашем примере IP-адрес 192.168.13.240.

Примечание

Доменное имя или IP-адрес должны совпадать с тем, что мы указывали в сгенерированном серверном сертификате в пункте Создание серверного сертификата.

В поле Имя местоназначения введите произвольное имя создаваемого VPN-соединения, например IPSec VPN Сonnection. Установите флаг Не подключаться сейчас, ….

Зайдите в Панель управления\Сеть и Интернет\Сетевые подключения. Удостоверьтесь, что в свойствах соединения IPSec VPN Сonnection указаны настройки, аналогичные тем, что продемонстрированы на скриншотах:

Вкладка Общие

_images/vpn_conn_general.png

Вкладка Параметры

_images/vpn_conn_parameters.png

Вкладка Безопасность

_images/vpn_conn_security.png

Вкладка Сеть

_images/vpn_conn_network.png

Вкладка Доступ

_images/vpn_conn_access.png

При установке подключения к VPN-серверу через соединение IPSec VPN Сonnection укажите:

Имя пользователя

user

Пароль

123


L2TP поверх IPSec

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

IPsec: несколько подсетей в туннеле

ГОСТ-VPN