Общая логика работы

1.    Размещение устройств.

1.1.     В центральном офисе размещаются: центр выпуска сертификатов (Certification-authority), криптошлюз «С-Терра Шлюз DP» (Hub1), управляемый коммутатор (Int-switch1-Hub1) и персональные компьютеры (host0-behind-hub1 и host1-behind-hub1).

1.2.     В филиале размещаются: криптошлюз «С-Терра Шлюз DP» (Spoke1), управляемый коммутатор (Int-switch1-Spoke1) и персональные компьютеры (host0-behind-spoke1 и host1-behind-spoke1).

1.3.     В неконтролируемом сегменте (синее облако на схеме) размещаются: HTTP сервер для распространения списка отозванных сертификатов (CRL-distribution-point), маршрутизатор (Router1).

2.    Подключение к сети Интернет.

      В данном сценарии для эмуляции сети Интернет используются маршрутизатор Router1.

Подключение к сети Интернет на устройствах «С-Терра Шлюз DP» будет считаться успешным, если по протоколу ICMP (или «ping») будет доступен HTTP сервер для распространения списка отозванных сертификатов (устройство CRL-distribution-point на схеме).

2.1.     Криптошлюз Hub1 подключается к сети Интернет с помощью статической маршрутизации (маршрут по умолчанию через маршрутизатор Router1).

2.2.     Криптошлюз Spoke1 подключается к сети Интернет с помощью статической маршрутизации (маршрут по умолчанию через маршрутизатор Router1).

3.    L2 VPN/L3 VPN.

Общие сведения

Высокопроизводительный L2 VPN реализуется самим Продуктом «С-Терра Шлюз DP». Главное отличие «С-Терра Шлюз DP» от модуля «С-Терра L2», который реализует аналогичный функционал, – это производительность шифрования, которая может достигать 50 Gbit/s. Также важно понимать, что защищаемый при помощи «С-Терра Шлюз DP» транзитный L2 трафик не может быть обработан TCP/IP стеком операционной системы (например, нельзя применить к такому трафику правила iptables).

На этапе ввода в эксплуатацию «С-Терра Шлюз DP» нужно определить какой из сетевых интерфейсов будет подключен к доверенной сети – LAN, а какой к недоверенной – WAN (при необходимости может быть несколько пар LAN/WAN интерфейсов).

Логика обработка фреймов/пакетов

«С-Терра Шлюз DP» обрабатывает фреймы/пакеты следующим образом. Все фреймы, поступившие на LAN интерфейс, упаковываются в пакеты протокола EtherIP (протокол 97), далее эти пакеты зашифровываются в соответствии с политикой безопасности и отправляются с WAN интерфейса (пакеты с LAN интерфейса не могут попасть в TCP/IP стек ОС). Пакеты, поступившие на WAN интерфейс, делятся на две группы. К первой группе относятся транзитные зашифрованные пакеты L2 VPN, они расшифровываются и отправляются с LAN интерфейса, данные пакеты никогда не попадают в TCP/IP стек ОС. Ко второй группе относятся пакеты, которые предназначены в TCP/IP стек ОС, как правило это зашифрованный трафик (L3 VPN) для удаленного управления «С-Терра Шлюз DP» и открытый трафик (с некоторыми исключениями при работе криптошлюза за NAT).

Логика настройки шифрования

Настройка шифрования трафика производится в два этапа. Этап первый – настройка L2 части (либо data plane), которая частично осуществляется в процессе инициализации «С-Терра Шлюз DP» мастером настроек, либо полностью через конфигурационный файл /opt/VPNagent/etc/ipsm_dpdk.cfg. На втором этапе настраивается политика безопасности через консоль cisco-like.

Для шифрования транзитного L2 трафика (L2 VPN) крипто-карту нужно прикреплять ко всем специальным интерфейсам, которые имеют имя DP<N> (данные интерфейсы по сути являются ядрами процессора). Пример:

interface DP0

 crypto map L2VPN

 crypto ipsec stream-id 1000

!

interface DP1

 crypto map L2VPN

 crypto ipsec stream-id 1001

!

...

!

interface DP44

 crypto map L2VPN

 crypto ipsec stream-id 1044

!

Для организации защиты удаленного управления «С-Терра Шлюз DP» (L3 VPN) крипто-карту нужно прикреплять к интерфейсу, который имеет имя vEthernet<N> и соответствует WAN. Пример:

interface vEthernet0

 crypto map L3VPN

 ip address 172.16.1.2 255.255.255.0

 mtu 9000

!

Если для удаленного управления используется «С-Терра Клиент» под Windows c IKECFG адресом, то в качестве защищаемого Mgmt адреса «С-Терра Шлюз DP» нельзя указывать IP адрес на WAN интерфейсе. Создайте для этого на «С-Терра Шлюз DP» либо loopback интерфейс, либо назначьте адрес на свободный сетевой интерфейс (выполняется средствами ОС). Подробнее ниже (см. «Управление «С-Терра Шлюз DP» через выделенный сетевой интерфейс»)

Накладные расходы (overhead) L2 VPN

Так как оригинальный фрейм инкапсулируется в EtherIP (протокол 97), то накладные расходы инкапсуляции L2 – это 22 байта.

Накладные расходы инкапсуляции IPsec для туннельного режима могут составлять от 50 до 60 байт (зависит от алгоритма шифрования и наличия NAT).

Рисунок 2. Накладные расходы (overhead) L2 + IPsec

Рисунок (см. рисунок 2) показывает минимальный и максимальный размер накладных расходов при организации L2 VPN для оригинального нетегированного, 802.1 Q и QinQ фрейма. Если шифруется MPLS, то размер оригинального фрейма может варьироваться в зависимости от количества меток в стеке, учитывайте это.

Из рисунка (см. рисунок 2) видно, что с учетом размера оригинального фрейма, а также L2 и IPsec инкапсуляций результирующий пакет может иметь размер от 1586 до 1604 байт. Если MTU на WAN интерфейсе «С-Терра Шлюз DP» имеет значение в 1500 байт, то инкапсулированные пакеты будут фрагментированы (фрагментация по умолчанию выключена), что в свою очередь приведет к снижению производительности (до 15 %). Соответственно, при наличии возможности, заказывайте нужный вам MTU у вашего провайдера на каналообразующем оборудовании, чтобы избежать фрагментации и снижения производительности.

Фрагментация, MTU и DF бит

Фрагментация по умолчанию выключена. Чтобы ее включить нужно в файле /opt/VPNagent/etc/ipsm_dpdk.cfg для порта [PORT<N>], который соответствует WAN интерфейсу, параметру dp_frag_ip в качестве значения задать IP адрес партнера, который также является «С-Терра Шлюз DP» версии 4.3 и выше. Если «С-Терра Шлюз DP» находится за статическим NAT (динамический не поддерживается), то параметру dp_frag_natt нужно выставить значение yes.

Пример:

[PORT0]

...

outer = yes

dp_frag_ip = 172.16.100.2

dp_frag_natt = yes

...

Фрагментация пакетов происходит после зашифрования. Статистику по зашифрованным пакетам можно посмотреть при помощи утилиты kstat_show (счетчик frag ok).

Чтобы уменьшить количество фрагментированных транзитных пакетов (L2 VPN) рекомендуется включать механизмы PMTUD и MSSFIX (параметры pmtud и mssfix в файле /opt/VPNagent/etc/ipsm_dpdk.cfg) для порта [PORT<N>], который соответствует LAN интерфейсу. Данные механизмы работают только для IPv4 пакетов. Пример:

[PORT1]

...

mtu = 1500

pmtud = 1400

mssfix = 1360

...

Механизмы PMTUD и MSSFIX применимы для пакетов протокола IPv4, которые вкладываются в Ethernet/802.1Q/QinQ. Для MPLS не применимы.

MTU для LAN и WAN интерфейсов задается в процессе инициализации «С-Терра Шлюз DP» в мастере настроек (MTU также можно изменить через консоль cisco-like или же через файл /opt/VPNagent/etc/ipsm_dpdk.cfg, параметр mtu для соответствующего порта [PORT<N>]).

По умолчанию DF (don’t fragment) бит с исходных пакетов на инкапсулированные не переносится (можно включить перенос DF бита, но не рекомендуется).

Защита 802.1Q/QinQ/MPLS трафика

Для шифрования 802.1Q/QinQ/MPLS трафика никаких дополнительных настроек не требуется.

Управление «С-Терра Шлюз DP» через интерфейс захвата пакетов (LAN интерфейс)

Управление «С-Терра Шлюз DP» через интерфейс захвата пакетов (LAN интерфейс) невозможно.

Управление «С-Терра Шлюз DP» через выделенный сетевой интерфейс

Для управления «С-Терра Шлюз DP» из LAN сегмента или же удаленно под защитой IPsec используйте выделенный сетевой интерфейс. Данный интерфейс не должен быть добавлен в конфигурационный файл /opt/VPNagent/etc/ipsm_dpdk.cfg, а его настройку нужно производить через файл /etc/network/interfaces за пределами секции, которая обозначается маркерами ###netifcfg-begin###,###netifcfg-end### (после настройки нужно выполнить команду systemctl restart networking.service). Пример:

...

source-directory /etc/network/interfaces.d

 

# loopback configuration

auto lo

iface lo inet loopback

 

# Mgmt interface.

auto eth2

iface eth2 inet static

address 10.0.0.10

netmask 255.255.255.0

 

###netifcfg-begin###

...

###netifcfg-end###

Пропуск фреймов протоколов LACP/LLDP

По умолчанию фреймы протоколов LACP/LLDP пропускаются через «С-Терра Шлюз DP».

Копирование ToS байта из оригинального пакета в инкапсулированный

Копирование ToS байта из оригинального пакета в инкапсулированный EtherIP включается при помощи параметра copy_tos в конфигурационном файле /opt/VPNagent/etc/ipsm_dpdk.cfg. Копирование ToS байта из EtherIP в ESP/NAT-Т пакеты происходит по умолчанию.

Применимо для пакетов протокола IPv4, которые вкладываются в Ethernet/802.1Q/QinQ. Для MPLS копирование не работает.

VLAN (802.1Q) на WAN интерфейсе

Чтобы пакеты, уходящие с WAN интерфейса, тегировались определенным VLAN ID нужно в конфигурационном файле /opt/VPNagent/etc/ipsm_dpdk.cfg для соответствующего порта параметру vlan_identifier выставить нужное значение. Пример:

[PORT0]

...

outer = yes

vlan_identifier = 42

...

В файле /etc/network/interfaces никаких настроек делать не нужно.

На соответствующему данному WAN порту интерфейсе vEthernet<N> в консоли cisco-like нужно, чтобы была прикреплена либо крипто-карта (L3 VPN), либо список доступа (любой). Иначе тегирование работать не будет.

4.    Параметры безопасного взаимодействия.

Весь трафик на втором уровне модели OSI подсетей 192.168.100.0/24 и 192.168.101.0/24, который передается между центральным офисом и филиалом, а также трафик управления на третьем уровне модели OSI защищается с использованием алгоритмов ГОСТ и протокола IPsec в туннельном режиме.

Инициировать защищенное соединение может как трафик из филиала в центр, так и наоборот, из центра в филиал.

4.1.     Параметры протокола IKE:

·         Аутентификация при помощи цифровых сертификатов, алгоритм подписи – ГОСТ Р 34.10-2012 (ключ 256 бит);

·         Алгоритм шифрования – ГОСТ 28147-89 (ключ 256 бит);

·         Алгоритм вычисления хеш-функции – ГОСТ Р 34.11-2012 ТК26 (ключ 256 бит);

·         Алгоритм выработки общего ключа (аналог алгоритма Диффи-Хеллмана) – VKO_GOSTR3410_2012_256 (ключ 256 бит).

4.2.     Параметры протокола ESP для L2 VPN:

·         Комбинированный алгоритм шифрования и имитозащиты (контроль целостности) – ГОСТ Р 34.12-2015 "Кузнечик" (ключ 256 бит).

4.3.     Параметры протокола ESP для L3 VPN:

·         Комбинированный алгоритм шифрования и имитозащиты (контроль целостности) – ESP_GOST-4M-IMIT (ключ 256 бит).