Добавление на центральном шлюзе аутентификации с использованием сертификатов второго УЦ (миграция УЦ)

Скачать в формате PDF

Введение

Данный сценарий содержит пример настройки центрального криптошлюза «С-Терра Шлюз» для обеспечения плавного перехода с одного удостоверяющего центра на другой с одновременным использованием обоих. В рамках данного сценария будет рассмотрен пример перехода на удостоверяющий центр, который выпускает сертификаты по алгоритмам ГОСТ 2012 года. В ходе сценария происходит добавление в имеющуюся инфраструктуру второго УЦ.

Обеспечение безопасного взаимодействия достигается путем шифрования и туннелирования трафика с применением отечественных отраслевых стандартов ГОСТ и протокола IPsec.

В рамках данного сценария для аутентификации партнеры будут использовать сертификаты. В качестве криптопровайдера будет использована криптографическая библиотека, разработанная компанией «С-Терра СиЭсПи». Шлюзы безопасности (или криптошлюзы) - «С-Терра Шлюз» версии 4.3. VPN-клиенты - «С-Терра Клиент» версии 4.3.


 

Предварительные требования

Требования к материально-техническому обеспечению

Для переноса запросов и сертификатов между криптошлюзами и центром выпуска сертификатов требуется USB Flash накопитель.

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

Администратор должен обладать обширными знаниями в области сетевой информационной безопасности, иметь опыт работы с аналогичным оборудованием/программным обеспечением, знать и понимать следующие технологии и протоколы: PKI, IPsec, NAT, Firewall, routing, switching.

Требования к инфраструктуре

1.    Требования к устройствам.

1.1.      Устройства «С-Терра Шлюз».

1.1.1      Устройства «С-Терра Шлюз» должны быть инициализированы (подробнее на http://doc.s-terra.ru раздел С-Терра Шлюз -> С-Терра Шлюз 4.3 -> «Подключение ПАК и инициализация С-Терра Шлюз на вычислительных системах архитектуры Intel x86-64»).

1.2.      Центры выпуска сертификатов.

1.2.1      Должны быть настроены центры выпуска сертификатов (удостоверяющие центры, далее УЦ) для IPsec. Устройства с названиями Certification_authority_OLD и Certification_authority_NEW на схеме взаимодействия (см. рисунок 1).

1.2.2      Для выпуска цифровых сертификатов допускается использование встроенного в OC Windows Server 2008R2 (или новее) удостоверяющего центра совместно с сертифицированным СКЗИ «КриптоПро» CSP 4.0 (или новее).

1.3.      Устройство host-behind-hub1.

1.3.1      На компьютере, устройство host-behind-hub1, расположенным в защищаемой сети центрального офиса, должна быть установлена ОС, поддерживающая стек протоколов TCP/IP.

1.4.      АРМ администратора.

1.4.1   На АРМ администратора, устройство Admin_workstation, должна быть установлена ОС Windows (поддерживаемые версии 8/8.1/10).

1.5.      Устройства Client1 и Client2.

1.5.1      На компьютерах пользователей (устройства Client1 и Client2) должна быть установлена ОС Windows (поддерживаемые версии 8/8.1/10).

1.6.      HTTP сервер для распространения списка отозванных сертификатов.

1.6.1      Функционирующий HTTP сервер для распространения списка отозванных сертификатов (СОС). Устройство с именем CRL_distribution_point на схеме взаимодействия (см. рисунок 1). Если по объективным причинам использование СОС не представляется возможным или не требуется, то проверку СОС можно отключить в Cisco-like консоли устройств «С-Терра Шлюз».

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

2.    Требования к сетевому взаимодействию.

2.1.      Между устройствами стенда должна быть обеспечена IP связность.


 

Схема взаимодействия

Рисунок 1. Схема взаимодействия

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

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

1.1.      В центральном офисе размещаются: центры выпуска сертификатов (Certification_authority_OLD и Certification_authority_NEW), АРМ администратора (Admin_workstation), криптошлюз «С-Терра Шлюз» (Hub1) и персональный компьютер (host-behind-hub1);

1.2.      В неконтролируемом сегменте (синее облако на схеме взаимодействия (см. рисунок 1)) размещаются: HTTP сервер для распространения списка отозванных сертификатов (CRL_distribution_point), маршрутизаторы (Core-ISP, Client-ISP);

1.3.      В сети филиала 1 размещаются криптошлюз «С-Терра Шлюз» (Spoke1) и персональный компьютер (host-behind-spoke1);

1.4.      В сети филиала 2 размещаются криптошлюз «С-Терра Шлюз» (Spoke2) и персональный компьютер (host-behind-spoke2);

1.5.      За пределами сети центрального офиса размещается компьютеры пользователей с ПО «С-Терра Клиент» (Client1 и Client2).

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

2.В данном сценарии для эмуляции сети Интернет используются маршрутизаторы Core-ISP и Client-ISP.

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

2.2.      Компьютеры пользователей Client1 и Client2 подключается к сети Интернет с помощью статической маршрутизации (маршрут по умолчанию через маршрутизатор Client-ISP).

2.3.      На маршрутизаторе Client-ISP происходит трансляция сетевых адресов (source NAT) в IP-адрес внешнего сетевого интерфейса (ens256).

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

3.    Использование нескольких УЦ.

Использование одновременно нескольких УЦ в VPN сети может быть вызвано разными причинами. В данном же сценарии в качестве причины рассматривается необходимость миграции с сертификатов, выпущенных по ГОСТ 2001, на сертификаты, выпущенные в соответствии с ГОСТ 2012 года. То есть, предполагается, что есть какое-то количество VPN устройств, которые штатно работают и используют сертификаты, выпущенные по ГОСТ 2001 года (в данном сценарии это устройства Hub1, Spoke1 и Client1). Соответственно, требуется, чтобы новые VPN устройства (в данном сценарии это устройства Spoke2 и Client2) использовали уже новые сертификаты, выпущенные по ГОСТ 2012 года. В дополнении к этому требуется обеспечить, чтобы VPN устройства со старыми и новыми сертификатами работали одновременно.

Чтобы на центральном криптошлюзе при помощи консоли cisco-like корректно развести на две группы VPN устройства, использующие старые и новые сертификаты, требуется, чтобы в DN (Distinguished Names) всех новых сертификатов был явно идентифицирующий признак. То есть во всех новых сертификатах должно присутствовать поле, отличающееся от того же поля в старых сертификатах или отсутствующее в них.

Например, DN для старых сертификатов «C=RU, CN=Client1, OU=IT» и DN для новых сертификатов «C=RU, CN=Client2, OU=IT_2012».

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

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

В сценарии предполагается, что вначале УЦ Certification_authority_NEW, филиал 2 и устройство Client2 отсутствуют и криптошлюз Hub1 настроен для взаимодействия с филиалом 1 и Client1 с использованием сертификатов, выпущенных УЦ Certification_authority_OLD по ГОСТ 2001. 

После внедрения УЦ Certification_authority_NEW, филиала 2 и устройства Client2, использующих новые сертификаты (по ГОСТ 2012), криптошлюз Hub1 настраивается таким образом, чтобы стоить соединения с устройствами из обеих групп. 

4.1.      Параметры протокола IKE для Client1 и Spoke1:

·         Аутентификация при помощи цифровых сертификатов, алгоритм подписи - ГОСТ Р 34.10-2001;

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

·         Алгоритм вычисления хеш-функции - ГОСТ Р 34.11-94;

·         Алгоритм выработки общего ключа (аналог алгоритма Диффи-Хеллмана) - VKO GOST R 34.10-2001.

4.2.      Параметры протокола IKE для Client2 и Spoke2:

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

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

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

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

4.3.      Параметры протокола IKE для Hub1 после полной настройки должны содержать алгоритмы для взаимодействия как с Client1 и Spoke1, так и с Client2 и Spoke2.

4.4.      Параметры протокола ESP (общие):

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


 

Настройка стенда

Настройка устройства Core-ISP

1.      Настройте IP адрес - 172.16.100.1 и маску - 255.255.255.0 на сетевом интерфейсе ens192.

2.      Настройте IP адрес - 172.16.1.1 и маску - 255.255.255.0 на сетевом интерфейсе ens224.

3.      Настройте IP адрес - 172.16.2.1 и маску - 255.255.255.0 на сетевом интерфейсе ens256.

4.      Настройте IP адрес - 172.16.3.1 и маску - 255.255.255.0 на сетевом интерфейсе ens161.

5.      Разрешите прохождение IP трафика.

Настройка устройства Client-ISP

1.    Настройте IP адрес - 172.16.3.2 и маску - 255.255.255.0 на сетевом интерфейсе ens256.

2.    Настройте IP адрес - 192.168.10.1 и маску - 255.255.255.0 на сетевом интерфейсе ens192.

3.    Настройте IP адрес - 192.168.20.1 и маску - 255.255.255.0 на сетевом интерфейсе ens224.

4.    Настройте NAT (SNAT либо маскарадинг), транслирующий все адреса сетей 192.168.10.0/24 и 192.168.20.0/24 в адрес внешнего интерфейса ens256.

5.    Настройте на интерфейсе ens192 DHCP сервер, раздающий доступные IP адреса из подсети этого интерфейса (192.168.10.2 - 192.168.10.254) и требуемые сетевые настройки.

6.    Настройте на интерфейсе ens224 DHCP сервер, раздающий доступные IP адреса из подсети этого интерфейса (192.168.20.2 - 192.168.20.254) и требуемые сетевые настройки.

7.    Настройте маршрут по умолчанию с next-hop через Core-ISP.

8.    Разрешите прохождение IP трафика.


 

Начальные настройки устройств Hub1, Spoke1 и Client1

Предполагается, что перед началом конфигурирования уже произведена настройка устройств Hub1, Spoke1 и Client1 в соответствии с документами “Построение VPN туннеля между двумя подсетями, защищаемыми шлюзами безопасности «С-Терра Шлюз»” и “Построение VPN туннеля между шлюзом безопасности "С-Терра Шлюз" и клиентом «С-Терра Клиент»”, размещенными на портале документации http://doc.s-terra.ru в разделе «Типовые сценарии применения продуктов» c поправкой на используемые алгоритмы (см. пункт 4.1 части «Общая логика работы»).

Для генерации запросов на сертификат по ГОСТ 2001 следует использовать утилиту cert_mgr с ключом -GOST_R3410EL.

В Приложении представлены тексты начальных конфигураций для криптошлюза Hub1, конфигураций для Spoke1, а также текст конфигураций LSP для VPN-клиента Client1.

Настройки устройств Spoke2 и Client2

Настройки устройств Spoke2 и Client2 ничем принципиально не отличаются от настроек Spoke1 и Client1 за исключением используемых алгоритмов.

В Приложении представлены тексты конфигураций для Spoke2, а также текст конфигураций LSP для VPN-клиента Client2.


 

Настройка устройства Hub1

Настройка будет происходить локально при помощи консольного подключения.

Настройка может осуществляться и удаленно (по SSH), но исключительно по доверенному каналу связи. Доверенным каналом связи может считаться канал в пределах контролируемой зоны в случае отсутствия в нем нарушителя (в нашем примере это подсеть центрального офиса 192.168.100.0/24). Доверенным каналом связи также считается канал, защищенный при помощи протокола IPsec (например, после настройки шифрования между филиалом и центральным офисом разрешается выполнять производить настройку из сети филиала, также после настройки шифрования между удаленным VPN клиентом (Client1) и криптошлюзом Hub1 разрешается выполнять настройку криптошлюза Hub1 с компьютера пользователя).

 

Дата и время на всех криптошлюзах (Hub1, Spoke1 и Spoke2) и компьютерах пользователей (Client1 и Client2) должны быть одинаковы, так как для аутентификации используются цифровые сертификаты, в которых зафиксированы дата и время начала их действия и окончания. Также одинаковые дата и время на всей инфраструктуре облегчают поиск неисправностей по лог-файлам.

Предполагается, что на криптошлюзе Hub1 уже присутствуют правильные настройки даты и времени, поэтому в данном сценарии они затрагиваться не будут. То же относится к настройкам типа терминала и паролям пользователей. Эти настройки приведены в документах “Построение VPN туннеля между двумя подсетями, защищаемыми шлюзами безопасности «С-Терра Шлюз»” и “Построение VPN туннеля между шлюзом безопасности "С-Терра Шлюз" и клиентом «С-Терра Клиент»”.

Настройки PKI (запросы и сертификаты)

Для соединений с новыми устройствами потребуется создать новый сертификат для устройства Hub1.

Для генерации запроса на сертификат ознакомьтесь с главой «Настройки PKI(запросы и сертификаты)» сценария “Построение VPN туннеля между двумя подсетями, защищаемыми шлюзами безопасности «С-Терра Шлюз»”. Создайте запрос как показано в пункте 1.3 главы и укажите при этом нужный DN в опции «-subj». В данном сценарии будет использоваться следующий DN: C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=Hub1. Оставшиеся настройки приведите в соответствии с данной главой.

В данном сценарии для разведения устройств на группы используется поле «OU». В старых сертификатах оно будет равно «RnD» в новых - «RnD NEW» (см. пункт 3 главы «Общая логика работы»).

Создайте запрос на сертификат для Hub1 и направьте запрос в новый УЦ (Certification_authority_NEW).

После импорта новых сертификатов в базу продукта вывод команд cert_mgr show и cert_mgr check должен выглядеть похожим образом:

root@Hub1:~# cert_mgr show

Found 6 certificates. Found 1 CRL.

1 Status: trusted C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=S-Terra CSP Test Root CA 2001

2 Status: local   C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Hub1

3 Status: trusted C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=S-Terra CSP Test Root CA 2012

4 Status: local   C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=Hub1

5 Status: remote  C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Spoke1

6 Status: remote  C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Client1

7 CRL: C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=S-Terra CSP Test Root CA 2001

root@Hub1:~# cert_mgr check

1 State: Active   C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=S-Terra CSP Test Root CA 2001

2 State: Active   C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Hub1

3 State: Inactive C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=S-Terra CSP Test Root CA 2012

                  Certificate can not be verified.

4 State: Inactive C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=Hub1

                  Certificate can not be verified.

5 State: Active   C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Spoke1

6 State: Active   C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Client1

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

Предполагается, что к данному моменту уже проведены начальные настройки шифрования: указаны значения глобальных параметров и параметров, требуемых для построения туннелей с Spoke1 и Client1. Посмотреть пример начальной конфигурации можно в пункте «Конфигурации шлюза Hub1» приложения. В данной главе будет описано только то, что требуется добавить в начальную конфигурацию.

Перейдите в режим конфигурирования Cisco-like консоли:

root@Hub1:~# su cscons

Hub1#

Hub1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

1.    Создайте вторую политику, описывающую параметры IKE туннеля:

Hub1(config)#crypto isakmp policy 2

Hub1(config-isakmp)#encryption gost

Hub1(config-isakmp)#hash gost341112-256-tc26

Hub1(config-isakmp)#authentication gost-sig

Hub1(config-isakmp)#group vko2

Hub1(config-isakmp)#exit

2.    Создайте расширенные списки доступа (ACL) для трафика, который требуется защищать (трафик до филиала 2):

Hub1(config)#ip access-list extended IPSEC_ACl_HUB1_AND_SPOKE2

Hub1(config-ext-nacl)#permit ip 192.168.100.0 0.0.0.255 192.168.2.0 0.0.0.255

Hub1(config-ext-nacl)#exit

Hub1(config)#

 

Предполагается, что список доступа IPSEC_ACl_HUB1_AND_CLIENTS для VPN-клиентов уже создан.

3.    Создайте список идентификаторов, которому должен удовлетворять сертификат партнеров (Spoke2 и Client2):

Hub1(config)#crypto identity New_CA

Hub1(config-crypto-identity)#dn OU=RnD NEW

Hub1(config-crypto-identity)#exit

Hub1(config)#

4.    Измените конфигурацию криптокарт:

4.1.      Создайте во 2ом разделе VPN статическую криптокарту для подсети филиала 2, убрав предварительно из раздела 2 список динамических криптокарт DMAP;

4.2.      Создайте динамическую криптокарту для VPN-клиентов с новыми сертификатами в 1ом разделе DMAP, указав в ней при этом созданный ранее идентификатор «New_CA» (set identity New_CA). Использованную ранее криптокарту для VPN-клиентов со старым сертификатом поместите во 2ой раздел DMAP.

4.3.      Подключите получившийся список DMAP в 3ий раздел VPN.

Было:

crypto dynamic-map DMAP 1

 match address IPSEC_ACl_HUB1_AND_CLIENTS

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set pool IKECFG_POOL

 reverse-route

 set dead-connection history off

!

crypto map VPN 1 ipsec-isakmp

 match address IPSEC_ACl_HUB1_AND_SPOKE1

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set peer 172.16.1.2

 set dead-connection history off

crypto map VPN 2 ipsec-isakmp dynamic DMAP

Стало:

crypto dynamic-map DMAP 1

 match address IPSEC_ACl_HUB1_AND_CLIENTS

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set pool IKECFG_POOL

 set identity New_CA

 set dead-connection history off

 set certificate local credential C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=Hub1

crypto dynamic-map DMAP 2

 match address IPSEC_ACl_HUB1_AND_CLIENTS

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set pool IKECFG_POOL

 set dead-connection history off

 set certificate local credential C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Hub1

!

crypto map VPN 1 ipsec-isakmp

 match address IPSEC_ACl_HUB1_AND_SPOKE1

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set peer 172.16.1.2

 set dead-connection history off

 set certificate local credential C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Hub1

crypto map VPN 2 ipsec-isakmp

 match address IPSEC_ACl_HUB1_AND_SPOKE2

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set identity New_CA

 set peer 172.16.2.2

 set dead-connection history off

 set certificate local credential C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=Hub1

crypto map VPN 3 ipsec-isakmp dynamic DMAP

Здесь следует обратить внимание на порядок криптокарт. Динамические криптокарты должны быть заданы после статических. Динамическая криптокарта для VPN устройств с новыми сертификатами обязательно должна быть в разделе, номер которого меньше (DMAP 1), чем динамическая криптокарта для VPN устройств со старыми сертификатами (DMAP 2). На статические криптокарты это правило не распространяется.

Настройка политики обработки СОС (CRL)

В существующую политику нужно добавить адрес для загрузки нового СОС:

Hub1(config)#crypto pki trustpoint s-terra_technological_trustpoint

Hub1(ca-trustpoint)#crl download group ROOTCA_NEW http://172.16.101.15/certcrl_2012.crl

Hub1-n1(ca-trustpoint)#end

Проверьте, загружен ли СОС в базу Продукта:

Hub1#run cert_mgr show

Found 8 certificates. Found 2 CRLs.

1 Status: trusted C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=S-Terra CSP Test Root CA 2001

2 Status: local   C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Hub1

3 Status: trusted C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=S-Terra CSP Test Root CA 2012

4 Status: local   C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=Hub1

5 Status: remote  C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Spoke1

6 Status: remote  C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Client1

7 CRL: C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=S-Terra CSP Test Root CA 2001

8 CRL: C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=S-Terra CSP Test Root CA 2012

При наличии ошибок действуйте согласно главе «Настройка политики обработки СОС (CRL)» документа “Построение VPN туннеля между двумя подсетями, защищаемыми шлюзами безопасности «С-Терра Шлюз»”. 

Настройка криптошлюза Hub1 завершена.

В Приложении представлены тексты конфигураций для криптошлюза Hub1:

·         текст конфигураций Cisco-like;

·         текст конфигураций LSP.


 

Проверка работоспособности стенда

Проверку работоспособности следует проводить подобно тому, как указано в документах “Построение VPN туннеля между двумя подсетями, защищаемыми шлюзами безопасности «С-Терра Шлюз»” и “Построение VPN туннеля между шлюзом безопасности "С-Терра Шлюз" и клиентом «С-Терра Клиент»”.

После того как соединение со всеми устройствами будет установлено вывод команды sa_mgr show должен выглядеть примерно следующим образом:

root@Hub1:~# sa_mgr show

ISAKMP sessions: 0 initiated, 0 responded

 

ISAKMP connections:

Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd

1 90 (172.16.100.2,4500)-(172.16.3.2,39282) active 2184 2960

2 91 (172.16.100.2,500)-(172.16.2.2,500) active 1444 1516

3 92 (172.16.100.2,4500)-(172.16.3.2,4500) active 1952 2944

4 93 (172.16.100.2,500)-(172.16.1.2,500) active 1828 1908

 

IPsec connections:

Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd

1 261 (192.168.100.0-192.168.100.255,*)-(192.168.2.0-192.168.2.255,*) * ESP tunn 129008 129008

2 262 (192.168.100.0-192.168.100.255,*)-(192.168.255.2,*) * ESP nat-t3-tunn 3904 3904

3 263 (192.168.100.0-192.168.100.255,*)-(192.168.255.1,*) * ESP nat-t3-tunn 0 0

4 264 (192.168.100.0-192.168.100.255,*)-(192.168.1.0-192.168.1.255,*) * ESP tunn 1848 1848


 

Приложение

Конфигурации шлюза Hub1

1.    Cisco-like конфигурация устройства Hub1 (изначальная):

!

version 12.4

no service password-encryption

!

crypto ipsec df-bit copy

crypto isakmp identity dn

crypto isakmp fragmentation

crypto isakmp security-association lifetime delta 50

crypto isakmp initiator-sessions-max 100

crypto isakmp responder-sessions-max 100

crypto isakmp keepalive 3

crypto isakmp keepalive retry-count 5

username cscons privilege 15 secret 5 $6$RiWz4IVm$qMp6sbpYnTfSUxuaJPZ9UCq4yy8/x

heIEbSmbTfMzmbQqepMD6R1b18vHTdFQt949xNXzpRXWA9dZ/gCK70z./

aaa new-model

!

!

hostname Hub1

enable secret 5 HGJcyG+CRmCjINGFkW48VQ==

!

!

!

!

!

crypto isakmp policy 1

 encr gost

 hash gost

 authentication gost-sig

 group vko

!

ip local pool IKECFG_POOL 192.168.255.1 192.168.255.254

!

crypto ipsec transform-set GOST_ENCRYPT_AND_INTEGRITY esp-gost28147-4m-imit

!

ip access-list extended IPSEC_ACl_HUB1_AND_SPOKE1

 permit ip 192.168.100.0 0.0.0.255 192.168.1.0 0.0.0.255

!

ip access-list extended IPSEC_ACl_HUB1_AND_CLIENTS

 permit ip 192.168.100.0 0.0.0.255 192.168.255.0 0.0.0.255

!

!

crypto dynamic-map DMAP 1

 match address IPSEC_ACl_HUB1_AND_CLIENTS

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set pool IKECFG_POOL

 reverse-route

 set dead-connection history off

!

crypto map VPN 1 ipsec-isakmp

 match address IPSEC_ACl_HUB1_AND_SPOKE1

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set peer 172.16.1.2

 set dead-connection history off

crypto map VPN 2 ipsec-isakmp dynamic DMAP

!

interface GigabitEthernet0/0

 ip address 172.16.100.2 255.255.255.0

 crypto map VPN

!

interface GigabitEthernet0/1

 ip address 192.168.100.1 255.255.255.0

!

!

ip route 0.0.0.0 0.0.0.0 172.16.100.1

!

crypto pki trustpoint s-terra_technological_trustpoint

 revocation-check crl

 crl download group ROOTCA http://172.16.101.15/certcrl_2001.crl

 crl download time 60

crypto pki certificate chain s-terra_technological_trustpoint

certificate 7D46C894EBF14B87400AD17517126414

3082022A308201D9A00302010202107D46C894EBF14B87400AD1751712641430

...

413AABE4711D6CA28F61574266A6

 

quit

!

end

2.    LSP конфигурация устройства Hub1 (изначальная):

#   This is automatically generated LSP

#

#   Conversion Date/Time:   Fri May 29 17:02:42 2020

 

GlobalParameters(

    Title                       = "This LSP was automatically generated by CSP Converter at Fri May 29 17:02:42 2020 (user: cscons)"

    Version                     = LSP_4_3

    CRLHandlingMode             = ENABLE

    PreserveIPsecSA             = FALSE

)

 

RoutingTable(

    Routes =

        Route(

            Destination = 0.0.0.0/0

            Gateway = 172.16.100.1

        )

)

 

FirewallParameters(

    TCPSynSentTimeout = 30

    TCPFinTimeout = 5

    TCPClosedTimeout = 30

    TCPSynRcvdTimeout = 30

    TCPEstablishedTimeout = 3600

    TCPHalfOpenLow = 400

    TCPHalfOpenMax = 500

    TCPSessionRateLow = 400

    TCPSessionRateMax = 500

)

 

IKETransform crypto:isakmp:policy:1

(

    CipherAlg   = "G2814789CPRO1-K256-CBC-65534"

    HashAlg     = "GR341194CPRO1-65534"

    GroupID     = VKO_1B

    RestrictAuthenticationTo = GOST_SIGN

    LifetimeSeconds = 86400

)

 

ESPProposal GOST_ENCRYPT_AND_INTEGRITY:ESP

(

    Transform* = ESPTransform

    (

        CipherAlg*          = "G2814789CPRO2-K288-CNTMAC-253"

        LifetimeSeconds     = 3600

        LifetimeKilobytes   = 4608000

    )

)

 

AddressPool IKECFG_POOL

(

    IPAddresses = 192.168.255.1..192.168.255.254

)

 

IKEParameters(

    FragmentSize = 576

    SALifetimeDelta = 50

    InitiatorSessionsMax = 100

    ResponderSessionsMax = 100

)

 

AuthMethodGOSTSign GOST:Sign

(

    LocalID        =  IdentityEntry( DistinguishedName* = USER_SPECIFIC_DATA )

    SendRequestMode    =  ALWAYS

    SendCertMode       =  ALWAYS

)

 

IKERule IKERule:VPN:1

(

    IKEPeerIPFilter = 172.16.1.2

    Transform = crypto:isakmp:policy:1

    AggrModeAuthMethod  = GOST:Sign

    MainModeAuthMethod  = GOST:Sign

    DPDIdleDuration     = 3

    DPDResponseDuration = 2

    DPDRetries          = 5

    Priority            = 10

)

 

IKERule IKERule:VPN:2:DMAP:1

(

    Transform = crypto:isakmp:policy:1

    AggrModeAuthMethod  = GOST:Sign

    MainModeAuthMethod  = GOST:Sign

    IKECFGPool          = IKECFG_POOL

    DPDIdleDuration     = 3

    DPDResponseDuration = 2

    DPDRetries          = 5

    Priority            = 100

)

 

IPsecAction IPsecAction:VPN:1

(

    TunnelingParameters = TunnelEntry(

        PeerAddress = 172.16.1.2

        DFHandling=COPY

        Assemble=TRUE

    )

    ContainedProposals = ( GOST_ENCRYPT_AND_INTEGRITY:ESP )

    NoDeadConnectionHistory = TRUE

    IKERule = IKERule:VPN:1

)

 

IPsecAction IPsecAction:VPN:2:DMAP:1

(

    TunnelingParameters = TunnelEntry(

        DFHandling=COPY

        Assemble=TRUE

    )

    ContainedProposals = ( GOST_ENCRYPT_AND_INTEGRITY:ESP )

    ReverseRoute = TRUE

    NoDeadConnectionHistory = TRUE

    IKERule = IKERule:VPN:2:DMAP:1

)

 

FilterChain IPsecPolicy:VPN (

    Filters = Filter (

        ProtocolID = 17

        SourcePort = 500, 4500

        Action = PASS

        PacketType = LOCAL_UNICAST, LOCAL_MISDIRECTED

    ),

    Filter (

        SourceIP = 192.168.100.0/24

        DestinationIP = 192.168.1.0/24

        Action = PASS

        ExtendedAction = ipsec< sa = IPsecAction:VPN:1 >

        LogEventID = "IPsec:Protect:VPN:1:IPSEC_ACl_HUB1_AND_SPOKE1"

    ),

    Filter (

        Label = "VPN:2:DMAP:1:IPSEC_ACl_HUB1_AND_CLIENTS"

        SourceIP = 192.168.100.0/24

        DestinationIP = 192.168.255.0/24

        Action = PASS

        ExtendedAction = ipsec< sa = IPsecAction:VPN:2:DMAP:1 >

        LogEventID = "IPsec:Protect:VPN:2:DMAP:1:IPSEC_ACl_HUB1_AND_CLIENTS"

    )

)

 

NetworkInterface (

    LogicalName = "GigabitEthernet0/0"

    IPsecPolicy = IPsecPolicy:VPN

)

3.    Cisco-like конфигурация устройства Hub1 (конечная):

!

version 12.4

no service password-encryption

!

crypto ipsec df-bit copy

crypto isakmp identity dn

crypto isakmp fragmentation

crypto isakmp security-association lifetime delta 50

crypto isakmp initiator-sessions-max 100

crypto isakmp responder-sessions-max 100

crypto isakmp keepalive 3

crypto isakmp keepalive retry-count 5

username cscons privilege 15 secret 5 $6$RiWz4IVm$qMp6sbpYnTfSUxuaJPZ9UCq4yy8/xheIEbSmbTfMzmbQqepMD6R1b18vHTdFQt949xNXzpRXWA9dZ/gCK70z./

aaa new-model

!

!

hostname Hub1

enable secret 5 HGJcyG+CRmCjINGFkW48VQ==

!

!

!

!

crypto identity New_CA

 dn OU=RnD NEW

!

crypto isakmp policy 1

 encr gost

 hash gost

 authentication gost-sig

 group vko

!

crypto isakmp policy 2

 encr gost

 hash gost341112-256-tc26

 authentication gost-sig

 group vko2

!

ip local pool IKECFG_POOL 192.168.255.1 192.168.255.254

!

crypto ipsec transform-set GOST_ENCRYPT_AND_INTEGRITY esp-gost28147-4m-imit

!

ip access-list extended IPSEC_ACl_HUB1_AND_SPOKE1

 permit ip 192.168.100.0 0.0.0.255 192.168.1.0 0.0.0.255

!

ip access-list extended IPSEC_ACl_HUB1_AND_SPOKE2

 permit ip 192.168.100.0 0.0.0.255 192.168.2.0 0.0.0.255

!

ip access-list extended IPSEC_ACl_HUB1_AND_CLIENTS

 permit ip 192.168.100.0 0.0.0.255 192.168.255.0 0.0.0.255

!

!

crypto dynamic-map DMAP 1

 match address IPSEC_ACl_HUB1_AND_CLIENTS

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set pool IKECFG_POOL

 set identity New_CA

 set dead-connection history off

 set certificate local credential C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=Hub1

crypto dynamic-map DMAP 2

 match address IPSEC_ACl_HUB1_AND_CLIENTS

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set pool IKECFG_POOL

 set dead-connection history off

 set certificate local credential C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Hub1

!

crypto map VPN 1 ipsec-isakmp

 match address IPSEC_ACl_HUB1_AND_SPOKE1

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set peer 172.16.1.2

 set dead-connection history off

 set certificate local credential C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Hub1

crypto map VPN 2 ipsec-isakmp

 match address IPSEC_ACl_HUB1_AND_SPOKE2

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set identity New_CA

 set peer 172.16.2.2

 set dead-connection history off

 set certificate local credential C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=Hub1

crypto map VPN 3 ipsec-isakmp dynamic DMAP

!

interface GigabitEthernet0/0

 ip address 172.16.100.2 255.255.255.0

 crypto map VPN

!

interface GigabitEthernet0/1

 ip address 192.168.100.1 255.255.255.0

!

!

ip route 0.0.0.0 0.0.0.0 172.16.100.1

!

crypto pki trustpoint s-terra_technological_trustpoint

 revocation-check crl

 crl download group ROOTCA http://172.16.101.15/certcrl_2001.crl

 crl download group ROOTCA_NEW http://172.16.101.15/certcrl_2012.crl

 crl download time 60

crypto pki certificate chain s-terra_technological_trustpoint

certificate 7D46C894EBF14B87400AD17517126414

...

33041E9E7F3DC0FC49DA82445413855B858AD34A0A17B5A8DC7E01174779F49C

413AABE4711D6CA28F61574266A6

 

quit

certificate 310233CA9C0A329044279FBEDDD71082

...

0D1E775037AEF19A6FB932000C73A7932E455A5863EDF6FF8E13F6DFEAE8D574

9099EC60A29AEDAABE18EE7AB8D4014055702B1C86762517924A27152C

 

quit

!

end

4.    LSP конфигурация устройства Hub1 (конечная):

#   This is automatically generated LSP

#

#   Conversion Date/Time:   Fri May 29 19:40:48 2020

 

GlobalParameters(

    Title                       = "This LSP was automatically generated by CSP Converter at Fri May 29 19:40:48 2020 (user: cscons)"

    Version                     = LSP_4_3

    CRLHandlingMode             = ENABLE

    PreserveIPsecSA             = FALSE

)

 

RoutingTable(

    Routes =

        Route(

            Destination = 0.0.0.0/0

            Gateway = 172.16.100.1

        )

)

 

FirewallParameters(

    TCPSynSentTimeout = 30

    TCPFinTimeout = 5

    TCPClosedTimeout = 30

    TCPSynRcvdTimeout = 30

    TCPEstablishedTimeout = 3600

    TCPHalfOpenLow = 400

    TCPHalfOpenMax = 500

    TCPSessionRateLow = 400

    TCPSessionRateMax = 500

)

 

IKETransform crypto:isakmp:policy:1

(

    CipherAlg   = "G2814789CPRO1-K256-CBC-65534"

    HashAlg     = "GR341194CPRO1-65534"

    GroupID     = VKO_1B

    RestrictAuthenticationTo = GOST_SIGN

    LifetimeSeconds = 86400

)

 

IKETransform crypto:isakmp:policy:2

(

    CipherAlg   = "G2814789CPRO1-K256-CBC-65534"

    HashAlg     = "GR341112_256TC26-65128"

    GroupID     = VKO2_1B

    RestrictAuthenticationTo = GOST_SIGN

    LifetimeSeconds = 86400

)

 

ESPProposal GOST_ENCRYPT_AND_INTEGRITY:ESP

(

    Transform* = ESPTransform

    (

        CipherAlg*          = "G2814789CPRO2-K288-CNTMAC-253"

        LifetimeSeconds     = 3600

        LifetimeKilobytes   = 4608000

    )

)

 

IdentityEntry New_CA(

    DistinguishedName* = CertDescription(

        Subject = TEMPLATE, "OU=RnD NEW"

    )

)

 

AddressPool IKECFG_POOL

(

    IPAddresses = 192.168.255.1..192.168.255.254

)

 

IKEParameters(

    FragmentSize = 576

    SALifetimeDelta = 50

    InitiatorSessionsMax = 100

    ResponderSessionsMax = 100

)

 

AuthMethodGOSTSign GOST:Sign

(

    LocalID        =  IdentityEntry( DistinguishedName* = USER_SPECIFIC_DATA )

    LocalCredential = CertDescription(

        Subject = TEMPLATE, "C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Hub1"

    )

    SendRequestMode    =  ALWAYS

    SendCertMode       =  ALWAYS

)

 

AuthMethodGOSTSign GOST:Sign$$1

(

    LocalID        =  IdentityEntry( DistinguishedName* = USER_SPECIFIC_DATA )

    LocalCredential = CertDescription(

        Subject = TEMPLATE, "C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=Hub1"

    )

    RemoteID       =  New_CA

    SendRequestMode    =  ALWAYS

    SendCertMode       =  ALWAYS

)

 

IKERule IKERule:VPN:1

(

    IKEPeerIPFilter = 172.16.1.2

    Transform = crypto:isakmp:policy:1, crypto:isakmp:policy:2

    AggrModeAuthMethod  = GOST:Sign

    MainModeAuthMethod  = GOST:Sign

    DPDIdleDuration     = 3

    DPDResponseDuration = 2

    DPDRetries          = 5

    Priority            = 10

)

 

IKERule IKERule:VPN:2

(

    IKEPeerIPFilter = 172.16.2.2

    Transform = crypto:isakmp:policy:1, crypto:isakmp:policy:2

    AggrModeAuthMethod  = GOST:Sign$$1

    MainModeAuthMethod  = GOST:Sign$$1

    DPDIdleDuration     = 3

    DPDResponseDuration = 2

    DPDRetries          = 5

    Priority            = 20

)

 

IKERule IKERule:VPN:3:DMAP:1

(

    Transform = crypto:isakmp:policy:1, crypto:isakmp:policy:2

    AggrModeAuthMethod  = GOST:Sign$$1

    MainModeAuthMethod  = GOST:Sign$$1

    IKECFGPool          = IKECFG_POOL

    DPDIdleDuration     = 3

    DPDResponseDuration = 2

    DPDRetries          = 5

    Priority            = 100

)

 

IKERule IKERule:VPN:3:DMAP:2

(

    Transform = crypto:isakmp:policy:1, crypto:isakmp:policy:2

    AggrModeAuthMethod  = GOST:Sign

    MainModeAuthMethod  = GOST:Sign

    IKECFGPool          = IKECFG_POOL

    DPDIdleDuration     = 3

    DPDResponseDuration = 2

    DPDRetries          = 5

    Priority            = 110

)

 

IPsecAction IPsecAction:VPN:1

(

    TunnelingParameters = TunnelEntry(

        PeerAddress = 172.16.1.2

        DFHandling=COPY

        Assemble=TRUE

    )

    ContainedProposals = ( GOST_ENCRYPT_AND_INTEGRITY:ESP )

    NoDeadConnectionHistory = TRUE

    IKERule = IKERule:VPN:1

)

 

IPsecAction IPsecAction:VPN:2

(

    TunnelingParameters = TunnelEntry(

        PeerAddress = 172.16.2.2

        DFHandling=COPY

        Assemble=TRUE

    )

    ContainedProposals = ( GOST_ENCRYPT_AND_INTEGRITY:ESP )

    NoDeadConnectionHistory = TRUE

    IKERule = IKERule:VPN:2

)

 

IPsecAction IPsecAction:VPN:3:DMAP:1

(

    TunnelingParameters = TunnelEntry(

        DFHandling=COPY

        Assemble=TRUE

    )

    ContainedProposals = ( GOST_ENCRYPT_AND_INTEGRITY:ESP )

    NoDeadConnectionHistory = TRUE

    IKERule = IKERule:VPN:3:DMAP:1

)

 

IPsecAction IPsecAction:VPN:3:DMAP:2

(

    TunnelingParameters = TunnelEntry(

        DFHandling=COPY

        Assemble=TRUE

    )

    ContainedProposals = ( GOST_ENCRYPT_AND_INTEGRITY:ESP )

    NoDeadConnectionHistory = TRUE

    IKERule = IKERule:VPN:3:DMAP:2

)

 

FilterChain IPsecPolicy:VPN (

    Filters = Filter (

        ProtocolID = 17

        SourcePort = 500, 4500

        Action = PASS

        PacketType = LOCAL_UNICAST, LOCAL_MISDIRECTED

    ),

    Filter (

        SourceIP = 192.168.100.0/24

        DestinationIP = 192.168.1.0/24

        Action = PASS

        ExtendedAction = ipsec< sa = IPsecAction:VPN:1 >

        LogEventID = "IPsec:Protect:VPN:1:IPSEC_ACl_HUB1_AND_SPOKE1"

    ),

    Filter (

        Label = "VPN:2:IPSEC_ACl_HUB1_AND_SPOKE2"

        SourceIP = 192.168.100.0/24

        DestinationIP = 192.168.2.0/24

        Action = PASS

        ExtendedAction = ipsec< sa = IPsecAction:VPN:2 >

        LogEventID = "IPsec:Protect:VPN:2:IPSEC_ACl_HUB1_AND_SPOKE2"

    ),

    Filter (

        Label = "VPN:3:DMAP:1:IPSEC_ACl_HUB1_AND_CLIENTS"

        SourceIP = 192.168.100.0/24

        DestinationIP = 192.168.255.0/24

        Action = PASS

        ExtendedAction = ipsec< sa = IPsecAction:VPN:3:DMAP:1, IPsecAction:VPN:3:DMAP:2 >

        LogEventID = "IPsec:Protect:VPN:3:DMAP:1:IPSEC_ACl_HUB1_AND_CLIENTS$VPN:3:DMAP:2:IPSEC_ACl_HUB1_AND_CLIENTS"

    )

)

 

NetworkInterface (

    LogicalName = "GigabitEthernet0/0"

    IPsecPolicy = IPsecPolicy:VPN

)

Конфигурации шлюза Spoke1

1.    Cisco-like конфигурация устройства Spoke1:

!

version 12.4

no service password-encryption

!

crypto ipsec df-bit copy

crypto isakmp identity dn

crypto isakmp fragmentation

crypto isakmp security-association lifetime delta 50

crypto isakmp initiator-sessions-max 100

crypto isakmp responder-sessions-max 100

crypto isakmp keepalive 3

crypto isakmp keepalive retry-count 5

username cscons privilege 15 secret 5 $6$RiWz4IVm$qMp6sbpYnTfSUxuaJPZ9UCq4yy8/xheIEbSmbTfMzmbQqepMD6R1b18vHTdFQt949xNXzpRXWA9dZ/gCK70z./

aaa new-model

!

!

hostname Spoke1

enable secret 5 HGJcyG+CRmCjINGFkW48VQ==

!

!

!

!

!

crypto isakmp policy 1

 encr gost

 hash gost

 authentication gost-sig

 group vko

!

crypto ipsec transform-set GOST_ENCRYPT_AND_INTEGRITY esp-gost28147-4m-imit

!

ip access-list extended IPSEC_ACl_HUB1_AND_SPOKE1

 permit ip 192.168.1.0 0.0.0.255 192.168.100.0 0.0.0.255

!

!

crypto map VPN 1 ipsec-isakmp

 match address IPSEC_ACl_HUB1_AND_SPOKE1

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set peer 172.16.100.2

 set dead-connection history off

!

interface GigabitEthernet0/0

 ip address 172.16.1.2 255.255.255.0

 crypto map VPN

!

interface GigabitEthernet0/1

 ip address 192.168.1.1 255.255.255.0

!

!

ip route 0.0.0.0 0.0.0.0 172.16.1.1

!

crypto pki trustpoint s-terra_technological_trustpoint

 revocation-check crl

 crl download group ROOTCA http://172.16.101.15/certcrl_2001.crl

 crl download time 60

crypto pki certificate chain s-terra_technological_trustpoint

certificate 7D46C894EBF14B87400AD17517126414

...

33041E9E7F3DC0FC49DA82445413855B858AD34A0A17B5A8DC7E01174779F49C

413AABE4711D6CA28F61574266A6

 

quit

!

end

2.    LSP конфигурация устройства Spoke1:

#   This is automatically generated LSP

#

#   Conversion Date/Time:   Fri May 29 15:30:03 2020

 

GlobalParameters(

    Title                       = "This LSP was automatically generated by CSP Converter at Fri May 29 15:30:03 2020 (user: cscons)"

    Version                     = LSP_4_3

    CRLHandlingMode             = ENABLE

    PreserveIPsecSA             = FALSE

)

 

RoutingTable(

    Routes =

        Route(

            Destination = 0.0.0.0/0

            Gateway = 172.16.1.1

        )

)

 

FirewallParameters(

    TCPSynSentTimeout = 30

    TCPFinTimeout = 5

    TCPClosedTimeout = 30

    TCPSynRcvdTimeout = 30

    TCPEstablishedTimeout = 3600

    TCPHalfOpenLow = 400

    TCPHalfOpenMax = 500

    TCPSessionRateLow = 400

    TCPSessionRateMax = 500

)

 

IKETransform crypto:isakmp:policy:1

(

    CipherAlg   = "G2814789CPRO1-K256-CBC-65534"

    HashAlg     = "GR341194CPRO1-65534"

    GroupID     = VKO_1B

    RestrictAuthenticationTo = GOST_SIGN

    LifetimeSeconds = 86400

)

 

ESPProposal GOST_ENCRYPT_AND_INTEGRITY:ESP

(

    Transform* = ESPTransform

    (

        CipherAlg*          = "G2814789CPRO2-K288-CNTMAC-253"

        LifetimeSeconds     = 3600

        LifetimeKilobytes   = 4608000

    )

)

 

IKEParameters(

    FragmentSize = 576

    SALifetimeDelta = 50

    InitiatorSessionsMax = 100

    ResponderSessionsMax = 100

)

 

AuthMethodGOSTSign GOST:Sign

(

    LocalID        =  IdentityEntry( DistinguishedName* = USER_SPECIFIC_DATA )

    SendRequestMode    =  ALWAYS

    SendCertMode       =  ALWAYS

)

 

IKERule IKERule:VPN:1

(

    IKEPeerIPFilter = 172.16.100.2

    Transform = crypto:isakmp:policy:1

    AggrModeAuthMethod  = GOST:Sign

    MainModeAuthMethod  = GOST:Sign

    DPDIdleDuration     = 3

    DPDResponseDuration = 2

    DPDRetries          = 5

    Priority            = 10

)

 

IPsecAction IPsecAction:VPN:1

(

    TunnelingParameters = TunnelEntry(

        PeerAddress = 172.16.100.2

        DFHandling=COPY

        Assemble=TRUE

    )

    ContainedProposals = ( GOST_ENCRYPT_AND_INTEGRITY:ESP )

    NoDeadConnectionHistory = TRUE

    IKERule = IKERule:VPN:1

)

 

FilterChain IPsecPolicy:VPN (

    Filters = Filter (

        ProtocolID = 17

        SourcePort = 500, 4500

        Action = PASS

        PacketType = LOCAL_UNICAST, LOCAL_MISDIRECTED

    ),

    Filter (

        SourceIP = 192.168.1.0/24

        DestinationIP = 192.168.100.0/24

        Action = PASS

        ExtendedAction = ipsec< sa = IPsecAction:VPN:1 >

        LogEventID = "IPsec:Protect:VPN:1:IPSEC_ACl_HUB1_AND_SPOKE1"

    )

)

 

NetworkInterface (

    LogicalName = "GigabitEthernet0/0"

    IPsecPolicy = IPsecPolicy:VPN

)

Конфигурации шлюза Spoke2

1.    Cisco-like конфигурация устройства Spoke2:

!

version 12.4

no service password-encryption

!

crypto ipsec df-bit copy

crypto isakmp identity dn

crypto isakmp fragmentation

crypto isakmp security-association lifetime delta 50

crypto isakmp initiator-sessions-max 100

crypto isakmp responder-sessions-max 100

crypto isakmp keepalive 3

crypto isakmp keepalive retry-count 5

username cscons privilege 15 secret 5 $6$RiWz4IVm$qMp6sbpYnTfSUxuaJPZ9UCq4yy8/xheIEbSmbTfMzmbQqepMD6R1b18vHTdFQt949xNXzpRXWA9dZ/gCK70z./

aaa new-model

!

!

hostname Spoke2

enable secret 5 HGJcyG+CRmCjINGFkW48VQ==

!

!

!

!

!

crypto isakmp policy 1

 encr gost

 hash gost341112-256-tc26

 authentication gost-sig

 group vko2

!

crypto ipsec transform-set GOST_ENCRYPT_AND_INTEGRITY esp-gost28147-4m-imit

!

ip access-list extended IPSEC_ACl_HUB1_AND_SPOKE2

 permit ip 192.168.2.0 0.0.0.255 192.168.100.0 0.0.0.255

!

!

crypto map VPN 1 ipsec-isakmp

 match address IPSEC_ACl_HUB1_AND_SPOKE2

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set peer 172.16.100.2

 set dead-connection history off

!

interface GigabitEthernet0/0

 ip address 172.16.2.2 255.255.255.0

 crypto map VPN

!

interface GigabitEthernet0/1

 ip address 192.168.2.1 255.255.255.0

!

!

ip route 0.0.0.0 0.0.0.0 172.16.2.1

!

crypto pki trustpoint s-terra_technological_trustpoint

 revocation-check crl

 crl download group ROOTCA http://172.16.101.15/certcrl_2012.crl

 crl download time 60

crypto pki certificate chain s-terra_technological_trustpoint

certificate 310233CA9C0A329044279FBEDDD71082

...

0D1E775037AEF19A6FB932000C73A7932E455A5863EDF6FF8E13F6DFEAE8D574

9099EC60A29AEDAABE18EE7AB8D4014055702B1C86762517924A27152C

 

quit

!

end

2.    LSP конфигурация устройства Spoke2:

#   This is automatically generated LSP

#

#   Conversion Date/Time:   Fri May 29 19:44:11 2020

 

GlobalParameters(

    Title                       = "This LSP was automatically generated by CSP Converter at Fri May 29 19:44:11 2020 (user: cscons)"

    Version                     = LSP_4_3

    CRLHandlingMode             = ENABLE

    PreserveIPsecSA             = FALSE

)

 

RoutingTable(

    Routes =

        Route(

            Destination = 0.0.0.0/0

            Gateway = 172.16.2.1

        )

)

 

FirewallParameters(

    TCPSynSentTimeout = 30

    TCPFinTimeout = 5

    TCPClosedTimeout = 30

    TCPSynRcvdTimeout = 30

    TCPEstablishedTimeout = 3600

    TCPHalfOpenLow = 400

    TCPHalfOpenMax = 500

    TCPSessionRateLow = 400

    TCPSessionRateMax = 500

)

 

IKETransform crypto:isakmp:policy:1

(

    CipherAlg   = "G2814789CPRO1-K256-CBC-65534"

    HashAlg     = "GR341112_256TC26-65128"

    GroupID     = VKO2_1B

    RestrictAuthenticationTo = GOST_SIGN

    LifetimeSeconds = 86400

)

 

ESPProposal GOST_ENCRYPT_AND_INTEGRITY:ESP

(

    Transform* = ESPTransform

    (

        CipherAlg*          = "G2814789CPRO2-K288-CNTMAC-253"

        LifetimeSeconds     = 3600

        LifetimeKilobytes   = 4608000

    )

)

 

IKEParameters(

    FragmentSize = 576

    SALifetimeDelta = 50

    InitiatorSessionsMax = 100

    ResponderSessionsMax = 100

)

 

AuthMethodGOSTSign GOST:Sign

(

    LocalID        =  IdentityEntry( DistinguishedName* = USER_SPECIFIC_DATA )

    SendRequestMode    =  ALWAYS

    SendCertMode       =  ALWAYS

)

 

IKERule IKERule:VPN:1

(

    IKEPeerIPFilter = 172.16.100.2

    Transform = crypto:isakmp:policy:1

    AggrModeAuthMethod  = GOST:Sign

    MainModeAuthMethod  = GOST:Sign

    DPDIdleDuration     = 3

    DPDResponseDuration = 2

    DPDRetries          = 5

    Priority            = 10

)

 

IPsecAction IPsecAction:VPN:1

(

    TunnelingParameters = TunnelEntry(

        PeerAddress = 172.16.100.2

        DFHandling=COPY

        Assemble=TRUE

    )

    ContainedProposals = ( GOST_ENCRYPT_AND_INTEGRITY:ESP )

    NoDeadConnectionHistory = TRUE

    IKERule = IKERule:VPN:1

)

 

FilterChain IPsecPolicy:VPN (

    Filters = Filter (

        ProtocolID = 17

        SourcePort = 500, 4500

        Action = PASS

        PacketType = LOCAL_UNICAST, LOCAL_MISDIRECTED

    ),

    Filter (

        SourceIP = 192.168.2.0/24

        DestinationIP = 192.168.100.0/24

        Action = PASS

        ExtendedAction = ipsec< sa = IPsecAction:VPN:1 >

        LogEventID = "IPsec:Protect:VPN:1:IPSEC_ACl_HUB1_AND_SPOKE2"

    )

)

 

NetworkInterface (

    LogicalName = "GigabitEthernet0/0"

    IPsecPolicy = IPsecPolicy:VPN

)

Конфигурации Client1

1.    Конфигурация LSP Client1:

GlobalParameters (

        Title = "This LSP was automatically generated by S-Terra Client AdminTool (st) at 2020.05.29 17:28:22"

        Version = LSP_4_3

        CRLHandlingMode = BEST_EFFORT

)

LDAPSettings (

        ResponseTimeout = 200

        HoldConnectTimeout = 60

        DropConnectTimeout = 5

)

IdentityEntry auth_identity_01(

        DistinguishedName *= CertDescription(

                Subject *= COMPLETE,"C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Client1"

                )

)

CertDescription local_cert_dsc_01(

        Subject *= COMPLETE,"C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=Client1"

        Issuer *= COMPLETE,"C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD,CN=S-Terra CSP Test Root CA 2001"

        SerialNumber = "1D00000005341D56526994C100000000000005"

        FingerprintMD5 = "98B3E7685FF94420DEE4E23BC3AF5F72"

)

CertDescription partner_cert_dsc_01(

)

AuthMethodGOSTSign auth_method_01(

        LocalID = auth_identity_01

        LocalCredential = local_cert_dsc_01

        RemoteCredential = partner_cert_dsc_01

        SendRequestMode = AUTO

        SendCertMode = AUTO

)

IKEParameters (

        DefaultPort = 500

        SendRetries = 5

        RetryTimeBase = 1

        RetryTimeMax = 30

        SessionTimeMax = 60

        InitiatorSessionsMax = 30

        ResponderSessionsMax = 20

        BlacklogSessionsMax = 16

        BlacklogSessionsMin = 0

        BlacklogSilentSessions = 4

        BlacklogRelaxTime = 120

        IKECFGPreferDefaultAddress = FALSE

)

IKETransform ike_trf_01(

        LifetimeSeconds = 28800

        CipherAlg  *= "G2814789CPRO1-K256-CBC-65534"

        HashAlg *= "GR341194CPRO1-65534"

        GroupID *= VKO_1B

)

IKETransform ike_trf_02(

        LifetimeSeconds = 28800

        CipherAlg  *= "G2814789CPRO1-K256-CBC-65534"

        HashAlg *= "GR341112_256TC26-65128"

        GroupID *= VKO2_1B

)

IKETransform ike_trf_03(

        LifetimeSeconds = 28800

        CipherAlg  *= "GR341215K-K256-CFB-65528"

        HashAlg *= "GR341112_256TC26-65128"

        GroupID *= VKO2_1B

)

IKETransform ike_trf_04(

        LifetimeSeconds = 28800

        CipherAlg  *= "G2814789CPRO1-K256-CBC-65534"

        HashAlg *= "GR341194CPRO1-65534"

        GroupID *= MODP_1536

)

ESPTransform esp_trf_01(

        CipherAlg *= "G2814789CPRO2-K288-CNTMAC-253"

        LifetimeSeconds = 3600

        LifetimeKilobytes = 4608000

)

ESPProposal esp_proposal_01(

        Transform *=esp_trf_01

)

ESPTransform esp_trf_02(

        CipherAlg *= "GR341215K-K352-MGM-251"

        LifetimeSeconds = 3600

        LifetimeKilobytes = 4608000

)

ESPProposal esp_proposal_02(

        Transform *=esp_trf_02

)

ESPTransform esp_trf_03(

        CipherAlg *= "G2814789CPRO1-K256-CBC-254"

        IntegrityAlg *= "GR341194CPRO1-H96-HMAC-65534"

        LifetimeSeconds = 3600

        LifetimeKilobytes = 4608000

)

ESPProposal esp_proposal_03(

        Transform *=esp_trf_03

)

IKERule ike_rule_with_ikecfg_01(

        DoNotUseDPD = FALSE

        DPDIdleDuration = 60

        DPDResponseDuration = 5

        DPDRetries = 3

        MainModeAuthMethod *= auth_method_01

        Transform *= ike_trf_01,ike_trf_02,ike_trf_03,ike_trf_04

        IKECFGRequestAddress = TRUE

)

IPsecAction ipsec_action_01(

        PersistentConnection = TRUE

        TunnelingParameters *=

                TunnelEntry(

                        PeerAddress = 172.16.100.2

                        Assemble = TRUE

                        ReRoute = FALSE

                        TCPEncapsulation = FALSE

                )

        ContainedProposals *= (esp_proposal_01),(esp_proposal_02),(esp_proposal_03)

        IKERule = ike_rule_with_ikecfg_01

)

FilterChain filter_chain_input(

        Filters *= Filter(

                ProtocolID *= 17

                DestinationPort *= 500

                Action = PASS

                LogEventID = "pass_action_02_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                ProtocolID *= 17

                DestinationPort *= 4500

                Action = PASS

                LogEventID = "pass_action_02_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                SourceIP *= 172.16.100.2

                ProtocolID *= 50

                Action = PASS

                LogEventID = "pass_action_03_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                SourceIP *= 172.16.100.2

                ProtocolID *= 51

                Action = PASS

                LogEventID = "pass_action_03_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                Action = PASS

                LogEventID = "pass_action_04"

        )

)

FilterChain filter_chain_output(

        Filters *= Filter(

                ProtocolID *= 17

                SourcePort *= 500

                Action = PASS

                LogEventID = "pass_action_05_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                ProtocolID *= 17

                SourcePort *= 4500

                Action = PASS

                LogEventID = "pass_action_05_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                DestinationIP *= 172.16.100.2

                ProtocolID *= 50

                Action = PASS

                LogEventID = "pass_action_06_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                DestinationIP *= 172.16.100.2

                ProtocolID *= 51

                Action = PASS

                LogEventID = "pass_action_06_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                Action = PASS

                LogEventID = "pass_action_07"

        )

)

FilterChain filter_chain_classification_input(

        Filters *= Filter(

                Action = PASS

                LogEventID = "pass_action_08"

        )

)

FilterChain filter_chain_classification_output(

        Filters *= Filter(

                Action = PASS

                LogEventID = "pass_action_09"

        )

)

FilterChain filter_chain_ipsec(

        Filters *= Filter(

                ProtocolID *= 17

                SourcePort *= 500

                Action = PASS

                LogEventID = "pass_action_10_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                ProtocolID *= 17

                SourcePort *= 4500

                Action = PASS

                LogEventID = "pass_action_10_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                DestinationIP *= 172.16.100.2

                ProtocolID *= 50

                Action = PASS

                LogEventID = "pass_action_11_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                DestinationIP *= 172.16.100.2

                ProtocolID *= 51

                Action = PASS

                LogEventID = "pass_action_11_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                DestinationIP *= 192.168.100.0/24

                Action = PASS

                ExtendedAction *= ipsec<sa=ipsec_action_01>

                LogEventID = "ipsec_action_01"

        ),Filter(

                Action = PASS

                LogEventID = "pass_action_12"

        )

)

NetworkInterface(

        InputFilter = filter_chain_input

        OutputFilter = filter_chain_output

        InputClassification = filter_chain_classification_input

        OutputClassification = filter_chain_classification_output

        IPsecPolicy = filter_chain_ipsec

)

Конфигурации Client2

1.    Конфигурация LSP Client2:

GlobalParameters (

        Title = "This LSP was automatically generated by S-Terra Client AdminTool (st) at 2020.05.29 18:13:29"

        Version = LSP_4_3

        CRLHandlingMode = BEST_EFFORT

)

LDAPSettings (

        ResponseTimeout = 200

        HoldConnectTimeout = 60

        DropConnectTimeout = 5

)

IdentityEntry auth_identity_01(

        DistinguishedName *= CertDescription(

                Subject *= COMPLETE,"C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=Client2"

                )

)

CertDescription local_cert_dsc_01(

        Subject *= COMPLETE,"C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=Client2"

        Issuer *= COMPLETE,"C=RU,L=Zelenograd,O=S-Terra CSP,OU=RnD NEW,CN=S-Terra CSP Test Root CA 2012"

        SerialNumber = "3F0000000270B14CF92599F920000000000002"

        FingerprintMD5 = "16FAF5C829166AA59CEA1AAD120AF2CA"

)

CertDescription partner_cert_dsc_01(

)

AuthMethodGOSTSign auth_method_01(

        LocalID = auth_identity_01

        LocalCredential = local_cert_dsc_01

        RemoteCredential = partner_cert_dsc_01

        SendRequestMode = AUTO

        SendCertMode = AUTO

)

IKEParameters (

        DefaultPort = 500

        SendRetries = 5

        RetryTimeBase = 1

        RetryTimeMax = 30

        SessionTimeMax = 60

        InitiatorSessionsMax = 30

        ResponderSessionsMax = 20

        BlacklogSessionsMax = 16

        BlacklogSessionsMin = 0

        BlacklogSilentSessions = 4

        BlacklogRelaxTime = 120

        IKECFGPreferDefaultAddress = FALSE

)

IKETransform ike_trf_01(

        LifetimeSeconds = 28800

        CipherAlg  *= "G2814789CPRO1-K256-CBC-65534"

        HashAlg *= "GR341112_256TC26-65128"

        GroupID *= VKO2_1B

)

IKETransform ike_trf_02(

        LifetimeSeconds = 28800

        CipherAlg  *= "G2814789CPRO1-K256-CBC-65534"

        HashAlg *= "GR341194CPRO1-65534"

        GroupID *= VKO_1B

)

IKETransform ike_trf_03(

        LifetimeSeconds = 28800

        CipherAlg  *= "GR341215K-K256-CFB-65528"

        HashAlg *= "GR341112_256TC26-65128"

        GroupID *= VKO2_1B

)

IKETransform ike_trf_04(

        LifetimeSeconds = 28800

        CipherAlg  *= "G2814789CPRO1-K256-CBC-65534"

        HashAlg *= "GR341194CPRO1-65534"

        GroupID *= MODP_1536

)

ESPTransform esp_trf_01(

        CipherAlg *= "G2814789CPRO2-K288-CNTMAC-253"

        LifetimeSeconds = 3600

        LifetimeKilobytes = 4608000

)

ESPProposal esp_proposal_01(

        Transform *=esp_trf_01

)

ESPTransform esp_trf_02(

        CipherAlg *= "GR341215K-K352-MGM-251"

        LifetimeSeconds = 3600

        LifetimeKilobytes = 4608000

)

ESPProposal esp_proposal_02(

        Transform *=esp_trf_02

)

ESPTransform esp_trf_03(

        CipherAlg *= "G2814789CPRO1-K256-CBC-254"

        IntegrityAlg *= "GR341194CPRO1-H96-HMAC-65534"

        LifetimeSeconds = 3600

        LifetimeKilobytes = 4608000

)

ESPProposal esp_proposal_03(

        Transform *=esp_trf_03

)

IKERule ike_rule_with_ikecfg_01(

        DoNotUseDPD = FALSE

        DPDIdleDuration = 60

        DPDResponseDuration = 5

        DPDRetries = 3

        MainModeAuthMethod *= auth_method_01

        Transform *= ike_trf_01,ike_trf_02,ike_trf_03,ike_trf_04

        IKECFGRequestAddress = TRUE

)

IPsecAction ipsec_action_01(

        PersistentConnection = TRUE

        TunnelingParameters *=

                TunnelEntry(

                        PeerAddress = 172.16.100.2

                        Assemble = TRUE

                        ReRoute = FALSE

                        TCPEncapsulation = FALSE

                )

        ContainedProposals *= (esp_proposal_01),(esp_proposal_02),(esp_proposal_03)

        IKERule = ike_rule_with_ikecfg_01

)

FilterChain filter_chain_input(

        Filters *= Filter(

                ProtocolID *= 17

                DestinationPort *= 500

                Action = PASS

                LogEventID = "pass_action_02_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                ProtocolID *= 17

                DestinationPort *= 4500

                Action = PASS

                LogEventID = "pass_action_02_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                SourceIP *= 172.16.100.2

                ProtocolID *= 50

                Action = PASS

                LogEventID = "pass_action_03_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                SourceIP *= 172.16.100.2

                ProtocolID *= 51

                Action = PASS

                LogEventID = "pass_action_03_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                Action = PASS

                LogEventID = "pass_action_04"

        )

)

FilterChain filter_chain_output(

        Filters *= Filter(

                ProtocolID *= 17

                SourcePort *= 500

                Action = PASS

                LogEventID = "pass_action_05_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                ProtocolID *= 17

                SourcePort *= 4500

                Action = PASS

                LogEventID = "pass_action_05_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                DestinationIP *= 172.16.100.2

                ProtocolID *= 50

                Action = PASS

                LogEventID = "pass_action_06_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                DestinationIP *= 172.16.100.2

                ProtocolID *= 51

                Action = PASS

                LogEventID = "pass_action_06_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                Action = PASS

                LogEventID = "pass_action_07"

        )

)

FilterChain filter_chain_classification_input(

        Filters *= Filter(

                Action = PASS

                LogEventID = "pass_action_08"

        )

)

FilterChain filter_chain_classification_output(

        Filters *= Filter(

                Action = PASS

                LogEventID = "pass_action_09"

        )

)

FilterChain filter_chain_ipsec(

        Filters *= Filter(

                ProtocolID *= 17

                SourcePort *= 500

                Action = PASS

                LogEventID = "pass_action_10_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                ProtocolID *= 17

                SourcePort *= 4500

                Action = PASS

                LogEventID = "pass_action_10_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                DestinationIP *= 172.16.100.2

                ProtocolID *= 50

                Action = PASS

                LogEventID = "pass_action_11_01"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                DestinationIP *= 172.16.100.2

                ProtocolID *= 51

                Action = PASS

                LogEventID = "pass_action_11_02"

                PacketType = LOCAL_UNICAST,LOCAL_MISDIRECTED

        ),Filter(

                DestinationIP *= 192.168.100.0/24

                Action = PASS

                ExtendedAction *= ipsec<sa=ipsec_action_01>

                LogEventID = "ipsec_action_01"

        ),Filter(

                Action = PASS

                LogEventID = "pass_action_12"

        )

)

NetworkInterface(

        InputFilter = filter_chain_input

        OutputFilter = filter_chain_output

        InputClassification = filter_chain_classification_input

        OutputClassification = filter_chain_classification_output

        IPsecPolicy = filter_chain_ipsec

)