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 бит).