Звезда с перешифрованием в центре

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

Настоящий документ содержит описание способа совместного использования Продуктов компании ООО «С-Терра СиЭсПи» и Продуктов третьих производителей.

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

Решения, разработанные на базе данного сценария, могут применяться в действующих сетях/системах только после тестовой и/или опытной эксплуатации.

Введение

Данный сценарий описывает настройку безопасного взаимодействия между защищаемыми подсетями центрального офиса и филиалов. Построение защищенных туннелях происходят между филиалами и центральным офисом. Обеспечение безопасного взаимодействия достигается путем шифрования и туннелирования трафика с применением отечественных отраслевых стандартов ГОСТ и протокола IPsec. Безопасное взаимодействие между защищаемые подсетями филиалов осуществляется через криптошлюз центрального офиса.

Все остальные соединения разрешены, но защищаться при помощи IPsec не будут.

В рамках данного сценария для аутентификации партнеры будут использовать сертификаты. В качестве криптопровайдера будет использована криптографическая библиотека, разработанная компанией «С-Терра СиЭсПи». Шлюзы безопасности (или криптошлюзы) - «С-Терра Шлюз» версии 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/x86-64»).

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

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

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

1.2.3      Для тестовых целей можно использовать тестовый УЦ от «КриптоПро» (веб-интерфейс: https://www.cryptopro.ru/certsrv/certrqxt.asp).

Категорически запрещено использование тестового УЦ от «КриптоПро» в производственной (боевой) эксплуатации, так как в данном случае отсутствует возможность контролировать процесс выпуска сертификатов и, соответственно, процедуру аутентификации.

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

1.3.1      Функционирующий HTTP сервер для распространения списка отозванных сертификатов (СОС). Устройство с именем CRL_distribution_point на схеме. Если по объективным причинам использование СОС не представляется возможным или не требуется, то проверку СОС можно отключить в CLI.

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

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

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


 

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

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

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

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

1.1.      В центральном офисе размещаются: центр выпуска сертификатов (Certification_authority), криптошлюз С-Терра Шлюз (Hub1), устройство, осуществляющее инспекцию трафика, (Traffic_Inspection) и персональный компьютер (host_behind_hub1).

1.2.      В филиалах размещаются: криптошлюзы С-Терра Шлюз (Spoke1 и Spoke 2) и персональные компьютеры (host_behind_spoke1 и host_behind_spoke2).

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

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

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

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

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

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

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

Весь IP трафик между подсетями центрального офиса (192.168.100.0/24) и филиалов (192.168.1.0/24 и 192.168.2.0/24)) защищается с использованием алгоритмов ГОСТ и протокола IPsec в туннельном режиме.

Инициировать защищенное соединение между криптошлюзами Hub1 и Spoke1 может трафик из подсети филиала (192.168.1.0/24) в подсеть центра (192.168.100.0/24) и наоборот из центра в филиал, так и трафик между подсетями филиалов (между 192.168.1.0/24 и 192.168.2.0/24).

Инициировать защищенное соединение между криптошлюзами Hub1 и Spoke2 может трафик из подсети филиала (192.168.2.0/24) в подсеть центра (192.168.100.0/24) и наоборот из центра в филиал, так и трафик между подсетями филиалов (между 192.168.1.0/24 и 192.168.2.0/24).

 

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

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

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

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

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

3.2.      Параметры протокола ESP:

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

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

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

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

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

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

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

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

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

2.    Задайте маршрут по умолчанию через 192.168.100.1.

3.    Разрешите прием и отправку ICMP пакетов.

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

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

2.    Задайте маршрут по умолчанию через 192.168.1.1.

3.    Разрешите прием и отправку ICMP пакетов.

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

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

2.    Задайте маршрут по умолчанию через 192.168.2.1.

3.    Разрешите прием и отправку ICMP пакетов.

Настройка криптошлюза Hub1

Настройка будет происходить локально при помощи консольного подключения. Основная настройка устройства была произведена в соответствии со сценарием «Построение VPN туннеля между двумя подсетями, защищаемыми шлюзами безопасности «С-Терра Шлюз»». Здесь будут описаны только изменения в настройках шифрования

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

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

1.    Параметры IPsec:

1.1.      Создайте список доступа (ACL) для трафика, который нужно защищать между центральным офисом и первым филиалом:

Hub1(config)#ip access-list extended IPSEC_ACl_HUB1_AND_SPOKE1

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

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

Hub1(config-ext-nacl)#exit

Hub1(config)#

1.2.      Создайте список доступа (ACL) для трафика, который нужно защищать между центральным офисом и вторым филиалом:

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)#permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

Hub1(config-ext-nacl)#exit

Hub1(config)#

 

1.3.      Создайте крипто-карту для первого филиала(имя VPN, раздел 1):

Hub1(config)#crypto map VPN 1 ipsec-isakmp

1.3.1      Укажите список доступа для защищаемого трафика:

Hub1(config-crypto-map)# match address IPSEC_ACl_HUB1_AND_SPOKE1

1.3.2      Укажите при помощи какого набора алгоритмов нужно защищать трафик:

Hub1(config-crypto-map)# set transform-set GOST_ENCRYPT_AND_INTEGRITY

1.3.3      Укажите IP адрес партнера по IPsec, в данном сценарии это внешний IP адрес устройства Spoke1:

Hub1(config-crypto-map)# set peer 172.16.1.2

1.3.4      Обязательно отключите историю удаленных туннелей (если не отключить, то могут быть проблемы с построением IPsec туннелей с устройствами, которые находятся за NAT):

Hub1(config-crypto-map)# set dead-connection history off

Hub1(config-crypto-map)#exit

1.4.      Добавьте крипто-карту для второго филиала (имя VPN, раздел 2):

Hub1(config)#crypto map VPN 2 ipsec-isakmp

1.4.1      Укажите список доступа для защищаемого трафика:

Hub1(config-crypto-map)# match address IPSEC_ACl_HUB1_AND_SPOKE2

1.4.2      Укажите при помощи какого набора алгоритмов нужно защищать трафик:

Hub1(config-crypto-map)# set transform-set GOST_ENCRYPT_AND_INTEGRITY

1.4.3      Укажите IP адрес партнера по IPsec, в данном сценарии это внешний IP адрес устройства Spoke1:

Hub1(config-crypto-map)# set peer 172.16.2.2

1.4.4      Обязательно отключите историю удаленных туннелей (если не отключить, то могут быть проблемы с построением IPsec туннелей с устройствами, которые находятся за NAT):

Hub1(config-crypto-map)# set dead-connection history off

Hub1(config-crypto-map)#exit

 

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

·         текст консоли cisco-like;

·         текст LSP;

Настройка криптошлюза Spoke1

Настройка криптошлюза Spoke1 происходит аналогично настройке Hub1 со списком доступа (ACL) для трафика, который нужно защищать между центральным офисом и первым филиалом или между филиалами.

Spoke1(config)#ip access-list extended IPSEC_ACl_HUB1_AND_SPOKE1

Spoke1(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 192.168.100.0 0.0.0.255

Spoke1(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

Spoke1(config-ext-nacl)#exit

Spoke1(config)#

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

·         текст консоли cisco-like;

·         текст LSP.

Настройка криптошлюза Spoke2

Настройка криптошлюза Spoke2 происходит аналогично настройке Hub1 со списком доступа (ACL) для трафика, который нужно защищать между центральным офисом и первым филиалом или между филиалами.

Spoke2(config)#ip access-list extended IPSEC_ACl_HUB1_AND_SPOKE2

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

Spoke2(config-ext-nacl)#permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255

Spoke2(config-ext-nacl)#exit

Spoke2(config)#

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

·         текст консоли cisco-like;

·         текст LSP.


 

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

Проверку работоспособности нужно выполнять после завершения настройки всех устройств стенда.

Проверка IP связности

1.    Проверьте, что с криптошлюзов Hub1, Spoke1 и Spoke2 по ICMP доступен шлюз по умолчанию (Router1). Для этого выполните команду ping из cisco-like консоли криптошлюзов.

Hub1#ping 172.16.100.1

PING 172.16.100.1 (172.16.100.1) 100(128) bytes of data.

108 bytes from 172.16.100.1: icmp_seq=1 ttl=64 time=0.384 ms

108 bytes from 172.16.100.1: icmp_seq=2 ttl=64 time=0.409 ms

108 bytes from 172.16.100.1: icmp_seq=3 ttl=64 time=0.365 ms

108 bytes from 172.16.100.1: icmp_seq=4 ttl=64 time=0.389 ms

108 bytes from 172.16.100.1: icmp_seq=5 ttl=64 time=0.393 ms

 

--- 172.16.100.1 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4080ms

rtt min/avg/max/mdev = 0.365/0.388/0.409/0.014 ms

Spoke1#ping 172.16.1.1

PING 172.16.1.1 (172.16.1.1) 100(128) bytes of data.

108 bytes from 172.16.1.1: icmp_seq=1 ttl=64 time=0.286 ms

108 bytes from 172.16.1.1: icmp_seq=2 ttl=64 time=0.231 ms

108 bytes from 172.16.1.1: icmp_seq=3 ttl=64 time=0.435 ms

108 bytes from 172.16.1.1: icmp_seq=4 ttl=64 time=0.454 ms

108 bytes from 172.16.1.1: icmp_seq=5 ttl=64 time=0.432 ms

 

--- 172.16.1.1 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4067ms

rtt min/avg/max/mdev = 0.231/0.367/0.454/0.093 ms

Spoke2#ping 172.16.2.1

PING 172.16.2.1 (172.16.2.1) 100(128) bytes of data.

108 bytes from 172.16.2.1: icmp_seq=1 ttl=64 time=0.299 ms

108 bytes from 172.16.2.1: icmp_seq=2 ttl=64 time=1.06 ms

108 bytes from 172.16.2.1: icmp_seq=3 ttl=64 time=0.313 ms

108 bytes from 172.16.2.1: icmp_seq=4 ttl=64 time=0.455 ms

108 bytes from 172.16.2.1: icmp_seq=5 ttl=64 time=0.261 ms

 

--- 172.16.2.1 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4051ms

rtt min/avg/max/mdev = 0.261/0.479/1.067/0.301 ms

Видно, что устройство Router1 доступно по ICMP как с Hub1, так и со Spoke1 и Spoke2.

2.    Проверьте, что с защищаемых устройств Host_behind_spoke1, Host_behind_spoke2 и Host_behind_hub1 доступен по ICMP соответствующий криптошлюз, который является шлюзом по умолчанию. Для этого выполните команду ping из linux bash консоли защищаемых устройств.

root@Host_b_hub1:~# ping 192.168.100.1 -c 5

PING 192.168.100.1 (192.168.100.1) 56(84) bytes of data.

64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.262 ms

64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.299 ms

64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.460 ms

64 bytes from 192.168.100.1: icmp_seq=4 ttl=64 time=0.287 ms

64 bytes from 192.168.100.1: icmp_seq=5 ttl=64 time=0.274 ms

 

--- 192.168.100.1 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 81ms

rtt min/avg/max/mdev = 0.262/0.316/0.460/0.074 ms

root@Host_b_spoke1:~# ping 192.168.1.1 -c 5

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.302 ms

64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.257 ms

64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.305 ms

64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.354 ms

64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=0.335 ms

 

--- 192.168.1.1 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 59ms

rtt min/avg/max/mdev = 0.257/0.310/0.354/0.038 ms

root@Host_b_spoke2:~# ping 192.168.2.1 -c 5

PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.

64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=0.292 ms

64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.250 ms

64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=0.391 ms

64 bytes from 192.168.2.1: icmp_seq=4 ttl=64 time=0.308 ms

64 bytes from 192.168.2.1: icmp_seq=5 ttl=64 time=0.363 ms

 

--- 192.168.2.1 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 77ms

rtt min/avg/max/mdev = 0.250/0.320/0.391/0.055 ms

 

Видно, что с защищаемых устройств Host_behind_spoke1 и Host_behind_hub1 соответствующие криптошлюзы доступны по ICMP.

3.    Проверьте, что с криптошлюза Hub1 доступен по ICMP криптошлюз Spoke1 и криптошлюз Spoke2 (по внешним интерфейсам). Для этого выполните команду ping из cisco-like консоли криптошлюзов.

Hub1#ping 172.16.1.2

PING 172.16.1.2 (172.16.1.2) 100(128) bytes of data.

108 bytes from 172.16.1.2: icmp_seq=1 ttl=63 time=0.701 ms

108 bytes from 172.16.1.2: icmp_seq=2 ttl=63 time=0.806 ms

108 bytes from 172.16.1.2: icmp_seq=3 ttl=63 time=0.728 ms

108 bytes from 172.16.1.2: icmp_seq=4 ttl=63 time=0.688 ms

108 bytes from 172.16.1.2: icmp_seq=5 ttl=63 time=0.704 ms

 

--- 172.16.1.2 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4020ms

rtt min/avg/max/mdev = 0.688/0.725/0.806/0.048 ms

Hub1#ping 172.16.2.2

PING 172.16.2.2 (172.16.2.2) 100(128) bytes of data.

108 bytes from 172.16.2.2: icmp_seq=1 ttl=63 time=0.817 ms

108 bytes from 172.16.2.2: icmp_seq=2 ttl=63 time=0.859 ms

108 bytes from 172.16.2.2: icmp_seq=3 ttl=63 time=0.850 ms

108 bytes from 172.16.2.2: icmp_seq=4 ttl=63 time=1.64 ms

108 bytes from 172.16.2.2: icmp_seq=5 ttl=63 time=0.730 ms

 

--- 172.16.2.2 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4031ms

rtt min/avg/max/mdev = 0.730/0.980/1.648/0.339 ms

Видно, что с криптошлюза Hub1 доступен по ICMP криптошлюзы Spoke1 и Spoke2.

Проверка PKI

1.    Проверьте, что на криптошлюзах Hub1, Spoke1 и Spoke2 СОС импортирован в базу Продукта. Для этого выполните команду run cert_mgr show из cisco-like консоли криптошлюзов.

Hub1#run cert_mgr show

Found 2 certificates. Found 1 CRL.

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

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

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

Spoke1#run cert_mgr show

Found 2 certificates. Found 1 CRL.

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

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

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

Spoke2#run cert_mgr show

Found 2 certificates. Found 1 CRL.

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

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

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

Видно, что на криптошлюзах Hub1, Spoke1 и Spoke2 СОС импортирован в базу Продукта. Если этого не произошло, то проверьте файл журнала (команда run grep getcrls_daemon /var/log/cspvpngate.log) и, при необходимости, перезапустите сервис автоматической загрузки СОС (команда run systemctl restart getcrls.service).

2.    Проверьте, что на криптошлюзах Hub1 и Spoke1 статус всех сертификатов Active. Для этого выполните команду run cert_mgr check из cisco-like консоли криптошлюзов.

Hub1#run cert_mgr check

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

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

Spoke1#run cert_mgr check

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

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

Spoke2#run cert_mgr check

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

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

Видно, что на криптошлюзах Hub1 и Spoke1 статус всех сертификатов Active. Если статус Inactive, то проверьте загружен ли СОС в базу Продукта и правильность установки даты и времени.

Проверка построения защищенного соединения между подсетями Hub1 и Spoke1

1.    Инициируйте построение защищенного соединения между криптошлюзами Hub1 и Spoke1 при помощи ICMP трафика, посылаемого с устройства Host_behind_spoke1 на Host_behind_hub1 (можно и наоборот). Для этого выполните команду ping из linux bash консоли защищаемого устройства Host_behind_spoke1.

root@Host_b_spoke1:~# ping 192.168.100.100 -c 5

PING 192.168.100.100 (192.168.100.100) 56(84) bytes of data.

64 bytes from 192.168.100.100: icmp_seq=1 ttl=62 time=402 ms

64 bytes from 192.168.100.100: icmp_seq=2 ttl=62 time=1.99 ms

64 bytes from 192.168.100.100: icmp_seq=3 ttl=62 time=1.78 ms

64 bytes from 192.168.100.100: icmp_seq=4 ttl=62 time=1.33 ms

64 bytes from 192.168.100.100: icmp_seq=5 ttl=62 time=1.35 ms

 

--- 192.168.100.100 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 10ms

rtt min/avg/max/mdev = 1.331/81.610/401.605/159.997 ms

2.    Проверьте, что на криптошлюзах Hub1 и Spoke1 установлено защищенное IPsec соединение. Для этого выполните команду run sa_mgr show из cisco-like консоли криптошлюзов.

Hub1#run sa_mgr show

ISAKMP sessions: 0 initiated, 0 responded

 

ISAKMP connections:

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

1 1 (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 1 (192.168.100.0-192.168.100.255,*)-(192.168.1.0-192.168.1.255,*) * ESP tunn 440 440

Spoke1#run sa_mgr show

ISAKMP sessions: 0 initiated, 0 responded

 

ISAKMP connections:

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

1 1 (172.16.1.2,500)-(172.16.100.2,500) active 1908 1828

 

IPsec connections:

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

1 1 (192.168.1.0-192.168.1.255,*)-(192.168.100.0-192.168.100.255,*) * ESP tunn 440 440

Видно, что на криптошлюзах Hub1 и Spoke1 установлено защищенное IPsec соединение. Если этого не произошло, то проверьте файл журнала (команда run less /var/log/cspvpngate.log). При необходимости увеличьте уровень логирования с помощью (команда logging trap debugging в консоли cisco-like) и заново инициируйте защищенное соединение.

Проверка построения защищенного соединения между подсетями Hub1 и Spoke2

1.    Инициируйте построение защищенного соединения между криптошлюзами Hub1 и Spoke2 при помощи ICMP трафика, посылаемого с устройства Host_behind_spoke2 на Host_behind_hub1 (можно и наоборот). Для этого выполните команду ping из linux bash консоли защищаемого устройства Host_behind_spoke2.

root@Host_b_spoke2:~# ping 192.168.100.100 -c 5

PING 192.168.100.100 (192.168.100.100) 56(84) bytes of data.

64 bytes from 192.168.100.100: icmp_seq=1 ttl=62 time=953 ms

64 bytes from 192.168.100.100: icmp_seq=2 ttl=62 time=5.11 ms

64 bytes from 192.168.100.100: icmp_seq=3 ttl=62 time=1.58 ms

64 bytes from 192.168.100.100: icmp_seq=4 ttl=62 time=1.45 ms

64 bytes from 192.168.100.100: icmp_seq=5 ttl=62 time=1.79 ms

 

--- 192.168.100.100 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 8ms

rtt min/avg/max/mdev = 1.445/192.634/953.245/380.307 ms

2.    Проверьте, что на криптошлюзах Hub1 и Spoke2 установлено защищенное IPsec соединение. Для этого выполните команду run sa_mgr show из cisco-like консоли криптошлюзов.

Hub1#run sa_mgr show

ISAKMP sessions: 0 initiated, 0 responded

 

ISAKMP connections:

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

1 1 (172.16.100.2,500)-(172.16.1.2,500) active 1828 1908

2 2 (172.16.100.2,500)-(172.16.2.2,500) active 1828 1908

 

IPsec connections:

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

1 1 (192.168.100.0-192.168.100.255,*)-(192.168.1.0-192.168.1.255,*) * ESP tunn 440 440

2 2 (192.168.100.0-192.168.100.255,*)-(192.168.2.0-192.168.2.255,*) * ESP tunn 440 440

Spoke2#run sa_mgr show

ISAKMP sessions: 0 initiated, 0 responded

 

ISAKMP connections:

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

1 1 (172.16.2.2,500)-(172.16.100.2,500) active 1908 1828

 

IPsec connections:

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

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

Видно, что на криптошлюзах Hub1 и Spoke2 установлено защищенное IPsec соединение. Если этого не произошло, то проверьте файл журнала (команда run less /var/log/cspvpngate.log). При необходимости увеличьте уровень логирования с помощью (команда logging trap debugging в консоли cisco-like) и заново инициируйте защищенное соединение.

Проверка построения защищенного соединения между подсетями Spoke1 и Spoke2

1.    Инициируйте построение защищенного соединения между криптошлюзами Spoke1 и Spoke2 при помощи ICMP трафика, посылаемого с устройства Host_behind_spoke1 на Host_behind_spoke2 (можно и наоборот). Для этого выполните команду ping из linux bash консоли защищаемого устройства Host_behind_spoke1.

root@Host_b_spoke1:~# ping 192.168.2.100 -c 5

PING 192.168.2.100 (192.168.2.100) 56(84) bytes of data.

64 bytes from 192.168.2.100: icmp_seq=1 ttl=61 time=660 ms

64 bytes from 192.168.2.100: icmp_seq=2 ttl=61 time=3.41 ms

64 bytes from 192.168.2.100: icmp_seq=3 ttl=61 time=2.55 ms

64 bytes from 192.168.2.100: icmp_seq=4 ttl=61 time=2.41 ms

64 bytes from 192.168.2.100: icmp_seq=5 ttl=61 time=2.05 ms

 

--- 192.168.2.100 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 9ms

rtt min/avg/max/mdev = 2.047/134.098/660.074/262.988 ms

2.    Проверьте, что на криптошлюзах Hub1, Spoke1 и Spoke2 установлено защищенное IPsec соединение. Для этого выполните команду run sa_mgr show из cisco-like консоли криптошлюзов.

Hub1#run sa_mgr show

ISAKMP sessions: 0 initiated, 0 responded

 

ISAKMP connections:

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

1 1 (172.16.100.2,500)-(172.16.1.2,500) active 2172 2252

2 2 (172.16.100.2,500)-(172.16.2.2,500) active 2172 2252

 

IPsec connections:

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

1 1 (192.168.100.0-192.168.100.255,*)-(192.168.1.0-192.168.1.255,*) * ESP tunn 440 440

2 2 (192.168.100.0-192.168.100.255,*)-(192.168.2.0-192.168.2.255,*) * ESP tunn 440 440

3 3 (192.168.2.0-192.168.2.255,*)-(192.168.1.0-192.168.1.255,*) * ESP tunn 440 440

4 4 (192.168.1.0-192.168.1.255,*)-(192.168.2.0-192.168.2.255,*) * ESP tunn 440 440

Spoke1#run sa_mgr show

ISAKMP sessions: 0 initiated, 0 responded

 

ISAKMP connections:

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

1 1 (172.16.1.2,500)-(172.16.100.2,500) active 2252 2172

 

IPsec connections:

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

1 1 (192.168.1.0-192.168.1.255,*)-(192.168.100.0-192.168.100.255,*) * ESP tunn 440 440

2 2 (192.168.1.0-192.168.1.255,*)-(192.168.2.0-192.168.2.255,*) * ESP tunn 440 440

Spoke2#run sa_mgr show

ISAKMP sessions: 0 initiated, 0 responded

 

ISAKMP connections:

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

1 1 (172.16.2.2,500)-(172.16.100.2,500) active 2252 2172

 

IPsec connections:

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

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

2 2 (192.168.2.0-192.168.2.255,*)-(192.168.1.0-192.168.1.255,*) * ESP tunn 440 440

Видно, что на криптошлюзах Hub1, Spoke1 и Spoke2 установлено защищенное IPsec соединение. Если этого не произошло, то проверьте файл журнала (команда run less /var/log/cspvpngate.log). При необходимости увеличьте уровень логирования с помощью (команда logging trap debugging в консоли cisco-like) и заново инициируйте защищенное соединение.

 


 

Приложение

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

1.    Консоль cisco-like:

!

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$tHtq8SR6$t3CWE6udI6L/ARr9jQowUYR7wEbOWZlx61OvL

i7goonOFUYhNSGV49BA.RDGEZ7oKXBA1aTRi20ElR4wtMXTl0

aaa new-model

!

!

hostname Hub1

enable secret 5 PC9d7N5HlAyLrzuA3qRJvQ==

!

!

!

!

!

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_SPOKE1

 permit ip 192.168.100.0 0.0.0.255 192.168.1.0 0.0.0.255

 permit ip 192.168.2.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

 permit ip 192.168.1.0 0.0.0.255 192.168.2.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.1.2

 set dead-connection history off

crypto map VPN 2 ipsec-isakmp

 match address IPSEC_ACl_HUB1_AND_SPOKE2

 set transform-set GOST_ENCRYPT_AND_INTEGRITY

 set peer 172.16.2.2

 set dead-connection history off

!

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

 crl download time 60

crypto pki certificate chain s-terra_technological_trustpoint

certificate 58E026BFD6D625BE4582C16C6189C183

30820227308201D4A003020102021058E026BFD6D625BE4582C16C6189C18330

...

AD4F8901771632E0A0AF83

 

quit

!

end

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

#   This is automatically generated LSP

#

#   Conversion Date/Time:   Fri Mar 13 14:21:11 2020

 

GlobalParameters(

    Title                       = "This LSP was automatically generated by CSP Converter at Fri Mar 27 14:21:11 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     = "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.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

(

    IKEPeerIPFilter = 172.16.2.2

    Transform = crypto:isakmp:policy:1

    AggrModeAuthMethod  = GOST:Sign

    MainModeAuthMethod  = GOST:Sign

    DPDIdleDuration     = 3

    DPDResponseDuration = 2

    DPDRetries          = 5

    Priority            = 20

)

 

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

)

 

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 (

        SourceIP = 192.168.2.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 (

        SourceIP = 192.168.1.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"

    )

)

 

NetworkInterface (

    LogicalName = "GigabitEthernet0/0"

    IPsecPolicy = IPsecPolicy:VPN

)

 

 

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

1.    Консоль cisco-like:

!

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$tHtq8SR6$t3CWE6udI6L/ARr9jQowUYR7wEbOWZlx61OvL

i7goonOFUYhNSGV49BA.RDGEZ7oKXBA1aTRi20ElR4wtMXTl0

aaa new-model

!

!

hostname Spoke1

enable secret 5 PC9d7N5HlAyLrzuA3qRJvQ==

!

!

!

!

!

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_SPOKE1

 permit ip 192.168.1.0 0.0.0.255 192.168.100.0 0.0.0.255

 permit ip 192.168.1.0 0.0.0.255 192.168.2.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.crl

 crl download time 60

crypto pki certificate chain s-terra_technological_trustpoint

certificate 58E026BFD6D625BE4582C16C6189C183

30820227308201D4A003020102021058E026BFD6D625BE4582C16C6189C18330

...

AD4F8901771632E0A0AF83

 

quit

!

end

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

#   This is automatically generated LSP

#

#   Conversion Date/Time:   Fri Mar 13 14:22:13 2020

 

GlobalParameters(

    Title                       = "This LSP was automatically generated by CSP Converter at Fri Mar 27 14:22:13 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     = "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.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"

    ),

    Filter (

        SourceIP = 192.168.1.0/24

        DestinationIP = 192.168.2.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:

!

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$tHtq8SR6$t3CWE6udI6L/ARr9jQowUYR7wEbOWZlx61OvL

i7goonOFUYhNSGV49BA.RDGEZ7oKXBA1aTRi20ElR4wtMXTl0

aaa new-model

!

!

hostname Spoke2

enable secret 5 PC9d7N5HlAyLrzuA3qRJvQ==

!

!

!

!

!

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

 permit ip 192.168.2.0 0.0.0.255 192.168.1.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.crl

 crl download time 60

crypto pki certificate chain s-terra_technological_trustpoint

certificate 58E026BFD6D625BE4582C16C6189C183

30820227308201D4A003020102021058E026BFD6D625BE4582C16C6189C18330

...

AD4F8901771632E0A0AF83

 

quit

!

end

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

 

#   This is automatically generated LSP

#

#   Conversion Date/Time:   Fri Mar 13 14:23:20 2020

 

GlobalParameters(

    Title                       = "This LSP was automatically generated by CSP Converter at Fri Mar 27 14:23:20 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"

    ),

    Filter (

        SourceIP = 192.168.2.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_SPOKE2"

    )

)

 

NetworkInterface (

    LogicalName = "GigabitEthernet0/0"

    IPsecPolicy = IPsecPolicy:VPN

)