VPN

VPN – это обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений поверх другой сети, например сети Интернет.

OpenConnect

OpenConnect – ПО с открытым исходным кодом, используемое для реализации VPN.

Подключение через VPN-клиент

На устройстве-клиенте предварительно должно быть установлено соответствующее ПО OpenConnect.

В качестве примера приведён порядок настройки OpenConnect на ARMA Стена.

Для настройки подключения через VPN-клиент OpenConnect необходимо выполнить следующие шаги:

  1. Сгенерировать ключи и сертификаты.

  2. Настроить 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».

Таблица «Значения параметров сертификата»

Запрос

Ответ

Do you already have a certificate request? [y/N]

n

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)

server

Do you want to encrypt the private key with a passphrase? [y/N]

n

Значения параметров сертификата приведены в качестве примера.

Зафиксировать изменения с помощью ввода команд «commit» и «save».

Настройка OpenConnect

Для настройки 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 следует ввести следующую команду:

set vpn openconnect network-settings dtls-legacy

По умолчанию параметр отключён.

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

Для настройки времени подключения до аутентификации необходимо ввести следующую команду:

set vpn openconnect timeout auth <number>

где <number> – время в секундах. Возможно указание значения в диапазоне от «1» до «2592000».

Для настройки времени, по истечении которого произойдёт разрыв сессии пользователя в случае отсутствия трафика необходимо ввести следующую команду:

set vpn openconnect timeout idle <number>

где <number> – время в секундах. Возможно указание значения в диапазоне от «1» до «2592000».

Для настройки времени сессии пользователя необходимо ввести следующую команду:

set vpn openconnect timeout session <number>

где <number> – время в секундах. Возможно указание значения в диапазоне от «1» до «2592000».

Подключение клиента

Для подключения на ПК «Client» выполнить следующие действия:

  • перейти в раздел настройки сетевых параметров;

  • выбрать «MultiProtocol VPN OpenConnect» для нового подключения;

  • указать IP-адрес интерфейса с доступом к сети Интернет «203.0.113.87» в поле параметра «Шлюз»;

  • сохранить, включить и пройти аутентификацию в появившемся окне, введя учётные данные «User1» и «example123».

где «203.0.113.87» – IP-адрес, приведён в качестве примера.

В случае появления при первом подключении предупреждающего окна нажать кнопку «Connect anyway».

Завершение сессии пользователя

В случае необходимости принудительного завершения сессии пользователя следует в режиме эксплуатации ввести следующую команду:

admin@ngfwos:~$ force openconnect-server disconnect-user <name>

где <name> – имя пользователя.

Для просмотра актуальной информации о текущих подключениях пользователей необходимо в режиме эксплуатации ввести команду «show openconnect-server sessions».

OpenVPN

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

В качестве примера приведён порядок настройки OpenVPN для маршрутизации трафика VPN на подсеть.

В качестве примера настройки OpenVPN будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки VPN в режиме «сеть – сеть»).

../../../../_images/ngfw.r.cli.vpn_2.1.png

Рисунок – Схема стенда для настройки 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.

Настройка ARMA Стена 1

Генерация самоподписанного сертификата

Для генерации самоподписанного сертификата необходимо ввести следующую команду:

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

где «sha256» – алгоритм хеширования.

Настройка туннеля

Для настройки туннеля необходимо ввести следующие команды:

set interfaces openvpn vtun0 mode site-to-site
set interfaces openvpn vtun0 persistent-tunnel
set interfaces openvpn vtun0 local-address 10.0.1.254
set interfaces openvpn vtun0 local-port 1194
set interfaces openvpn vtun0 protocol udp
set interfaces openvpn vtun0 remote-address 10.0.2.254
set interfaces openvpn vtun0 remote-host 203.0.113.2
set interfaces openvpn 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 interfaces openvpn vtun0 tls certificate openvpn-local
set interfaces openvpn vtun0 tls peer-fingerprint <client_cert_fingerprint>
set interfaces openvpn vtun0 tls role passive

где:

  • <client_cert_fingerprint> – уникальный идентификатор ARMA Стена 2;

  • «passive» – роль ожидающего соединение.

Зафиксировать изменения с помощью ввода команд «commit» и «save».

Настройка маршрута

Для указания маршрута необходимо ввести следующую команду:

set protocols static route 10.0.2.0/24 interface vtun0

где «10.0.2.0/24» – удалённая сеть.

Зафиксировать изменения с помощью ввода команд «commit» и «save».

Настройка правил МЭ

Для настройки правил МЭ, разрешающих обмен данными через VPN-туннель, необходимо ввести следующие команды:

set firewall ipv4 input filter default-action drop
set firewall ipv4 input filter default-log
set firewall ipv4 input filter rule 10 action accept
set firewall ipv4 input filter rule 10 description 'Allow_established/related'
set firewall ipv4 input filter rule 10 state established
set firewall ipv4 input filter rule 10 state related
set firewall ipv4 input filter rule 10 inbound-interface name eth0
set firewall ipv4 input filter rule 10 log
set firewall ipv4 input filter rule 20 action accept
set firewall ipv4 input filter rule 20 description 'OpenVPN_IN'
set firewall ipv4 input filter rule 20 destination port 1194
set firewall ipv4 input filter rule 20 inbound-interface name eth0
set firewall ipv4 input filter rule 20 protocol udp
set firewall ipv4 input filter rule 20 log

Зафиксировать изменения с помощью ввода команд «commit» и «save».

Настройка ARMA Стена 2

Генерация самоподписанного сертификата

Для генерации самоподписанного сертификата необходимо ввести следующую команду:

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

где «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».

Настройка маршрута

Для указания маршрута необходимо ввести следующую команду:

set protocols static route 10.0.1.0/24 interface vtun0

где «10.0.1.0/24» – удалённая сеть.

Зафиксировать изменения с помощью ввода команд «commit» и «save».

Настройка правил МЭ

Для настройки правил МЭ, разрешающих обмен данными через VPN-туннель, необходимо ввести следующие команды:

set firewall ipv4 input filter default-action drop
set firewall ipv4 input filter default-log
set firewall ipv4 input filter rule 10 action accept
set firewall ipv4 input filter rule 10 description 'Allow_established/related'
set firewall ipv4 input filter rule 10 state established
set firewall ipv4 input filter rule 10 state related
set firewall ipv4 input filter rule 10 inbound-interface name eth0
set firewall ipv4 input filter rule 10 log
set firewall ipv4 input filter rule 20 action accept
set firewall ipv4 input filter rule 20 description 'OpenVPN_IN'
set firewall ipv4 input filter rule 20 destination port 1194
set firewall ipv4 input filter rule 20 inbound-interface name eth0
set firewall ipv4 input filter rule 20 protocol udp
set firewall ipv4 input filter rule 20 log

Зафиксировать изменения с помощью ввода команд «commit» и «save».

Сервер – клиент

В качестве примера настройки OpenVPN будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки VPN в режиме «сервер – клиент»).

../../../../_images/ngfw.r.cli.vpn_2.2.1.png

Рисунок – Схема стенда для настройки VPN в режиме «сервер – клиент»

Настройка ARMA Стена

Генерация сертификатов

Для реализации безопасного соединения необходимо сгенерировать и установить удостоверяющий центр, а также создать и подписать с его помощью серверный и клиентский сертификаты. Помимо этого, следует сформировать параметры шифрования Диффи-Хеллмана (DH). Указанные действия выполняются в конфигурационном режиме с использованием следующих команд:

  1. Сгенерировать и установить УЦ:

    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».

  1. Сгенерировать и установить корневой сертификат, используя для этого созданный ранее УЦ «openvpn-ca»:

    run generate pki certificate sign openvpn-ca install server_cert
    

    где «server_cert» – имя сертификата сервера. Приведено в качестве примера.

Указать следующие значения параметров сертификата, представленные в таблице (см. Таблица «Значения параметров сертификата»), нажимая для подтверждения клавишу «Enter».

Таблица «Значения параметров сертификата»

Запрос

Ответ

Do you already have a certificate request? [y/N]

n

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)

server

Do you want to encrypt the private key with a passphrase? [y/N]

n

Значения параметров сертификата приведены в качестве примера.

Зафиксировать изменения с помощью ввода команд «commit» и «save».

  1. Сгенерировать и установить клиентский сертификат, используя для этого созданный ранее УЦ «openvpn-ca»:

    run generate pki certificate sign openvpn-ca install client_cert
    

    где «client_cert» – имя сертификата клиента. Приведено в качестве примера.

Указать следующие значения параметров сертификата, представленные в таблице (см. Таблица «Значения параметров сертификата клиента»), нажимая для подтверждения клавишу «Enter».

Таблица «Значения параметров сертификата клиента»

Запрос

Ответ

Do you already have a certificate request? [y/N]

n

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».

  1. Сгенерировать и установить параметры криптографического протокола 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-сервера

Для настройки 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 Стена так же поддерживает следующие алгоритмы шифрования, представленные в таблице (см. Таблица «Алгоритмы шифрования»).

Таблица «Алгоритмы шифрования»

Алгоритм

Алгоритм

Алгоритм

aes-128-cbc

aria-128-cfb8

camellia-128-ofb

aes-128-cfb

aria-128-gcm

camellia-192-cbc

aes-128-cfb1

aria-128-ofb

camellia-192-cfb

aes-128-cfb8

aria-192-cbc

camellia-192-cfb1

aes-128-ofb

aria-192-cfb

camellia-192-cfb8

aes-192-cbc

aria-192-cfb1

camellia-192-ofb

aes-192-cfb

aria-192-cfb8

camellia-256-cbc

aes-192-cfb1

aria-192-gcm

camellia-256-cfb

aes-192-cfb8

aria-192-gcm

camellia-256-cfb1

aes-192-gcm

aria-256-cbc

camellia-256-cfb8

aes-192-ofb

aria-256-cfb

camellia-256-ofb

aes-256-cbc

aria-256-cfb1

des-ede-cbc

aes-256-cfb

aria-256-cfb8

des-ede-cfb

aes-256-cfb1

aria-256-gcm

des-ede-ofb

aes-256-cfb8

aria-256-ofb

des-ede3-cbc

aes-256-ofb

camellia-128-cbc

des-ede3-cfb

aria-128-cbc

camellia-128-cfb

des-ede3-cfb1

aria-128-cfb

camellia-128-cfb1

des-ede3-cfb8

aria-128-cfb1

camellia-128-cfb8

des-ede3-ofb

Примечание

Для использования не рекомендованных алгоритмов шифрования необходимо дополнительно ввести следующую команду:

set interfaces openvpn vtun0 encryption ncp-ciphers <имя_алгоритма_шифрования>

Установить алгоритм хеширования:

set interfaces openvpn vtun0 hash sha256

где «sha256» – выбранный алгоритм хеширования.

Система ARMA Стена поддерживает следующие алгоритмы шифрования, представленные в таблице (см. Таблица «Алгоритмы хеширования»).

Таблица «Алгоритмы хеширования»

Алгоритм

Алгоритм

Алгоритм

blake2b512

sha1

sha384

blake2s256

sha224

sha512

keccak-kmac-128

sha256

sha512-224

keccak-kmac-256

sha3-224

sha512-256

md5

sha3-256

shake128

md5-sha1

sha3-384

shake256

ripemd160

sha3-512

sm3

Настройка TLS-аутентификации:

# Указать 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

Созданный конфигурационный файл следует экспортировать на клиентский компьютер.

Пример содержимого конфигурационного файла:

client
nobind
remote 198.51.100.51 1122
remote-cert-tls server
proto udp
dev tun
dev-type tun
persist-key
persist-tun
verb 3

# Encryption options
cipher AES-256-GCM

auth sha256

<ca>
-----BEGIN CERTIFICATE-----
MIIDpzCCAo+gAwIBAgIUM4Q8rpWrvlyupV4qswu6/uiJlMUwDQYJKoZIhvcNAQEL
a6BrgEuka
dbQ+9IfoYWlhybe9gyG3omM4v74/c8pUNQO1JMwB62ZjBexhItUrOZ5l/L7GLyux
+Ort8DsabyA4eZUfxdmyNiI94hlDeIcJWufX
-----END CERTIFICATE-----

</ca>

<cert>
-----BEGIN CERTIFICATE-----
MIIDuzCCAqOgAwIBAgIUAqCmhoYHQnl21sWXxFgjBZ1h5GMwDQYJKoZIhvcNAQEL
a6BrgEuka
4C0rgyEqmE0kB0CjgiIP0rsSAD1q13j4jZVSN+Y3l0v8lxWhTw60LgS2humdztc=
-----END CERTIFICATE-----

</cert>

<key>
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDE+1LsRd2mF3tb
a6BrgEuka
okssSuMgS394YTfZ+XMLTRHoM4O0s9TyzlrsaAWhnyApBBS8YFwVK4qk/V7dEKW+
Zqf/xixw7Jurj5t4rY17022S
-----END PRIVATE KEY-----

</key>

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

set interfaces openvpn vtun0 openvpn-option --duplicate-cn

Предупреждение

Опция duplicate-cn существенно снижает уровень безопасности и не рекомендуется для использования. Данная настройка лишает систему возможности однозначно идентифицировать подключённые устройства и пользователей, а также делает невозможным точечный отзыв при компрометации сертификата. Рекомендуется использование уникального сертификата для каждого клиента.

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

Рассмотрим процесс настройки клиентского оборудования на примере персонального компьютера, работающего под управлением операционной системы Windows, с установленным программным обеспечением OpenVPN Connect. Для установления соединения с OpenVPN-сервером необходимо выполнить следующие шаги:

  1. Скопировать конфигурационный файл «client.ovpn» на клиентский компьютер.

  2. Запустить приложение OpenVPN Connect и загрузить файл «client.ovpn».

  3. В интерфейсе программы выбрать импортированный профиль и нажать кнопку «Connect» для установления соединения.

  4. В процессе подключения приложение отобразит текущий статус соединения (см. Рисунок – OpenVPN Connect).

../../../../_images/ngfw.r.cli.vpn_2.2.2.1.png

Рисунок – OpenVPN Connect

Мониторинг подключений

Для отображения списка подключённых клиентов к OpenVPN-серверу необходимо выполнить следующую команду в эксплуатационном режиме:

admin@ngfwos# run show openvpn server

Пример списка подключённых клиентов:

OpenVPN status on vtun0

Client CN    Remote Host          Tunnel IP    Local Host          TX bytes    RX bytes    Connected Since
-----------  -------------------  -----------  ------------------  ----------  ----------  -------------------
ngfwos.net   172.30.130.29:53363  10.0.10.6    198.51.100.51:1122  4.8 KB      36.4 KB     2025-06-04 15:26:51

IPsec

IPsec – набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP.

Установка подключения IPsec происходит в два этапа, называемые фазами IKE:

  1. В первой фазе IKE две оконечные точки аутентифицируют друг друга и согласовывают ключевой материал. В результате устанавливается защищённый туннель, используемый во второй фазе для согласования защищённых соединений ESP.

  2. Во второй фазе IKE две оконечные точки используют защищённый туннель, созданный в первой фазе, для согласования защищённых соединений ESP (ESP SA). ESP SA используются для шифрования пользовательских данных, передающихся между двумя оконечными точками.

Список команд глобальной настройки IPsec:

  1. Отключить автоматическую установку маршрутов к удалённым сетям:

set vpn ipsec options disable-route-autoinstall
  1. Разрешить отправку полезной нагрузки FlexVPN (только IKEv2):

set vpn ipsec options flexvpn
  1. Указать интерфейс, на котором будут установлены виртуальные IP-адреса:

set vpn ipsec options interface <ethX>

где <ethX> – имя интерфейса. Если параметр не указан, адреса будут установлены на исходящем интерфейсе.

  1. Разрешить установку виртуальных IP-адресов:

set vpn ipsec options virtual-ip
  1. Включить журналирование:

set vpn ipsec log [level <value> | subsystem <value>]

Уровень ведения журнала возможно настроить с помощью дополнительных параметров «level» и «subsystem»:

  • level <value> – глобальный уровень ведения журнала IPSec. Возможно указать следующие значения уровня:

    • «0» – показывает только основные события (создание/удаление SA), используется по умолчанию;

    • «1» – добавляет общие сообщения об ошибках;

    • «2» – предоставляет расширенную информацию для отладки.

  • subsystem <value> – уровень ведения журнала подсистемы. Возможно указать следующие значения:

    • «dmn» – настройка, очистка и обработка сигналов основного демона;

    • «mgr» – менеджер IKE_SA, обработка синхронизации для доступа к IKE_SA;

    • «ike» – IKE_SA/ISAKMP SA;

    • «chd» – CHILD_SA/IPsec SA;

    • «job» – постановка задач в очередь, обработка и управление пулом потоков;

    • «cfg» – управление конфигурацией и плагинами;

    • «knl» – интерфейс ядра IPsec/сетевой интерфейс;

    • «net» – сетевая коммуникация IKE;

    • «asn» – низкоуровневое кодирование/декодирование (ASN.1, X.509 и т.д.);

    • «enc» – операции кодирования/декодирования пакетов, шифрование/дешифрование;

    • «lib» – сообщения библиотеки libstrongswan;

    • «esp» – сообщения библиотеки libipsec;

    • «tls» – сообщения библиотеки libtls;

    • «tnc» – Trusted Network Connect;

    • «imc» – сборщик измерений целостности;

    • «imv» – верификатор измерений целостности;

    • «pts» – служба доверия платформы;

    • «any» – любая подсистема.

IKE

IKE выполняет процедуру взаимной аутентификации между двумя сторонами и создаёт ассоциацию безопасности IKE (SA), которая включает в себя общую секретную информацию, используемую для быстрого установления SAS (Security Association) для полезной нагрузки безопасности Encapsulating (ESP) или заголовка аутентификации (AH). SA также включает в себя набор криптографических алгоритмов, которые будут использоваться сторонами для защиты трафика, передаваемого по SA.

В ARMA Стена атрибуты IKE определяются с помощью IKE-групп. В рамках одной группы возможно задать несколько предложений.

Основные команды настройки IKE-групп:

  1. Определение поименованной настройки IKE для согласований первой фазы IKE:

set vpn ipsec ike-group <name>

где <name> – имя, используемое для обозначения настройки IKE.

  1. Определение действия, которое следует предпринять, если дочерний SA недоступен:

set vpn ipsec ike-group <name> close-action <action>

где <action> – действие. Возможно указать следующие значения:

  • «none» – ничего не предпринимать, используется по умолчанию;

  • «trap» – попытка повторного согласования при обнаружении совпадающего трафика;

  • «start» – восстановить соединение.

  1. Определение поведения системы в том случае, если узел 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».

  1. Включение повторной аутентификации удалённого узла во время операции повторного ввода IKE-ключа (только для IKEv2):

set vpn ipsec ike-group <name> ikev2-reauth
  1. Выбор версии протокола IKE:

set vpn ipsec ike-group <name> key-exchange <version>

где <version> – версия протокола IKE. Возможно указать следующие значения:

  • «ikev1» – использовать IKEv1 для обмена ключами;

  • «ikev2» – использовать IKEv2 для обмена ключами.

В случае отсутствия заданного значения используются оба протокола. При инициализации соединения используется IKEv2, в ответе принимается любая версия протокола.

  1. Установить время жизни ключа IKE:

set vpn ipsec ike-group <name> lifetime <time>

где <time> – время жизни ключа IKE в секундах. Допустимые значения в диапазоне от «0» до «86400». По умолчанию используется значение «28800».

  1. Отключение поддержки MOBIKE:

set vpn ipsec ike-group <name> disable-mobike

MOBIKE используется в IKEv2 и включён по умолчанию.

  1. Установить режим IKEv1:

set vpn ipsec ike-group <name> mode <parameter>

где <parameter> – режим IKEv1. Возможно указать следующие значения:

  • <main> – использовать основной режим для обмена ключами по протоколу IKEv1. Используется по умолчанию;

  • <aggressive> – использовать агрессивный режим для обмена ключами по протоколу IKEv1.

  1. Указание номера предложения группы IKE первой фазы:

set vpn ipsec ike-group <name> proposal <number>

где <number> – уникальное целое число идентифицирующее предложение IKE. Возможно указать значение в диапазоне от «1» до «65535».

  1. Указание группы, которая будет предложена для ключевого обмена Диффи-Хеллмана:

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).

  1. Указание алгоритма шифрования, использование которого будет предлагаться при согласовании первой фазы IKE:

set vpn ipsec ike-group <name> proposal <number> encryption <algorithm>

где <algorithm> – алгоритм шифрования. Список поддерживаемых алгоритмов шифрования представлен в таблице (см. Таблица «Поддерживаемые алгоритмы шифрования»). По умолчанию используется алгоритм шифрования «aes128».

Таблица «Поддерживаемые алгоритмы шифрования»

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

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

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

null

aes128

aes192

aes256

aes128ctr

aes192ctr

aes256ctr

aes128ccm64

aes192ccm64

aes256ccm64

aes128ccm96

aes192ccm96

aes256ccm96

aes128ccm128

aes192ccm128

aes256ccm128

aes128gcm64

aes192gcm64

aes256gcm64

aes128gcm96

aes192gcm96

aes256gcm96

aes128gcm128

aes192gcm128

aes256gcm128

aes128gmac

aes192gmac

aes256gmac

3des

blowfish128

blowfish192

blowfish256

camellia128

camellia192

camellia256

camellia128ctr

camellia192ctr

camellia256ctr

camellia128ccm64

camellia192ccm64

camellia256ccm64

camellia128ccm96

camellia192ccm96

camellia256ccm96

camellia128ccm128

camellia192ccm128

camellia256ccm128

serpent128

serpent192

serpent256

twofish128

twofish192

twofish256

cast128

chacha20poly1305

  1. Указание алгоритма хеширования для предложения:

set vpn ipsec ike-group <name> proposal <number> hash <algorithm>

где <algorithm> – используемый алгоритм хеширования. Возможно указать следующие значения:

  • «md5»;

  • «md5_128»;

  • «sha1» – используется по умолчанию;

  • «sha1_160»;

  • «sha256»;

  • «sha256_96»;

  • «sha384»;

  • «sha512»;

  • «aesxcbc»;

  • «aescmac»;

  • «aes128gmac»;

  • «aes192gmac»;

  • «aes256gmac».

  1. Указание псевдослучайной функции для предложения:

set vpn ipsec ike-group <name> proposal <number> prf <function>

где <function> – используемая псевдослучайная функция. Возможно указать следующие значения:

  • «prfmd5»;

  • «prfsha1»;

  • «prfaesxcbc»;

  • «prfaescmac»;

  • «prfsha256»;

  • «prfsha384»;

  • «prfsha512».

ESP

ESP используется для обеспечения конфиденциальности, аутентификации источника данных, целостности данных без установления соединения, защиты от повторного воспроизведения (форма обеспечения частичной целостности последовательности) и ограниченной конфиденциальности трафика.

В ARMA Стена атрибуты ESP определяются с помощью ESP-групп. В рамках одной группы возможно задать несколько предложений.

Основные команды настройки ESP-групп:

  1. Определение поименованной настройки IKE для согласований первой фазы IKE:

set vpn ipsec esp-group <name>

где <name> – имя, используемое для обозначения настройки ESP.

  1. Включение протокола IPComp, который позволяет сжимать содержимое IP-пакетов:

set vpn ipsec esp-group <name> compression
  1. Установить срок действия ESP в зависимости от объёма трафика:

set vpn ipsec esp-group <name> life-bytes <value>

где <value> – количество байтов, переданных по IPsec SA до истечения срока действия ESP. Допустимые значения в диапазоне от «1024» до «26843545600000».

  1. Установить срок действия ESP в зависимости от переданных пакетов:

set vpn ipsec esp-group <name> life-packets <value>

где <value> – количество пакетов, переданных по IPsec SA до истечения срока действия ESP. Допустимые значения в диапазоне от «1000» до «26843545600000».

  1. Указание времени жизни ключа ESP:

set vpn ipsec esp-group <name> lifetime <time>

где <time> – время, в секундах, в течение которого ключ, созданный при согласовании второй фазы IKE, остаётся в силе. Допустимые значения в диапазоне от «30» до «86400». По умолчанию используется значение «3600».

  1. Указание режима подключения IPsec:

set vpn ipsec esp-group <name> mode <type>

где <type> – режим подключения IPsec. Допустимые значения: «tunnel» – туннельный режим, «transport» – транспортный режим. По умолчанию используется значение «tunnel».

  1. Определение использования механизма 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.

  1. Определение предложения группы ESP для согласования второй фазы IKE:

set vpn ipsec esp-group <name> proposal <number>

где <number> – уникальное целое число идентифицирующее предложение, используемое при согласовании второй фазы IKE. Допустимые значения в диапазоне от «1» до «65535».

  1. Указание алгоритма шифрования для предложения ESP:

set vpn ipsec esp-group <name> proposal <number> encryption <algorithm>

где <algorithm> – алгоритм шифрования. Список поддерживаемых алгоритмов шифрования представлен в таблице (см. Таблица «Поддерживаемые алгоритмы шифрования»). По умолчанию используется алгоритм шифрования «aes128».

  1. Указание алгоритма хеширования для предложения ESP:

set vpn ipsec esp-group <name> proposal <number> hash <algorithm>

где <algorithm> – используемый алгоритм хеширования. Возможно указать следующие значения:

  • «md5»;

  • «md5_128»;

  • «sha1» – используется по умолчанию;

  • «sha1_160»;

  • «sha256»;

  • «sha256_96»;

  • «sha384»;

  • «sha512»;

  • «aesxcbc»;

  • «aescmac»;

  • «aes128gmac»;

  • «aes192gmac»;

  • «aes256gmac».

  1. Отключить автоматическую замену криптографических ключей:

set vpn ipsec esp-group <name> disable-rekey

GRE over IPSEC

Технология GRE over IPsec обеспечивает интеграцию функциональных возможностей GRE и IPsec, где GRE предоставляет поддержку многоадресной и широковещательной передачи данных, а IPsec гарантирует конфиденциальность посредством шифрования передаваемых данных. В процессе функционирования данного решения осуществляется последовательная инкапсуляция трафика: первичная инкапсуляция производится с использованием протокола GRE, после чего выполняется вторичная инкапсуляция с применением механизмов IPsec для обеспечения защищённого канала передачи данных.

В качестве примера настройки соединения GRE over IPSEC, используется схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки соединения GRE over IPSEC).

../../../../_images/ngfw.r.cli.interfaces.tunnel_2.1.png

Рисунок – Схема стенда для настройки соединения GRE over IPSEC

Используемые IP-адреса приведены в качестве примера.

Для настройки GRE over IPSEC необходимо выполнить следующие шаги:

  1. Настроить конфигурацию на 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
  1. Настроить конфигурацию на 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:

  1. Проверить статус соединения между 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:~$
  1. Вывести детальную информацию о текущих наборах параметров безопасности (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:~$

IPSEC Site-to-Site (Policy Based)

IPSec Site-to-Site представляет собой комплексное решение для создания защищённых каналов связи между распределёнными сетями.

В качестве примера настройки VPN-соединения IPSEC Site-to-Site, используется схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки GRE over IPSEC).

Используемые IP-адреса приведены в качестве примера.

Для корректной реализации IPSEC Site-to-Site соединения требуется последовательная конфигурация обоих узлов – ARMA Стена1 и ARMA Стена2:

  1. Конфигурация узла 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», чтобы исключить нежелательную трансляцию адресов в защищённом диапазоне.

  1. Конфигурация узла 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:

  1. Для проверки корректности конфигурации и работоспособности 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:~$
  1. Для проверки корректности конфигурации и работоспособности 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:~$
  1. Для детального анализа работы 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:~$
  1. Для отображения общего состояния IPsec-подсистемы необходимо ввести следующую команду:

  • ARMA Стена1:

admin@ngfwos:~$ show vpn ipsec state

src 192.168.44.22 dst 192.168.22.55
        proto esp spi 0xcf5f6cc7 reqid 1 mode tunnel
        replay-window 0 flag af-unspec
        auth-trunc hmac(sha256) 0x35fdb0df730b7f67b6a64eb6a87e210efd59194020c0a2d4d94d48fc107a1e50 128
        enc cbc(aes) 0x3fcd3e1cb25e754ae3f90ba692f93f696852bf1128c7284f610379a3103da73d
        lastused 2025-03-05 07:35:41
        anti-replay context: seq 0x0, oseq 0x6, bitmap 0x00000000
src 192.168.22.55 dst 192.168.44.22
        proto esp spi 0xc20787e0 reqid 1 mode tunnel
        replay-window 32 flag af-unspec
        auth-trunc hmac(sha256) 0x521dcf97c48a7259ce28a7ea281bb15b2e393b390d13b8dd2b3136acbad29a6c 128
        enc cbc(aes) 0xe470d3eab56346dd517514305a39204078438812ef9d623642a90dfdb444d9e0
        lastused 2025-03-05 07:35:41
        anti-replay context: seq 0x6, oseq 0x0, bitmap 0x0000003f

admin@ngfwos:~$
  • ARMA Стена2:

admin@ngfwos:~$ show vpn ipsec state
src 192.168.22.55 dst 192.168.44.22
        proto esp spi 0xc20787e0 reqid 1 mode tunnel
        replay-window 0 flag af-unspec
        auth-trunc hmac(sha256) 0x521dcf97c48a7259ce28a7ea281bb15b2e393b390d13b8dd2b3136acbad29a6c 128
        enc cbc(aes) 0xe470d3eab56346dd517514305a39204078438812ef9d623642a90dfdb444d9e0
        lastused 2025-03-05 07:35:41
        anti-replay context: seq 0x0, oseq 0x6, bitmap 0x00000000
src 192.168.44.22 dst 192.168.22.55
        proto esp spi 0xcf5f6cc7 reqid 1 mode tunnel
        replay-window 32 flag af-unspec
        auth-trunc hmac(sha256) 0x35fdb0df730b7f67b6a64eb6a87e210efd59194020c0a2d4d94d48fc107a1e50 128
        enc cbc(aes) 0x3fcd3e1cb25e754ae3f90ba692f93f696852bf1128c7284f610379a3103da73d
        lastused 2025-03-05 07:35:41
        anti-replay context: seq 0x6, oseq 0x0, bitmap 0x0000003f
admin@ngfwos:~$

VTI over IPsec

Технология VTI over IPsec обеспечивает интеграцию функциональных возможностей VTI и IPsec, где VTI предоставляет поддержку многоадресной и широковещательной передачи данных, а IPsec гарантирует конфиденциальность посредством шифрования передаваемых данных.

В качестве примера настройки соединения VTI over IPsec, используется схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки соединения VTI over IPsec).

../../../../_images/ngfw.r.cli.vpn_3.5.1.png

Рисунок – Схема стенда для настройки соединения VTI over IPsec

Используемые IP-адреса приведены в качестве примера.

Настройка ARMA Стена1

Для настройки VTI over IPsec на ARMA Стена1 необходимо выполнить следующие шаги:

  1. Для настройки VTI-интерфейса ввести следующие команды:

    set interfaces vti vti10 address 10.10.0.1/30
    set interfaces vti vti10 mtu 1400
    
  2. Для настройки маршрутизации ввести следующие команды:

    set protocols static route 192.168.2.0/24 interface vti10
    commit
    save
    
  3. Для настройки IPsec ввести следующие команды:

    set vpn ipsec authentication psk psk10 id 198.51.100.51
    set vpn ipsec authentication psk psk10 id 203.0.113.2
    set vpn ipsec authentication psk psk10 secret 'exampleSecretPsk'
    
    set vpn ipsec esp-group esp10 lifetime 3600
    set vpn ipsec esp-group esp10 mode tunnel
    set vpn ipsec esp-group esp10 pfs dh-group19
    set vpn ipsec esp-group esp10 proposal 10 encryption aes256gcm128
    set vpn ipsec esp-group esp10 proposal 10 hash sha256
    
    set vpn ipsec ike-group ike10 close-action none
    set vpn ipsec ike-group ike10 dead-peer-detection action trap
    set vpn ipsec ike-group ike10 dead-peer-detection interval 30
    set vpn ipsec ike-group ike10 dead-peer-detection timeout 120
    set vpn ipsec ike-group ike10 disable-mobike
    set vpn ipsec ike-group ike10 key-exchange ikev2
    set vpn ipsec ike-group ike10 lifetime 10800
    set vpn ipsec ike-group ike10 proposal 10 dh-group 19
    set vpn ipsec ike-group ike10 proposal 10 encryption aes256gcm128
    set vpn ipsec ike-group ike10 proposal 10 hash sha256
    
    set vpn ipsec interface eth0
    
    set vpn ipsec options disable-route-autoinstall
    
    set vpn ipsec site-to-site peer peer1 authentication local-id 198.51.100.51
    set vpn ipsec site-to-site peer peer1 authentication mode pre-shared-secret
    set vpn ipsec site-to-site peer peer1 authentication remote-id 203.0.113.2
    set vpn ipsec site-to-site peer peer1 connection-type initiate
    set vpn ipsec site-to-site peer peer1 ike-group ike10
    set vpn ipsec site-to-site peer peer1 ikev2-reauth inherit
    set vpn ipsec site-to-site peer peer1 local-address 198.51.100.51
    set vpn ipsec site-to-site peer peer1 remote-address 203.0.113.2
    set vpn ipsec site-to-site peer peer1 vti bind vti10
    set vpn ipsec site-to-site peer peer1 vti esp-group esp10
    commit
    save
    

Настройка ARMA Стена2

Для настройки VTI over IPsec на ARMA Стена2 необходимо выполнить следующие шаги:

  1. Для настройки VTI-интерфейса ввести следующие команды:

set interfaces vti vti10 address 10.10.0.2/30
set interfaces vti vti10 mtu 1400
  1. Для настройки маршрутизации ввести следующие команды:

set protocols static route 192.168.1.0/24 interface vti10
commit
save
  1. Для настройки IPsec ввести следующие команды:

set vpn ipsec authentication psk psk10 id 203.0.113.2
set vpn ipsec authentication psk psk10 id 198.51.100.51
set vpn ipsec authentication psk psk10 secret 'exampleSecretPsk'

set vpn ipsec esp-group esp10 lifetime 3600
set vpn ipsec esp-group esp10 mode tunnel
set vpn ipsec esp-group esp10 pfs dh-group19
set vpn ipsec esp-group esp10 proposal 10 encryption aes256gcm128
set vpn ipsec esp-group esp10 proposal 10 hash sha256

set vpn ipsec ike-group ike10 close-action none
set vpn ipsec ike-group ike10 dead-peer-detection action trap
set vpn ipsec ike-group ike10 dead-peer-detection interval 30
set vpn ipsec ike-group ike10 dead-peer-detection timeout 120
set vpn ipsec ike-group ike10 disable-mobike
set vpn ipsec ike-group ike10 key-exchange ikev2
set vpn ipsec ike-group ike10 lifetime 10800
set vpn ipsec ike-group ike10 proposal 10 dh-group 19
set vpn ipsec ike-group ike10 proposal 10 encryption aes256gcm128
set vpn ipsec ike-group ike10 proposal 10 hash sha256

set vpn ipsec interface eth0

set vpn ipsec options disable-route-autoinstall

set vpn ipsec site-to-site peer peer1 authentication local-id 203.0.113.2
set vpn ipsec site-to-site peer peer1 authentication mode pre-shared-secret
set vpn ipsec site-to-site peer peer1 authentication remote-id 198.51.100.51
set vpn ipsec site-to-site peer peer1 connection-type initiate
set vpn ipsec site-to-site peer peer1 ike-group ike10
set vpn ipsec site-to-site peer peer1 ikev2-reauth inherit
set vpn ipsec site-to-site peer peer1 local-address 203.0.113.2
set vpn ipsec site-to-site peer peer1 remote-address 198.51.100.51
set vpn ipsec site-to-site peer peer1 vti bind vti10
set vpn ipsec site-to-site peer peer1 vti esp-group esp10
commit
save

Для проверки соединения необходимо на ПК «Client» инициировать ICMP-запрос к ПК «Server» и убедиться в успешности передачи зашифрованных пакетов.

Мониторинг соединения VTI over IPsec

Для вывода информации о статусе соединения IPsec (см. Рисунок – ARMA Стена1: Информация о статусе соединения VTI over IPsec, Рисунок – ARMA Стена2: Информация о статусе соединения VTI over IPsec) необходимо ввести команду:

run show vpn ipsec connections
../../../../_images/ngfw.r.cli.vpn_3.5.3.1.png

Рисунок – ARMA Стена1: Информация о статусе соединения VTI over IPsec

../../../../_images/ngfw.r.cli.vpn_3.5.3.2.png

Рисунок – ARMA Стена2: Информация о статусе соединения VTI over IPsec

Для вывода информации о параметрах безопасности IPsec (см. Рисунок – ARMA Стена1: Информация о параметрах безопасности VTI over IPsec, Рисунок – ARMA Стена2: Информация о параметрах безопасности VTI over IPsec) необходимо ввести команду:

run show vpn ipsec sa
../../../../_images/ngfw.r.cli.vpn_3.5.3.3.png

Рисунок – ARMA Стена1: Информация о параметрах безопасности VTI over IPsec

../../../../_images/ngfw.r.cli.vpn_3.5.3.4.png

Рисунок – ARMA Стена2: Информация о параметрах безопасности VTI over IPsec

ГОСТ OpenVPN

ГОСТ OpenVPN – это реализация OpenVPN, с применением алгоритмов шифрования, соответствующих ГОСТ и криптографических средств, прошедших процедуру оценки соответствия в ФСБ России.

ARMA Стена поддерживает работу с применением алгоритмов шифрования, представленных в таблице (см. Таблица «Алгоритмы шифрования, соответствующие ГОСТ»).

Таблица «Алгоритмы шифрования, соответствующие ГОСТ»

Алгоритм

Алгоритм

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-ГОСТ» у вендора «Криптоком» или дистрибьюторов.

Получение лицензии ГОСТ OpenVPN

Для получения лицензии ГОСТ OpenVPN на ARMA Стена необходимо выполнить следующие шаги:

  1. Получить и сохранить информацию об аппаратной части ARMA Стена, выполнив в эксплуатационном режиме следующую команду:

admin@ngfwos:~$ third-party generate openvpn-gost hardware-data

Система создаст файл с именем «hw_data» в каталоге «/config/files/operation/third-party/generate/openvpn-gost/hardware-data/».

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

admin@ngfwos:~$ third-party generate openvpn-gost seed
  1. Файл с информацией об аппаратной части из п.1 данной инструкции необходимо передать в техническую поддержку вендора или дистрибьютора для получения файла лицензии.

  2. Предоставленный файл лицензии в формате «lic» необходимо загрузить в систему ARMA Стена в каталог «/config/».

Для выполнения данной операции возможно использовать программное обеспечение, поддерживающее передачу файлов по протоколам SFTP или SCP (например, WinSCP для операционной системы Windows), либо воспользоваться командой «scp» через интерфейс командной строки. Возможны также альтернативные способы передачи данных.

Пример использования команды «scp»:

«C:\Users\test>scp c:\Users\test\Desktop\cryptocom.lic admin@172.16.20.76:/config»

Команда выполнит копирование файла лицензии «cryptocom.lic» в каталог «/config/» на системе ARMA Стена, доступной по IP-адресу «172.16.20.76».

  1. Для использования скопированного файла лицензии необходимо выполнить в эксплуатационном режиме следующую команду:

admin@ngfwos:~$ third-party install openvpn-gost license /config/cryptocom.lic

Проверить статус текущей лицензии (см. Рисунок – Информация о лицензии ГОСТ OpenVPN) можно с помощью выполнения следующей команды эксплуатационного режима:

admin@ngfwos:~$ show third-party openvpn-gost license
../../../../_images/ngfw.r.cli.vpn_4.1.1.png

Рисунок – Информация о лицензии ГОСТ OpenVPN

Настройка ГОСТ OpenVPN в режиме «сеть – сеть»

В качестве примера настройки OpenVPN будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки VPN в режиме «сеть – сеть»).

На обоих устройствах ARMA Стена предварительно необходимо создать разрешающие правила МЭ для установления соединений по протоколам SSH и OpenVPN (см. «Настройка OpenVPN в режиме «сеть – сеть»»).

Генерация и установка сертификатов

Для создания сертификатов необходимо выполнить следующие действия с соблюдением нижеуказанной последовательности:

  1. На ARMA Стена 1 cгенерировать сертификат УЦ «arma-ca» (см. «Создание удостоверяющего центра»).

  2. На ARMA Стена 1 cгенерировать сертификат сервера «ngfw1-cert» (см. «Создание подписанного сертификата»), введя значение «server» на запрос «Enter certificate type: (client, server) (Default: server)».

  3. На ARMA Стена 2 установить сертификат УЦ «arma-ca», который был сгенерирован на ARMA Стена 1 (см. «Установка сертификата УЦ»).

  4. На ARMA Стена 2 создать запрос на подписание сертификата клиента «ngfw2-cert» (см. «Создание запроса на подписание сертификата»).

  5. На ARMA Стена 1 cгенерировать сертификат клиента «ngfw2-cert», используя запрос CSR (см. «Подписание сертификата»), введя значение «client» на запрос «Enter certificate type: (client, server) (Default: server)».

  6. На ARMA Стена 2 установить сертификат клиента «ngfw2-cert», который был сгенерирован на ARMA Стена 1 (см. «Установка сертификата»).

Настройка 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».

Затем следует настроить маршрут (см. «Настройка маршрута») и правила МЭ (см. «Настройка правил МЭ»).

Настройка ARMA Стена 2

Для настройки туннеля необходимо ввести следующие команды:

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 в режиме «сервер – клиент»

В качестве примера настройки OpenVPN будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки VPN в режиме «сервер – клиент»).

Настройка ARMA Стена

Генерация сертификатов

Генерация сертификатов выполняется в порядке, аналогичном приведённому для OpenVPN в п. «Генерация сертификатов».

Настройка ГОСТ OpenVPN-сервера

Для настройки ГОСТ 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».

Созданный конфигурационный файл следует экспортировать на клиентский компьютер.

Настройка ГОСТ OpenVPN клиента

Настройка клиентского компьютера, работающего под управлением операционной системы Windows выполняется в порядке, аналогичном приведённому для OpenVPN (см. «Настройка OpenVPN клиента»), учитывая следующие особенности:

  1. На ПК «Client» должно быть установлено ПО, поддерживающее работу с соответствующими алгоритмами (см. «ГОСТ OpenVPN»).

  2. На ПК «Client» необходимо импортировать файл конфигурации «vtun0_client_cert.gost».

Мониторинг подключений

Для отображения информации о подключённых клиентах к ГОСТ OpenVPN-серверу (см. Рисунок – Информация о подключённых клиентах к ГОСТ OpenVPN-серверу) необходимо выполнить следующую команду в эксплуатационном режиме:

admin@ngfwos:~$ show openvpn-gost server
../../../../_images/ngfw.r.cli.vpn_4.3.3.1.png

Рисунок – Информация о подключённых клиентах к ГОСТ OpenVPN-серверу