На устройстве-клиенте предварительно должно быть установлено соответствующее ПО OpenConnect.
В качестве примера приведён порядок настройки OpenConnect на ARMA Стена.
Для настройки подключения через VPN-клиент OpenConnect необходимо выполнить следующие шаги:
Сгенерировать ключи и сертификаты.
Настроить OpenConnect.
Примечание
В случае необходимости настройки OpenConnect на ARMA Стена, входящих в состав отказоустойчивого кластера, следует учитывать особенности настройки, указанные в п. «Настройка сервера OpenConnect в составе кластера» настоящего руководства.
Для генерации ключа и сертификата удостоверяющего центра необходимо в режиме конфигурирования ввести следующую команду:
run generate pki ca install CAname
где «CAname» – имя сертификата УЦ. Приведено в качестве примера.
После ввода вышеуказанной команды будут выводиться запросы, которые могут содержать в квадратных скобках допустимые значения и в круглых скобках предлагаемый ответ по умолчанию. Потребуется указать следующие значения параметров сертификата, представленные в таблице (см. Таблица «Значения параметров сертификата УЦ»), нажимая для подтверждения клавишу «Enter».
Enter private key type: [rsa, dsa, ec] (Default: rsa)
rsa
Enter private key bits: (Default: 2048)
2048
Enter country code: (Default: GB)
RU
Enter state: (Default: Some-State)
Moscow
Enter locality: (Default: Some-City)
Moscow
Enter organization name: (Default: NGFWOS)
NGFWOS
Enter common name: (Default: ngfwos.net)
ngfwos.net
Enter how many days certificate will be valid: (Default: 1825)
365
Do you want to encrypt the private key with a passphrase? [y/N]
n
Значения параметров сертификата приведены в качестве примера.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для просмотра содержимого сертификатов и закрытых ключей необходимо ввести команду «show pki» в режиме конфигурирования.
Для просмотра информации о параметрах сертификатов необходимо ввести команду «run show pki» в режиме конфигурирования или «show pki» в режиме эксплуатации.
Для генерации ключа и сертификата сервера необходимо в режиме конфигурирования ввести следующую команду:
run generate pki certificate sign CAname install CERTname
где «CERTname» – имя сертификата. Приведено в качестве примера.
Указать следующие значения параметров сертификата, представленные в таблице (см. Таблица «Значения параметров сертификата»), нажимая для подтверждения клавишу «Enter».
Для настройки OpenConnect необходимо ввести следующие команды:
set vpn openconnect authentication local-users username User1 password example123
set vpn openconnect authentication mode local password
где:
«User1» – логин;
«example123» – пароль. Учётные данные приведены в качестве примера.
set vpn openconnect network-settings client-ip-settings subnet 100.64.0.0/24
set vpn openconnect network-settings name-server 192.168.1.1
set vpn openconnect network-settings name-server 10.1.1.2
set vpn openconnect ssl ca-certificate CAname
set vpn openconnect ssl certificate CERTname
где:
«CAname» – имя сертификата центра сертификации;
«CERTname» – имя сертификата.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для указания порта, который будет использоваться для клиентских подключений, необходимо ввести следующую команду:
set vpn openconnect listen-ports <tcp|utp> <number>
где <number> – номер порта для приёма соединений. Возможно указать значение в диапазоне от «1» до «65535». По умолчанию используется порт «443».
Для указания прослушиваемого адреса необходимо ввести следующую команду:
set vpn openconnect listen-address <IP-address>
где <IP-address> – IP-адрес.
Дополнительно возможно указать параметр «default-domain» для OpenConnect с помощью команды:
set vpn openconnect network-settings default-domain <domain>
где <domain> – доменное имя, которое будет автоматически добавляться к неполным именам доменов.
Параметр «default-domain» в конфигурации OpenConnect определяет домен по умолчанию для всех подключающихся клиентов, обеспечивая корректное разрешение имён внутри VPN-сети. Данный параметр необходим для формирования полных доменных имён (FQDN) при обращении к сетевым ресурсам и позволяет клиентам использовать сокращённые имена хостов без указания полного доменного имени.
Примечание
Для применения настройки указанного прослушиваемого адреса требуется перезапустить сервис «OpenConnect» с помощью ввода в режиме эксплуатации команды «restart openconnect-server».
При подключении клиентов к серверу, сервис «OpenConnect» для каждого пользователя создаёт отдельный интерфейс, именованный в формате «sslvpnX», где «X» – идентификатор интерфейса.
При необходимости включения поддержки устаревших клиентов cisco следует ввести следующую команду:
set vpn openconnect network-settings cisco-client-compatibility
По умолчанию параметр отключён.
При необходимости включения поддержки устаревшей версии протокола DTLS следует ввести следующую команду:
В случае необходимости принудительного завершения сессии пользователя следует в режиме эксплуатации ввести следующую команду:
admin@ngfwos:~$ force openconnect-server disconnect-user <name>
где <name> – имя пользователя.
Для просмотра актуальной информации о текущих подключениях пользователей необходимо в режиме эксплуатации ввести команду «show openconnect-server sessions».
Рисунок – Схема стенда для настройки VPN в режиме «сеть – сеть»
На обоих устройствах ARMA Стена необходимо создать разрешающие правила МЭ для установления соединений по протоколам SSH и OpenVPN:
SSH:
set firewall ipv4 input filter rule 30 action accept
set firewall ipv4 input filter rule 30 description 'Allow_SSH'
set firewall ipv4 input filter rule 30 destination address <IP-address>/32
set firewall ipv4 input filter rule 30 destination port 22
set firewall ipv4 input filter rule 30 inbound-interface name eth0
set firewall ipv4 input filter rule 30 protocol tcp
set firewall ipv4 input filter rule 30 log
где <IP-address> – IP-адрес, назначенный для интерфейса «eth0» ARMA Стена, на котором выполняется настройка. В примере указаны IP-адреса «198.51.100.51» и «203.0.113.2» на ARMA Стена 1 и ARMA Стена 2 соответственно.
OpenVPN:
set firewall ipv4 forward filter rule 30 action accept
set firewall ipv4 forward filter rule 30 description 'OpenVPN'
set firewall ipv4 forward filter rule 30 destination port 1194
set firewall ipv4 forward filter rule 30 protocol udp
set firewall ipv4 forward filter rule 30 log
где <1194> – порт, на котором ожидается соединение с удалённым сервером OpenVPN.
Для генерации самоподписанного сертификата необходимо ввести следующую команду:
run generate pki certificate self-signed install openvpn-local
где «openvpn-local» – имя сертификата. Приведено в качестве примера.
После ввода вышеуказанной команды потребуется указать следующие значения параметров сертификата, представленные в таблице (см. Таблица «Значения параметров сертификата»), нажимая для подтверждения клавишу «Enter».
Enter private key type: [rsa, dsa, ec] (Default: rsa)
ec
Enter private key bits: (Default: 256)
256
Enter country code: (Default: GB)
RU
Enter state: (Default: Some-State)
Moscow
Enter locality: (Default: Some-City)
Moscow
Enter organization name: (Default: NGFWOS)
NGFWOS
Enter common name: (Default: ngfwos.net)
ngfwos.net
Do you want to configure Subject Alternative Names? [y/N]
n
Enter how many days certificate will be valid: (Default: 365)
365
Enter certificate type: (client, server) (Default: server)
server
Do you want to encrypt the private key with a passphrase? [y/N]
n
Значения параметров сертификата приведены в качестве примера.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для просмотра содержимого сертификатов и закрытых ключей необходимо ввести команду «show pki» в режиме конфигурирования.
Для просмотра информации о параметрах сертификатов необходимо ввести команду «run show pki» в режиме конфигурирования или «show pki» в режиме эксплуатации.
Для вывода уникального идентификатора ARMA Стена 1 для криптографического ключа необходимо ввести следующую команду:
run show pki certificate openvpn-local fingerprint sha256
Для генерации самоподписанного сертификата необходимо ввести следующую команду:
run generate pki certificate self-signed install openvpn-remote
где «openvpn-remote» – имя сертификата. Приведено в качестве примера.
После ввода вышеуказанной команды потребуется указать следующие значения параметров сертификата, представленные в таблице (см. Таблица «Значения параметров сертификата»), нажимая для подтверждения клавишу «Enter».
Значения параметров сертификата приведены в качестве примера.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для просмотра содержимого сертификатов и закрытых ключей необходимо ввести команду «show pki» в режиме конфигурирования.
Для просмотра информации о параметрах сертификатов необходимо ввести команду «run show pki» в режиме конфигурирования или «show pki» в режиме эксплуатации.
Для вывода уникального идентификатора ARMA Стена 2 для криптографического ключа необходимо ввести следующую команду:
run show pki certificate openvpn-remote fingerprint sha256
Для настройки туннеля необходимо ввести следующие команды:
set interfaces openvpn vtun0 mode site-to-site
set interfaces openvpn vtun0 persistent-tunnel
set interfaces openvpn vtun0 local-address 10.0.2.254
set interfaces openvpn vtun0 local-port 1194
set interfaces openvpn vtun0 protocol udp
set interfaces openvpn vtun0 remote-address 10.0.1.254
set interfaces openvpn vtun0 remote-host 198.51.100.51
set interfaces openvpn vtun0 remote-port 1194
где:
«vtun0» – имя туннеля;
«site-to-site» – режим «сеть – сеть»;
«10.0.2.254» – локальный IP-адрес;
«1194» – порт;
«udp» – протокол;
«10.0.1.254» – удалённый IP-адрес;
«198.51.100.51» – IP-адрес интерфейса ARMA Стена 1 с доступом к сети Интернет.
Для указания ключа и криптографических установок необходимо ввести следующие команды:
set interfaces openvpn vtun0 tls certificate openvpn-remote
set interfaces openvpn vtun0 tls peer-fingerprint <server_cert_fingerprint>
set interfaces openvpn vtun0 tls role active
где:
<server_cert_fingerprint> – уникальный идентификатор ARMA Стена 1;
«active» – роль инициатора соединения.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для реализации безопасного соединения необходимо сгенерировать и установить удостоверяющий центр, а также создать и подписать с его помощью серверный и клиентский сертификаты. Помимо этого, следует сформировать параметры шифрования Диффи-Хеллмана (DH). Указанные действия выполняются в конфигурационном режиме с использованием следующих команд:
Сгенерировать и установить УЦ:
run generate pki ca install openvpn-ca
где «openvpn-ca» – имя УЦ. Приведено в качестве примера.
После ввода вышеуказанной команды будут выводиться запросы, которые могут содержать в квадратных скобках допустимые значения и в круглых скобках предлагаемый ответ по умолчанию. Потребуется указать следующие значения параметров сертификата, представленные в таблице (см. Таблица «Значения параметров сертификата УЦ»), нажимая для подтверждения клавишу «Enter».
Enter private key type: [rsa, dsa, ec] (Default: rsa)
rsa
Enter private key bits: (Default: 2048)
2048
Enter country code: (Default: GB)
RU
Enter state: (Default: Some-State)
Moscow
Enter locality: (Default: Some-City)
Moscow
Enter organization name: (Default: NGFWOS)
NGFWOS
Enter common name: (Default: ngfwos.net)
ngfwos.net
Enter how many days certificate will be valid: (Default: 1825)
365
Do you want to encrypt the private key with a passphrase? [y/N]
n
Значения параметров сертификата приведены в качестве примера.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Сгенерировать и установить корневой сертификат, используя для этого созданный ранее УЦ «openvpn-ca»:
run generate pki certificate sign openvpn-ca install server_cert
где «server_cert» – имя сертификата сервера. Приведено в качестве примера.
Указать следующие значения параметров сертификата, представленные в таблице (см. Таблица «Значения параметров сертификата»), нажимая для подтверждения клавишу «Enter».
Enter private key type: [rsa, dsa, ec] (Default: rsa)
rsa
Enter private key bits: (Default: 2048)
2048
Enter country code: (Default: GB)
RU
Enter state: (Default: Some-State)
Moscow
Enter locality: (Default: Some-City)
Moscow
Enter organization name: (Default: NGFWOS)
NGFWOS
Enter common name: (Default: ngfwos.net)
ngfwos.net
Do you want to configure Subject Alternative Names? [y/N]
n
Enter how many days certificate will be valid: (Default: 365)
365
Enter certificate type: (client, server) (Default: server)
client
Do you want to encrypt the private key with a passphrase? [y/N]
n
Значения параметров сертификата приведены в качестве примера.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Сгенерировать и установить параметры криптографического протокола DH:
run generate pki dh install DH
# Имя «DH» приведено в качестве примера.
Enter DH parameters key size: (Default: 2048)
Generating parameters...
1 value(s) installed. Use "compare" to see the pending changes, and "commit" to apply.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для настройки OpenVPN-сервера необходимо ввести следующие команды:
set interfaces openvpn vtun0 local-host 198.51.100.51
set interfaces openvpn vtun0 local-port 1122
set interfaces openvpn vtun0 mode server
set interfaces openvpn vtun0 protocol udp
set interfaces openvpn vtun0 replace-default-route
set interfaces openvpn vtun0 server name-server 8.8.8.8
set interfaces openvpn vtun0 server subnet 10.0.10.0/24
где:
«198.51.100.51» – IP-адрес OpenVPN-сервера;
«1122» – порт, прослушиваемый OpenVPN-сервером;
«server» – режим работы OpenVPN;
«udp» – транспортный протокол;
«replace-default-route» – опция замены маршрута по умолчанию для интерфейса vtun0 маршрутом через туннель OpenVPN;
«8.8.8.8» – IP-адрес DNS-сервера;
«10.0.10.0/24» – сеть, из которой будут выделяться клиентские IP-адреса.
Установить алгоритм шифрования:
set interfaces openvpn vtun0 encryption cipher aes-256-gcm
где «aes-256-gcm» – выбранный алгоритм шифрования.
Для OpenVPN рекомендуется использовать следующие алгоритмы шифрования:
«aes-256-gcm»;
«aes-128-gcm»;
«chacha20-poly1305».
Система ARMA Стена так же поддерживает следующие алгоритмы шифрования, представленные в таблице (см. Таблица «Алгоритмы шифрования»).
# Указать TLS-сертификат для аутентификации пользователей:
set interfaces openvpn vtun0 tls ca-certificate openvpn-ca
# Указать корневой сертификат:
set interfaces openvpn vtun0 tls certificate server_cert
# Указать алгоритма DH:
set interfaces openvpn vtun0 tls dh-params DH
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Система ARMA Стена позволяет сгенерировать конфигурационный файл, который будет использоваться для настройки клиентского ПО. Для этого необходимо ввести следующую команду в конфигурационном режиме:
run generate openvpn client-config interface vtun0 ca openvpn-ca certificate client_cert
#Система ARMA Стена сохранит конфигурационный файл в каталоге /config/files/configuration/interfaces/openvpn/
Client configuration OpenVPN file saved to /config/files/configuration/interfaces/openvpn/vtun0_client.ovpn
Созданный конфигурационный файл следует экспортировать на клиентский компьютер.
Серверная часть OpenVPN позволяет выполнять подключение нескольких клиентов с использованием одного сертификата (с одинаковым CN). Для включения этой возможности необходимо ввести следующую команду:
set interfaces openvpn vtun0 openvpn-option --duplicate-cn
Предупреждение
Опция duplicate-cn существенно снижает уровень безопасности и не рекомендуется для использования. Данная настройка лишает систему возможности однозначно идентифицировать подключённые устройства и пользователей, а также делает невозможным точечный отзыв при компрометации сертификата. Рекомендуется использование уникального сертификата для каждого клиента.
Рассмотрим процесс настройки клиентского оборудования на примере персонального компьютера, работающего под управлением операционной системы Windows, с установленным программным обеспечением OpenVPN Connect. Для установления соединения с OpenVPN-сервером необходимо выполнить следующие шаги:
Скопировать конфигурационный файл «client.ovpn» на клиентский компьютер.
Запустить приложение OpenVPN Connect и загрузить файл «client.ovpn».
В интерфейсе программы выбрать импортированный профиль и нажать кнопку «Connect» для установления соединения.
В процессе подключения приложение отобразит текущий статус соединения (см. Рисунок – OpenVPN Connect).
IPsec – набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP.
Установка подключения IPsec происходит в два этапа, называемые фазами IKE:
В первой фазе IKE две оконечные точки аутентифицируют друг друга и согласовывают ключевой материал. В результате устанавливается защищённый туннель, используемый во второй фазе для согласования защищённых соединений ESP.
Во второй фазе IKE две оконечные точки используют защищённый туннель, созданный в первой фазе, для согласования защищённых соединений ESP (ESP SA). ESP SA используются для шифрования пользовательских данных, передающихся между двумя оконечными точками.
Список команд глобальной настройки IPsec:
Отключить автоматическую установку маршрутов к удалённым сетям:
IKE выполняет процедуру взаимной аутентификации между двумя сторонами и создаёт ассоциацию безопасности IKE (SA), которая включает в себя общую секретную информацию, используемую для быстрого установления SAS (Security Association) для полезной нагрузки безопасности Encapsulating (ESP) или заголовка аутентификации (AH). SA также включает в себя набор криптографических алгоритмов, которые будут использоваться сторонами для защиты трафика, передаваемого по SA.
В ARMA Стена атрибуты IKE определяются с помощью IKE-групп. В рамках одной группы возможно задать несколько предложений.
Основные команды настройки IKE-групп:
Определение поименованной настройки IKE для согласований первой фазы IKE:
set vpn ipsec ike-group <name>
где <name> – имя, используемое для обозначения настройки IKE.
Определение действия, которое следует предпринять, если дочерний SA недоступен:
set vpn ipsec ike-group <name> close-action <action>
где <action> – действие. Возможно указать следующие значения:
«none» – ничего не предпринимать, используется по умолчанию;
«trap» – попытка повторного согласования при обнаружении совпадающего трафика;
«start» – восстановить соединение.
Определение поведения системы в том случае, если узел VPN становится недоступен:
set vpn ipsec ike-group <name> dead-peer-detection <action <meaning>|interval|timeout>
где:
action <meaning> – действие по сохранению работоспособности системы в случае сбоя. Возможно указать следующие значения:
action trap – попытка повторного согласования при обнаружении совпадающего трафика;
action clear – удалить соединение, применяется по умолчанию;
action restart – перезапустить соединение;
interval – интервал времени, в секундах, через который узлам VPN будут отправляться сообщения IKE, подтверждающие активность. Допустимые значения в диапазоне от «2» до «86400». По умолчанию используется значение «30»;
timeout – интервал времени, в секундах, по истечении которого, в том случае если узел не отвечает, осуществляется попытка перезапуска туннеля. Допустимые значения в диапазоне от «2» до «86400». По умолчанию используется значение «120».
Включение повторной аутентификации удалённого узла во время операции повторного ввода IKE-ключа (только для IKEv2):
set vpn ipsec ike-group <name> ikev2-reauth
Выбор версии протокола IKE:
set vpn ipsec ike-group <name> key-exchange <version>
где <version> – версия протокола IKE. Возможно указать следующие значения:
«ikev1» – использовать IKEv1 для обмена ключами;
«ikev2» – использовать IKEv2 для обмена ключами.
В случае отсутствия заданного значения используются оба протокола. При инициализации соединения используется IKEv2, в ответе принимается любая версия протокола.
Установить время жизни ключа IKE:
set vpn ipsec ike-group <name> lifetime <time>
где <time> – время жизни ключа IKE в секундах. Допустимые значения в диапазоне от «0» до «86400». По умолчанию используется значение «28800».
Отключение поддержки MOBIKE:
set vpn ipsec ike-group <name> disable-mobike
MOBIKE используется в IKEv2 и включён по умолчанию.
Установить режим IKEv1:
set vpn ipsec ike-group <name> mode <parameter>
где <parameter> – режим IKEv1. Возможно указать следующие значения:
<main> – использовать основной режим для обмена ключами по протоколу IKEv1. Используется по умолчанию;
<aggressive> – использовать агрессивный режим для обмена ключами по протоколу IKEv1.
Указание номера предложения группы IKE первой фазы:
set vpn ipsec ike-group <name> proposal <number>
где <number> – уникальное целое число идентифицирующее предложение IKE. Возможно указать значение в диапазоне от «1» до «65535».
Указание группы, которая будет предложена для ключевого обмена Диффи-Хеллмана:
set vpn ipsec ike-group <name> proposal <number> dh-group <group>
где <group> – группа, используемая при ключевом обмене Диффи-Хеллмана. Возможно указать следующие значения:
1 – Diffie-Hellman group 1 (modp768);
2 – Diffie-Hellman group 2 (modp1024), используется по умолчанию;
5 – Diffie-Hellman group 5 (modp1536);
14 – Diffie-Hellman group 14 (modp2048);
15 – Diffie-Hellman group 15 (modp3072);
16 – Diffie-Hellman group 16 (modp4096);
17 – Diffie-Hellman group 17 (modp6144);
18 – Diffie-Hellman group 18 (modp8192);
19 – Diffie-Hellman group 19 (ecp256);
20 – Diffie-Hellman group 20 (ecp384);
21 – Diffie-Hellman group 21 (ecp521);
22 – Diffie-Hellman group 22 (modp1024s160);
23 – Diffie-Hellman group 23 (modp2048s224);
24 – Diffie-Hellman group 24 (modp2048s256);
25 – Diffie-Hellman group 25 (ecp192);
26 – Diffie-Hellman group 26 (ecp224);
27 – Diffie-Hellman group 27 (ecp224bp);
28 – Diffie-Hellman group 28 (ecp256bp);
29 – Diffie-Hellman group 29 (ecp384bp);
30 – Diffie-Hellman group 30 (ecp512bp);
31 – Diffie-Hellman group 31 (curve25519);
32 – Diffie-Hellman group 32 (curve448).
Указание алгоритма шифрования, использование которого будет предлагаться при согласовании первой фазы IKE:
set vpn ipsec ike-group <name> proposal <number> encryption <algorithm>
где <algorithm> – алгоритм шифрования. Список поддерживаемых алгоритмов шифрования представлен в таблице (см. Таблица «Поддерживаемые алгоритмы шифрования»). По умолчанию используется алгоритм шифрования «aes128».
ESP используется для обеспечения конфиденциальности, аутентификации источника данных, целостности данных без установления соединения, защиты от повторного воспроизведения (форма обеспечения частичной целостности последовательности) и ограниченной конфиденциальности трафика.
В ARMA Стена атрибуты ESP определяются с помощью ESP-групп. В рамках одной группы возможно задать несколько предложений.
Основные команды настройки ESP-групп:
Определение поименованной настройки IKE для согласований первой фазы IKE:
set vpn ipsec esp-group <name>
где <name> – имя, используемое для обозначения настройки ESP.
Включение протокола IPComp, который позволяет сжимать содержимое IP-пакетов:
set vpn ipsec esp-group <name> compression
Установить срок действия ESP в зависимости от объёма трафика:
set vpn ipsec esp-group <name> life-bytes <value>
где <value> – количество байтов, переданных по IPsec SA до истечения срока действия ESP. Допустимые значения в диапазоне от «1024» до «26843545600000».
Установить срок действия ESP в зависимости от переданных пакетов:
set vpn ipsec esp-group <name> life-packets <value>
где <value> – количество пакетов, переданных по IPsec SA до истечения срока действия ESP. Допустимые значения в диапазоне от «1000» до «26843545600000».
Указание времени жизни ключа ESP:
set vpn ipsec esp-group <name> lifetime <time>
где <time> – время, в секундах, в течение которого ключ, созданный при согласовании второй фазы IKE, остаётся в силе. Допустимые значения в диапазоне от «30» до «86400». По умолчанию используется значение «3600».
Указание режима подключения IPsec:
set vpn ipsec esp-group <name> mode <type>
где <type> – режим подключения IPsec. Допустимые значения: «tunnel» – туннельный режим, «transport» – транспортный режим. По умолчанию используется значение «tunnel».
Определение использования механизма PFS:
set vpn ipsec esp-group <name> pfs <group>
где <group> – включение/отключение PFS. Возможно указать следующие значения:
enable – наследование группы Диффи-Хеллмана от IKE-группы. Используется по умолчанию;
dh-group1 – use Diffie-Hellman group 1 (modp768);
dh-group2 – use Diffie-Hellman group 2 (modp1024);
dh-group5 – use Diffie-Hellman group 5 (modp1536);
dh-group14 – use Diffie-Hellman group 14 (modp2048);
dh-group15 – use Diffie-Hellman group 15 (modp3072);
dh-group16 – use Diffie-Hellman group 16 (modp4096);
dh-group17 – use Diffie-Hellman group 17 (modp6144);
dh-group18 – use Diffie-Hellman group 18 (modp8192);
dh-group19 – use Diffie-Hellman group 19 (ecp256);
dh-group20 – use Diffie-Hellman group 20 (ecp384);
dh-group21 – use Diffie-Hellman group 21 (ecp521);
dh-group22 – use Diffie-Hellman group 22 (modp1024s160);
dh-group23 – use Diffie-Hellman group 23 (modp2048s224);
dh-group24 – use Diffie-Hellman group 24 (modp2048s256);
dh-group25 – use Diffie-Hellman group 25 (ecp192);
dh-group26 – use Diffie-Hellman group 26 (ecp224);
dh-group27 – use Diffie-Hellman group 27 (ecp224bp);
dh-group28 – use Diffie-Hellman group 28 (ecp256bp);
dh-group29 – use Diffie-Hellman group 29 (ecp384bp);
dh-group30 – use Diffie-Hellman group 30 (ecp512bp);
dh-group31 – use Diffie-Hellman group 31 (curve25519);
dh-group32 – use Diffie-Hellman group 32 (curve448);
disable – отключение PFS.
Определение предложения группы ESP для согласования второй фазы IKE:
set vpn ipsec esp-group <name> proposal <number>
где <number> – уникальное целое число идентифицирующее предложение, используемое при согласовании второй фазы IKE. Допустимые значения в диапазоне от «1» до «65535».
Указание алгоритма шифрования для предложения ESP:
set vpn ipsec esp-group <name> proposal <number> encryption <algorithm>
где <algorithm> – алгоритм шифрования. Список поддерживаемых алгоритмов шифрования представлен в таблице (см. Таблица «Поддерживаемые алгоритмы шифрования»). По умолчанию используется алгоритм шифрования «aes128».
Указание алгоритма хеширования для предложения ESP:
set vpn ipsec esp-group <name> proposal <number> hash <algorithm>
где <algorithm> – используемый алгоритм хеширования. Возможно указать следующие значения:
Технология GRE over IPsec обеспечивает интеграцию функциональных возможностей GRE и IPsec, где GRE предоставляет поддержку многоадресной и широковещательной передачи данных, а IPsec гарантирует конфиденциальность посредством шифрования передаваемых данных. В процессе функционирования данного решения осуществляется последовательная инкапсуляция трафика: первичная инкапсуляция производится с использованием протокола GRE, после чего выполняется вторичная инкапсуляция с применением механизмов IPsec для обеспечения защищённого канала передачи данных.
Рисунок – Схема стенда для настройки соединения GRE over IPSEC
Используемые IP-адреса приведены в качестве примера.
Для настройки GRE over IPSEC необходимо выполнить следующие шаги:
Настроить конфигурацию на ARMA Стена1:
Настроить GRE:
set interfaces ethernet eth1 address 192.168.1.1/32
set interfaces tunnel tun0 address 10.0.0.1/30
set interfaces tunnel tun0 encapsulation gre
set interfaces tunnel tun0 remote 192.168.22.55
set interfaces tunnel tun0 source-address 192.168.44.22
Настроить маршрутизацию:
set protocols static route 192.168.2.1/32 interface tun0
Настроить IPSec:
# Настройка предварительных общих секретов (Pre-Shared Keys):
# создать PSK с именем TEST_PSK для узла 192.168.44.22
set vpn ipsec authentication psk TEST_PSK id 192.168.44.22
# создать PSK с именем TEST_PSK для узла 192.168.22.55
set vpn ipsec authentication psk TEST_PSK id 192.168.22.55
# установить секрет для PSK TEST_PSK со значением ‘test’
set vpn ipsec authentication psk TEST_PSK secret test
# Настройка групп шифрования ESP (для защиты транспортного потока):
# создать группу шифрования TestESP в режиме transport
set vpn ipsec esp-group TestESP mode transport
# настроить предложение шифрования с использованием AES-128 для шифрования
set vpn ipsec esp-group TestESP proposal 1 encryption aes128
# настроить предложение шифрования с использованием SHA1 для хеширования
set vpn ipsec esp-group TestESP proposal 1 hash sha1
# Настройка группы IKE (для установления безопасного соединения):
# создать группу IKE TestIKE с предложением DH-группа 2 (1024-bit MODP)
set vpn ipsec ike-group TestIKE proposal 1 dh-group 2
# создать группу IKE TestIKE с предложением AES-128 для шифрования
set vpn ipsec ike-group TestIKE proposal 1 encryption aes128
# создать группу IKE TestIKE с предложением SHA1 для хеширования
set vpn ipsec ike-group TestIKE proposal 1 hash sha1
# Назначить интерфейс eth0 для работы IPsec
set vpn ipsec interface eth0
# Настройка site-to-site соединения:
# Для удаленного пира настроить аутентификацию по предварительному секрету
set vpn ipsec site-to-site peer right authentication mode pre-shared-secret
# удаленный идентификатор установить как 192.168.22.55
set vpn ipsec site-to-site peer right authentication remote-id 192.168.22.55
# назначить группу шифрования TestESP как дефолтную
set vpn ipsec site-to-site peer right default-esp-group TestESP
# назначить группу IKE TestIKE
set vpn ipsec site-to-site peer right ike-group TestIKE
# установить локальный IP-адрес 192.168.44.22
set vpn ipsec site-to-site peer right local-address 192.168.44.22
# установить удалённый IP-адрес 192.168.22.55
set vpn ipsec site-to-site peer right remote-address 192.168.22.55
# создать GRE-туннель с номером 10 через IPsec
set vpn ipsec site-to-site peer right tunnel 10 protocol gre
commit
save
Настроить конфигурацию на ARMA Стена2:
Настроить GRE:
set interfaces ethernet eth1 address 192.168.2.1/32
set interfaces tunnel tun0 address 10.0.0.2/30
set interfaces tunnel tun0 encapsulation gre
set interfaces tunnel tun0 remote 192.168.44.22
set interfaces tunnel tun0 source-address 192.168.22.55
Настроить маршрутизацию:
set protocols static route 192.168.1.1/32 interface tun0
Настроить IPSec:
set vpn ipsec authentication psk TEST_PSK id 192.168.44.22
set vpn ipsec authentication psk TEST_PSK id 192.168.22.55
set vpn ipsec authentication psk TEST_PSK secret test
set vpn ipsec esp-group TestESP mode transport
set vpn ipsec esp-group TestESP proposal 1 encryption aes128
set vpn ipsec esp-group TestESP proposal 1 hash sha1
set vpn ipsec ike-group TestIKE proposal 1 dh-group 2
set vpn ipsec ike-group TestIKE proposal 1 encryption aes128
set vpn ipsec ike-group TestIKE proposal 1 hash sha1
set vpn ipsec interface 'eth0'
set vpn ipsec site-to-site peer left authentication mode pre-shared-secret
set vpn ipsec site-to-site peer left authentication remote-id 192.168.44.22
set vpn ipsec site-to-site peer left connection-type respond
set vpn ipsec site-to-site peer left default-esp-group TestESP
set vpn ipsec site-to-site peer left ike-group TestIKE
set vpn ipsec site-to-site peer left local-address 192.168.22.55
set vpn ipsec site-to-site peer left remote-address 192.168.44.22
set vpn ipsec site-to-site peer left tunnel 10 protocol gre
commit
save
Cоздаётся защищённый IPsec-туннель между узлами «192.168.44.22» и «192.168.22.55», через который проходит GRE-трафик. Все данные, передаваемые через туннель «tun0», будут:
инкапсулированы в GRE;
зашифрованы с использованием «AES-128»;
аутентифицированы с использованием «SHA1»;
защищены с помощью «DH-группы 2» для обмена ключами.
Мониторинг соединения GRE over IPsec:
Проверить статус соединения между ARMA Стена1 и ARMA Стена2:
ARMA Стена1:
admin@ngfwos:~$ show vpn ipsec connections
Connection State Type Remote address Local TS Remote TS Local id Remote id Proposal
-------------- ------- ------- ---------------- ---------------------- ---------------------- ---------- -------------- ----------------------------------
left up IKEv1/2 192.168.22.55 - - 192.168.22.55 AES_CBC/128/HMAC_SHA1_96/MODP_1024
left-tunnel-10 up IPsec 192.168.22.55 192.168.44.22/32[gre] 192.168.22.55/32[gre] 192.168.22.55 AES_CBC/128/HMAC_SHA1_96/None
admin@ngfwos:~$
ARMA Стена2:
admin@ngfwos:~$ show vpn ipsec connections
Connection State Type Remote address Local TS Remote TS Local id Remote id Proposal
-------------- ------- ------- ---------------- ---------------------- ---------------------- ---------- -------------- ----------------------------------
left up IKEv1/2 192.168.44.22 - - 192.168.44.22 AES_CBC/128/HMAC_SHA1_96/MODP_1024
left-tunnel-10 up IPsec 192.168.44.22 192.168.22.55/32[gre] 192.168.44.22/32[gre] 192.168.44.22 AES_CBC/128/HMAC_SHA1_96/None
admin@ngfwos:~$
Вывести детальную информацию о текущих наборах параметров безопасности (SA), используемых для шифрования и аутентификации трафика в IPsec:
ARMA Стена1:
admin@ngfwos:~$ show vpn ipsec sa detail
left: #1, ESTABLISHED, IKEv2, 5a8690c8f1baffbd_i 737d8a361c96c3ac_r*
local '192.168.44.22' @ 192.168.44.22[4500]
remote '192.168.22.55' @ 192.168.22.55[4500]
AES_CBC-128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
established 408s ago, rekeying in 27736s
left-tunnel-10: #2, reqid 1, INSTALLED, TRANSPORT, ESP:AES_CBC-128/HMAC_SHA1_96
installed 408s ago, rekeying in 2555s, expires in 3193s
in c2833b8c, 9918 bytes, 80 packets, 13s ago
out c187396b, 704 bytes, 8 packets, 160s ago
local 192.168.44.22/32[gre]
remote 192.168.22.55/32[gre]
admin@ngfwos:~$
ARMA Стена2:
admin@ngfwos:~$ show vpn ipsec sa detail
left: #1, ESTABLISHED, IKEv2, 5a8690c8f1baffbd_i* 737d8a361c96c3ac_r
local '192.168.22.55' @ 192.168.22.55[4500]
remote '192.168.44.22' @ 192.168.44.22[4500]
AES_CBC-128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
established 461s ago, rekeying in 28273s
left-tunnel-10: #2, reqid 1, INSTALLED, TRANSPORT, ESP:AES_CBC-128/HMAC_SHA1_96
installed 462s ago, rekeying in 2613s, expires in 3139s
in c187396b, 704 bytes, 8 packets, 213s ago
out c2833b8c, 10590 bytes, 86 packets, 6s ago
local 192.168.22.55/32[gre]
remote 192.168.44.22/32[gre]
admin@ngfwos:~$
Используемые IP-адреса приведены в качестве примера.
Для корректной реализации IPSEC Site-to-Site соединения требуется последовательная конфигурация обоих узлов – ARMA Стена1 и ARMA Стена2:
Конфигурация узла ARMA Стена1:
# Настройка сетевых интерфейсов:
set interfaces ethernet eth0 address 192.168.44.22/24
set interfaces ethernet eth1 address 192.168.1.1/24
# Настройка аутентификации:
set vpn ipsec authentication psk NGFW id 192.168.44.22
set vpn ipsec authentication psk NGFW id 192.168.22.55
set vpn ipsec authentication psk NGFW secret p4ssw0rd
# Настройка групп шифрования ESP (для защиты транспортного потока):
set vpn ipsec esp-group ESP-GROUP mode tunnel
set vpn ipsec esp-group ESP-GROUP proposal 1 encryption aes256
set vpn ipsec esp-group ESP-GROUP proposal 1 hash sha256
# Настройка IKE-группы:
set vpn ipsec ike-group IKE-GROUP key-exchange ikev2
set vpn ipsec ike-group IKE-GROUP proposal 1 dh-group 14
set vpn ipsec ike-group IKE-GROUP proposal 1 encryption aes256
set vpn ipsec ike-group IKE-GROUP proposal 1 hash sha256
# Назначить интерфейс eth0 для работы IPsec
set vpn ipsec interface 'eth0'
# Настройка site-to-site соединения:
set vpn ipsec site-to-site peer NGFW authentication mode pre-shared-secret
set vpn ipsec site-to-site peer NGFW connection-type initiate
set vpn ipsec site-to-site peer NGFW default-esp-group ESP-GROUP
set vpn ipsec site-to-site peer NGFW ike-group IKE-GROUP
set vpn ipsec site-to-site peer NGFW local-address any
set vpn ipsec site-to-site peer NGFW remote-address 192.168.22.55
set vpn ipsec site-to-site peer NGFW tunnel 0 local prefix 192.168.1.0/24
set vpn ipsec site-to-site peer NGFW tunnel 0 remote prefix 192.168.2.0/24
commit
save
При наличии в системе ARMA Стена1 настроенных правил SNAT необходимо обеспечить приоритетное применение правила, исключающего трансляцию адресов для диапазона «192.168.2.0/24». Для корректного функционирования политики маршрутизации данное правило должно обладать более высоким приоритетом по сравнению с остальными SNAT-правилами, что достигается назначением меньшего порядкового номера. Обработка правил SNAT выполняется последовательно сверху вниз, поэтому исключающее правило должно быть размещено до всех правил, применяющих трансляцию.
Для корректной конфигурации следует использовать следующую последовательность команд:
set nat source rule 2 destination address 192.168.2.0/24
set nat source rule 2 exclude
set nat source rule 2 outbound-interface name eth0
set nat source rule 2 source address 192.168.1.0/24
set nat source rule 3 outbound-interface name eth0
set nat source rule 3 source address 192.168.1.0/24
set nat source rule 3 translation address masquerade
Правило с номером «2» определяет условие исключения из трансляции источника (параметр «exclude») для трафика, исходящего из подсети «192.168.1.0/24» и направляющегося в сеть «192.168.2.0/24», при передаче через интерфейс «eth0». Это предотвращает выполнение SNAT для указанного сегмента.
Правило с номером «3» задаёт маскирование исходного IP-адреса («masquerade») для всего остального трафика из подсети «192.168.1.0/24», направляемого через интерфейс «eth0».
Корректность работы политики NAT зависит от строгого соблюдения порядка правил: правило с «exclude» должно иметь меньший номер (более высокий приоритет), чем правило с «masquerade», чтобы исключить нежелательную трансляцию адресов в защищённом диапазоне.
Конфигурация узла ARMA Стена2:
set interfaces ethernet eth0 address 192.168.22.55/24
set interfaces ethernet eth1 address 192.168.2.1/24
set vpn ipsec authentication psk NGFW id 192.168.22.55
set vpn ipsec authentication psk NGFW id 192.168.44.22
set vpn ipsec authentication psk NGFW secret p4ssw0rd
set vpn ipsec esp-group ESP-GROUP mode tunnel
set vpn ipsec esp-group ESP-GROUP proposal 1 encryption aes256
set vpn ipsec esp-group ESP-GROUP proposal 1 hash sha256
set vpn ipsec ike-group IKE-GROUP key-exchange ikev2
set vpn ipsec ike-group IKE-GROUP proposal 1 dh-group 14
set vpn ipsec ike-group IKE-GROUP proposal 1 encryption aes256
set vpn ipsec ike-group IKE-GROUP proposal 1 hash sha256
set vpn ipsec interface 'eth0'
set vpn ipsec site-to-site peer NGFW authentication mode pre-shared-secret
set vpn ipsec site-to-site peer NGFW connection-type initiate
set vpn ipsec site-to-site peer NGFW default-esp-group ESP-GROUP
set vpn ipsec site-to-site peer NGFW ike-group IKE-GROUP
set vpn ipsec site-to-site peer NGFW local-address any
set vpn ipsec site-to-site peer NGFW remote-address 192.168.44.22
set vpn ipsec site-to-site peer NGFW tunnel 0 local prefix 192.168.2.0/24
set vpn ipsec site-to-site peer NGFW tunnel 0 remote prefix 192.168.1.0/24
commit
save
При наличии в системе ARMA Стена2 настроенных правил SNAT необходимо обеспечить приоритетное применение правила, исключающего трансляцию адресов для диапазона «192.168.1.0/24». Для корректного функционирования политики маршрутизации данное правило должно обладать более высоким приоритетом по сравнению с остальными SNAT-правилами, что достигается назначением меньшего порядкового номера. Обработка правил SNAT выполняется последовательно сверху вниз, поэтому исключающее правило должно быть размещено до всех правил, применяющих трансляцию.
Для корректной конфигурации следует использовать следующую последовательность команд:
set nat source rule 2 destination address 192.168.1.0/24
set nat source rule 2 exclude
set nat source rule 2 outbound-interface name eth0
set nat source rule 2 source address 192.168.2.0/24
set nat source rule 3 outbound-interface name eth0
set nat source rule 3 source address 192.168.2.0/24
set nat source rule 3 translation address masquerade
Мониторинг VPN-соединения IPSEC Site-to-Site:
Для проверки корректности конфигурации и работоспособности IKE-части VPN необходимо ввести следующую команду:
ARMA Стена1:
admin@ngfwos:~$ show vpn ike sa
Peer ID / IP Local ID / IP
------------ -------------
192.168.22.55 192.168.22.55 192.168.44.22 192.168.44.22
State IKEVer Encrypt Hash D-H Group NAT-T A-Time L-Time
----- ------ ------- ---- --------- ----- ------ ------
up IKEv2 AES_CBC_256 HMAC_SHA2_256_128 MODP_2048 no 125 27375
admin@ngfwos:~$
ARMA Стена2:
admin@ngfwos:~$ show vpn ike sa
Peer ID / IP Local ID / IP
------------ -------------
192.168.44.22 192.168.44.22 192.168.22.55 192.168.22.55
State IKEVer Encrypt Hash D-H Group NAT-T A-Time L-Time
----- ------ ------- ---- --------- ----- ------ ------
up IKEv2 AES_CBC_256 HMAC_SHA2_256_128 MODP_2048 no 270 28164
admin@ngfwos:~$
Для проверки корректности конфигурации и работоспособности IPsec-части VPN необходимо ввести следующую команду:
ARMA Стена1:
admin@ngfwos:~$ show vpn ipsec sa
Connection State Uptime Bytes In/Out Packets In/Out Remote address Remote ID Proposal
------------- ------- -------- -------------- ---------------- ---------------- -------------- -----------------------------
NGFW-tunnel-0 up 5m37s 504B/504B 6/6 192.168.22.55 192.168.22.55 AES_CBC_256/HMAC_SHA2_256_128
admin@ngfwos:~$
ARMA Стена2:
admin@ngfwos:~$ show vpn ipsec sa
Connection State Uptime Bytes In/Out Packets In/Out Remote address Remote ID Proposal
------------- ------- -------- -------------- ---------------- ---------------- -------------- -----------------------------
NGFW-tunnel-0 up 7m53s 504B/504B 6/6 192.168.44.22 192.168.44.22 AES_CBC_256/HMAC_SHA2_256_128
admin@ngfwos:~$
Для детального анализа работы IPsec необходимо ввести следующую команду:
ARMA Стена1:
admin@ngfwos:~$ show vpn ipsec sa detail
NGFW: #4, ESTABLISHED, IKEv2, 1e14825c46b682bf_i a1de5b9d037bcc6e_r*
local '192.168.44.22' @ 192.168.44.22[4500]
remote '192.168.22.55' @ 192.168.22.55[4500]
AES_CBC-256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
established 577s ago, rekeying in 26923s
NGFW-tunnel-0: #2, reqid 1, INSTALLED, TUNNEL, ESP:AES_CBC-256/HMAC_SHA2_256_128
installed 577s ago, rekeying in 2503s, expires in 3023s
in c20787e0, 504 bytes, 6 packets, 533s ago
out cf5f6cc7, 504 bytes, 6 packets, 533s ago
local 192.168.1.0/24
remote 192.168.2.0/24
admin@ngfwos:~$
ARMA Стена2:
admin@ngfwos:~$ show vpn ipsec sa detail
NGFW: #4, ESTABLISHED, IKEv2, 1e14825c46b682bf_i* a1de5b9d037bcc6e_r
local '192.168.22.55' @ 192.168.22.55[4500]
remote '192.168.44.22' @ 192.168.44.22[4500]
AES_CBC-256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
established 530s ago, rekeying in 27904s
NGFW-tunnel-0: #3, reqid 1, INSTALLED, TUNNEL, ESP:AES_CBC-256/HMAC_SHA2_256_128
installed 530s ago, rekeying in 2626s, expires in 3070s
in cf5f6cc7, 504 bytes, 6 packets, 486s ago
out c20787e0, 504 bytes, 6 packets, 486s ago
local 192.168.2.0/24
remote 192.168.1.0/24
admin@ngfwos:~$
Для отображения общего состояния IPsec-подсистемы необходимо ввести следующую команду:
Технология VTI over IPsec обеспечивает интеграцию функциональных возможностей VTI и IPsec, где VTI предоставляет поддержку многоадресной и широковещательной передачи данных, а IPsec гарантирует конфиденциальность посредством шифрования передаваемых данных.
ГОСТ OpenVPN – это реализация OpenVPN, с применением алгоритмов шифрования, соответствующих ГОСТ и криптографических средств, прошедших процедуру оценки соответствия в ФСБ России.
Таблица «Алгоритмы шифрования, соответствующие ГОСТ»
Алгоритм
Алгоритм
gost89
kuznyechik-ofb
gost89-cbc
kuznyechik-ctr-acpkm
gost89-cnt
kuznyechik-ctr-acpkm-omac
gost89-cnt-12
magma-cbc
kuznyechik-cbc
magma-ctr
kuznyechik-cfb
magma-ctr-acpkm
kuznyechik-ctr
magma-ctr-acpkm-omac
kuznyechik-mgm
magma-mgm
ARMA Стена поддерживает работу с применением следующих алгоритмов аутентификации, соответствующих ГОСТ:
«gost-mac»;
«gost-mac-12»;
«kuznyechik-mac»;
«md_gost12_256»;
«md_gost12_512»;
«md_gost94»;
«magma-mac».
Для просмотра информации о подключённых узлах необходимо ввести следующую команду:
show openvpn-gost <режим>
где <режим> – режим, в котором настроен туннельный интерфейс. Допускается указание следующих значений:
«site-to-site» – режим «сеть – сеть»;
«server» – сервер;
«client» – клиент.
Для настройки ГОСТ OpenVPN необходимо выполнить установку лицензии.
Лицензия ГОСТ OpenVPN не входит в комплект поставки ARMA Стена. Для использования функциональности необходимо приобрести лицензию «OpenVPN-ГОСТ» у вендора «Криптоком» или дистрибьюторов.
Файл с информацией об аппаратной части из п.1 данной инструкции необходимо передать в техническую поддержку вендора или дистрибьютора для получения файла лицензии.
Предоставленный файл лицензии в формате «lic» необходимо загрузить в систему ARMA Стена в каталог «/config/».
Для выполнения данной операции возможно использовать программное обеспечение, поддерживающее передачу файлов по протоколам SFTP или SCP (например, WinSCP для операционной системы Windows), либо воспользоваться командой «scp» через интерфейс командной строки. Возможны также альтернативные способы передачи данных.
На обоих устройствах ARMA Стена предварительно необходимо создать разрешающие правила МЭ для установления соединений по протоколам SSH и OpenVPN (см. «Настройка OpenVPN в режиме «сеть – сеть»»).
На ARMA Стена 1 cгенерировать сертификат сервера «ngfw1-cert» (см. «Создание подписанного сертификата»), введя значение «server» на запрос «Enter certificate type: (client, server) (Default: server)».
На ARMA Стена 2 установить сертификат УЦ «arma-ca», который был сгенерирован на ARMA Стена 1 (см. «Установка сертификата УЦ»).
На ARMA Стена 1 cгенерировать сертификат клиента «ngfw2-cert», используя запрос CSR (см. «Подписание сертификата»), введя значение «client» на запрос «Enter certificate type: (client, server) (Default: server)».
На ARMA Стена 2 установить сертификат клиента «ngfw2-cert», который был сгенерирован на ARMA Стена 1 (см. «Установка сертификата»).
Для настройки туннеля необходимо ввести следующие команды:
set third-party service openvpn-gost vtun0 mode site-to-site
set third-party service openvpn-gost vtun0 persistent-tunnel
set third-party service openvpn-gost vtun0 local-address 10.0.1.254
set third-party service openvpn-gost vtun0 local-port 1194
set third-party service openvpn-gost vtun0 protocol udp
set third-party service openvpn-gost vtun0 remote-address 10.0.2.254
set third-party service openvpn-gost vtun0 remote-host 203.0.113.2
set third-party service openvpn-gost vtun0 remote-port 1194
где:
«vtun0» – имя интерфейса;
«site-to-site» – режим «сеть – сеть»;
«10.0.1.254» – локальный IP-адрес;
«1194» – порт;
«udp» – протокол;
«10.0.2.254» – удалённый IP-адрес;
«203.0.113.2» – IP-адрес интерфейса ARMA Стена 2 с доступом к сети Интернет.
Для указания криптографических установок необходимо ввести следующие команды:
set third-party service openvpn-gost vtun0 encryption cipher kuznyechik-cbc
set third-party service openvpn-gost vtun0 hash kuznyechik-mac
set third-party service openvpn-gost vtun0 tls ca-certificate arma-ca
set third-party service openvpn-gost vtun0 tls certificate ngfw1-cert
set third-party service openvpn-gost vtun0 tls role passive
где:
«kuznyechik-cbc» – алгоритм шифрования;
«kuznyechik-mac» – алгоритм аутентификации;
«arma-ca» – имя сертификата УЦ;
«ngfw1-cert» – имя сертификата сервера. Приведено в качестве примера;
«passive» – роль ожидающего соединение.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для настройки туннеля необходимо ввести следующие команды:
set third-party service openvpn-gost vtun0 mode site-to-site
set third-party service openvpn-gost vtun0 persistent-tunnel
set third-party service openvpn-gost vtun0 local-address 10.0.2.254
set third-party service openvpn-gost vtun0 local-port 1194
set third-party service openvpn-gost vtun0 protocol udp
set third-party service openvpn-gost vtun0 remote-address 10.0.1.254
set third-party service openvpn-gost vtun0 remote-host 198.51.100.51
set third-party service openvpn-gost vtun0 remote-port 1194
где:
«vtun0» – имя интерфейса;
«site-to-site» – режим «сеть – сеть»;
«10.0.2.254» – локальный IP-адрес;
«1194» – порт;
«udp» – протокол;
«10.0.1.254» – удалённый IP-адрес;
«198.51.100.51» – IP-адрес интерфейса ARMA Стена 1 с доступом к сети Интернет.
Для указания криптографических установок необходимо ввести следующие команды:
set third-party service openvpn-gost vtun0 encryption cipher kuznyechik-cbc
set third-party service openvpn-gost vtun0 hash kuznyechik-mac
set third-party service openvpn-gost vtun0 tls ca-certificate arma-ca
set third-party service openvpn-gost vtun0 tls certificate ngfw2-cert
set third-party service openvpn-gost vtun0 tls role active
где:
«ngfw2-cert» – имя сертификата клиента. Приведено в качестве примера;
«active» – роль инициатора соединения.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для настройки ГОСТ OpenVPN-сервера необходимо ввести следующие команды:
set third-party service openvpn-gost vtun0 mode server
set third-party service openvpn-gost vtun0 local-host 198.51.100.51
set third-party service openvpn-gost vtun0 local-port 1194
set third-party service openvpn-gost vtun0 protocol udp
set third-party service openvpn-gost vtun0 replace-default-route
set third-party service openvpn-gost vtun0 server name-server 8.8.8.8
set third-party service openvpn-gost vtun0 server subnet 10.0.10.0/24
где:
«vtun0» – имя интерфейса;
«server» – режим сервера;
«198.51.100.51» – IP-адрес сервера;
«1194» – порт;
«udp» – протокол;
«8.8.8.8» – IP-адрес DNS-сервера;
«10.0.10.0/24» – сеть, в которой будут назначаться IP-адреса клиентов.
Для указания криптографических установок необходимо ввести следующие команды:
set third-party service openvpn-gost vtun0 encryption cipher gost89-cnt
set third-party service openvpn-gost vtun0 hash md_gost12_512
set third-party service openvpn-gost vtun0 tls ca-certificate openvpn-ca
set third-party service openvpn-gost vtun0 tls certificate server_cert
set third-party service openvpn-gost vtun0 tls dh-params DH
где:
«kuznyechik-cbc» – алгоритм шифрования;
«kuznyechik-mac» – алгоритм аутентификации;
«openvpn-ca» – имя сертификата УЦ;
«server_cert» – имя сертификата сервера. Приведено в качестве примера;
«DH» – имя набора параметров Diffie-Hellman.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
ARMA Стена позволяет сгенерировать конфигурационный файл, который будет использоваться для настройки клиентского ПО. Для этого необходимо ввести следующую команду в конфигурационном режиме:
run generate openvpn-gost client-config interface vtun0 ca openvpn-ca certificate client_cert
В результате в файловой системе ARMA Стена будет сохранён конфигурационный файл в каталоге «/config/files/configuration/third-party/service/openvpn-gost/vtun0_client_cert.gost».
Созданный конфигурационный файл следует экспортировать на клиентский компьютер.
Настройка клиентского компьютера, работающего под управлением операционной системы Windows выполняется в порядке, аналогичном приведённому для OpenVPN (см. «Настройка OpenVPN клиента»), учитывая следующие особенности:
На ПК «Client» должно быть установлено ПО, поддерживающее работу с соответствующими алгоритмами (см. «ГОСТ OpenVPN»).
На ПК «Client» необходимо импортировать файл конфигурации «vtun0_client_cert.gost».