Резервирование каналов связи без использования динамических протоколов маршрутизации. Failover MultiWAN

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

Введение

Данный сценарий содержит пример настойки криптомаршрутизаторов ESR-ST (далее ESR-ST) для обеспечения резервирования внешних каналов связи (интернет провайдеров или ISP) без использования динамических протоколов маршрутизации в режиме активный/резервный (active/passive).

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

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

Требования к квалификации оператора

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

Оператор должен быть ознакомлен с документами:

·         Консоли управления в ESR-ST;

·         Процедура инициализации ESR-ST;

·         Сетевые интерфейсы в ESR-ST;

·         Порядок обработки пакетов в сетевых подсистемах ESR-ST;

·         Обеспечение безопасного взаимодействия между защищаемыми подсетями центрального офиса и филиала путем шифрования трафика. Site-to-site IPsec (ГОСТ) VPN.

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

К представленной схеме взаимодействия (см. рисунок 1) предъявляются следующие предварительные требования:

1.    Криптомаршрутизаторы Spoke и Hub должны быть инициализированы (см. документ «Процедура инициализации ESR-ST»).

2.    Обеспеченность связностью на уровне IP между маршрутизаторами Spoke_ISP, Hub_ISP01, Hub_ISP02 и HTTP-сервером CRL_distribution_point.

3.    Подготовленный к выпуску цифровых сертификатов корневой удостоверяющий центр (далее УЦ) Certification_authority.

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

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

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

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

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

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

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

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

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

1.1.     В центральном офисе размещаются УЦ (Certification_authority), криптомаршрутизатор ESR-1000-ST (Hub) и персональный компьютер (host_behind_hub).

1.2.     В филиале размещаются криптомаршрутизатор ESR-200-ST (Spoke) и персональный компьютер (host_behind_spoke).

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

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

В данном сценарии для эмуляции сети Интернет используются маршрутизаторы Spoke_ISP, Hub_ISP01, Hub_ISP02, а также промежуточное оборудование, которое на схеме не отражено.

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

2.1.     Криптомаршрутизатор Hub подключается к сети Интернет с помощью статической маршрутизации (маршрут по умолчанию) через двух условных интернет провайдеров –маршрутизаторы Hub_ISP01 и Hub_ISP02. Маршрут по умолчанию добавляется только через одного интернет провайдера, канал которого считается рабочим и имеет наибольший приоритет. Работоспособность канала определяется по доступности или недоступности по протоколу ICMP заданной цели (в данном сценарии для такой цели будет выбран HTTP-сервер для распространения списка отозванных сертификатов).

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

2.3.     На криптомаршрутизаторах Hub и Spoke для исходящего трафика, направляющегося в Интернет, выполняется замена IP-адресов источника на IP-адреса внешних сетевых интерфейсов (технология source NAT или source PAT).

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

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

Инициировать защищенное соединение может как трафик из подсети 192.168.1.0/24 в 192.168.20.0/24 (из филиала в центр), так и наоборот, из центра в филиал.

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

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

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

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

·         Алгоритм выработки общего ключа (аналог алгоритма Диффи-Хеллмана) – VKO2 ГОСТ R 34.10-2012 (ключ 256 бит).

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

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


 

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

Настройка host_behind_hub

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

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

3.    Разрешите прием входящих ICMP пакетов.

Настройка криптомаршрутизатора Hub

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

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

Настройка сетевого взаимодействия и прочих параметров в ESR CLI

1.    Войдите в CLI разграничения доступа. Для этого, после появления сообщения:

S-Terra administrative console

введите логин и пароль для CLI разграничения доступа:

Пользователь и пароль по умолчанию: administrator, s-terra. Обязательно смените пароль для пользователя administrator при помощи команды change user password.

login as: administrator

administrator's password:

administrator@esr-1000]

2.    Отключите автоматическое закрытие сессии CLI разграничения доступа по неактивности:

administrator@hub] session idle timeout disable

В производственной эксплуатации выполнять данную команду запрещено.

Изменение паролей для пользователей admin и cscons

Пользователь admin является главным администратором (уровень привилегий 15) для консоли ESR CLI. Пользователь cscons является администратором (уровень привилегий 15) для консоли CGW CLI.

Для пользователей консоли CGW CLI существует по факту только два уровня привилегий – 1 и 15, поэтому разделение на главных и не главных администраторов нет (пользователь с уровнем 1 не может выполнять никаких административных действий без ввода enable пароля).

1.    Перейдите в ESR CLI, введя логин и пароль для ESR CLI:

Пользователь и пароль по умолчанию: admin, password.Обязательно смените пароль для пользователей admin и  cscons. Под данными пользователями также осуществляется удаленное управление (по SSH) криптомаршрутизатором ESR-ST.

administrator@esr-1000] configure

esr-1000 login: admin

Password:

 

********************************************

*            Welcome to ESR-1000           *

********************************************

 

Welcome to ESR-1000 on Wed Feb 15 06:13:41 GMT 2017

esr:esr-1000#

1.1.     Смените пароль для пользователя admin:

esr:esr-1000# configure

esr:esr-1000(config)# username admin

esr:esr-1000(config-user)# password <пароль>

esr:esr-1000(config-user)# exit

1.2.     Смените пароль для пользователя cscons:

esr:esr-1000(config)# username cscons

esr:esr-1000(config-user)# password <пароль>

esr:esr-1000(config-user)# end

1.3.     Примените настройки:

esr:esr-1000# commit

2017-02-15T06:36:41+00:00 %CLI-I-CRIT: user admin from console  input: commit

Configuration has been successfully committed

esr:esr-1000# confirm

2017-02-15T06:36:50+00:00 %CLI-I-CRIT: user admin from console  input: confirm

Configuration has been successfully confirmed

Настройка даты в времени

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

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

esr:esr-1000# set date 10:09:00 15 February 2017

Wednesday 10:09:00 GMT February 15 2017

Установка даты и времени применяется автоматически, команды commit и confirm выполнять не нужно.

Для просмотра текущих значений даты и времени воспользуйтесь командой show date.

ESR CLI также позволяет настроить синхронизацию времени по NTP и выставить смещения (GMT).

Настройка имени устройства, IP-адресов и маршрутизации

1.    Задайте имя устройства:

esr:esr-1000# configure

esr:esr-1000(config)# hostname hub

2.    Задайте IP-адрес для первого внешнего интерфейса gi1/0/1, подключенного к маршрутизатору Hub_ISP01, выполняющего роль основного интернет провайдера (см. схему взаимодействия):

esr:esr-1000(config)# interface gigabitethernet 1/0/1

esr:esr-1000(config-if-gi)# no shutdown

esr:esr-1000(config-if-gi)# ip address 172.16.15.2/24

esr:esr-1000(config-if-gi)# exit

3.    Задайте IP-адрес для второго внешнего интерфейса gi1/0/2, подключенного к маршрутизатору Hub_ISP02, выполняющего роль резервного интернет провайдера (см. схему взаимодействия):

esr:esr-1000(config)# interface gigabitethernet 1/0/2

esr:esr-1000(config-if-gi)# no shutdown

esr:esr-1000(config-if-gi)# ip address 172.16.16.2/24

esr:esr-1000(config-if-gi)# exit

4.    Создайте мост (bridge), назначьте IP-адрес, VLAN и добавьте в него все интерфейсы с gi1/0/5 по gi1/0/24, после чего примените настройки:

В данном сценарии в качестве устройства Hub выступает ESR-1000-ST, у которого большое количество сетевых интерфейсов, если у Вас используются модель ESR-100-ST или ESR-200-ST, то скорректируйте диапазон сетевых интерфейсов самостоятельно.

esr:esr-1000(config)# bridge 1

esr:esr-1000(config-bridge)# ip address 192.168.20.1/24

esr:esr-1000(config-bridge)# vlan 1

esr:esr-1000(config-bridge)# enable

esr:esr-1000(config-bridge)# exit

esr:esr-1000(config)# interface gigabitethernet 1/0/5-24

esr:esr-1000(config-if-gi)# no shutdown

esr:esr-1000(config-if-gi)# switchport

esr:esr-1000(config-if-gi)# end

esr:esr-1000# commit

esr:hub# confirm

Все интерфейсы с gi1/0/5 по gi1/0/24 могут быть использованы для подключения защищаемых устройств, то есть на данных интерфейсах выполняются функции коммутатора.

5.    Убедитесь, что базовые сетевые настройки выполнены верно. Для этого подключите первый внешний интерфейс gi1/0/1 криптомаршрутизатора Hub к маршрутизатору Hub_ISP01, второй интерфейс gi1/0/2 к маршрутизатору Hub_ISP02 и персональный компьютер host_behind_hub к любому интерфейсу криптомаршрутизатора Hub из диапазона gi1/0/5 – 24.

После чего выполните последовательно следующие команды ping c устройства Hub (если выполнить команду ping с Hub_ISP01/Hub_ISP02 или host_behind_hub с адресом назначения Hub, то Hub будет недоступен из-за предустановленных настроек в Eltex FW):

В производственной эксплуатации подключать криптомаршрутизтор к недоверенным сетям до настройки политики безопасности (СКЗИ и МЭ) запрещено.

5.1.     Выполните команду ping с Hub на host_behind_hub:

esr:hub# ping 192.168.20.100 packets 4

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

!!!!

--- 192.168.20.100 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3004ms

rtt min/avg/max/mdev = 0.292/0.303/0.315/0.019 ms

5.2.     Выполните команду ping с Hub на Hub_ISP01:

esr:hub# ping 172.16.15.1 packets 4

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

!!!!

--- 172.16.15.1 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3004ms

rtt min/avg/max/mdev = 0.294/0.416/0.625/0.124 ms

5.3.     Выполните команду ping с Hub на Hub_ISP02:

esr:hub# ping 172.16.16.1 packets 4

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

!!!!

--- 172.16.16.1 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3004ms

rtt min/avg/max/mdev = 0.347/0.369/0.378/0.018 ms

Видно, что устройства в защищаемой и недоверенной сетях доступны по ICMP. Если устройства недоступны – проверьте настройки и сетевые кабели, также в CLI разграничения доступа выполните команду run csconf_mgr activate, в том случае, если она не была выполнена ранее.

Настройка резервирования каналов failover MultiWAN

Резервирование внешних каналов связи (интернет провайдеров или ISP) обеспечивается без использования динамических протоколов маршрутизации в режиме активный/резервный (active/passive).

Переключение между каналами корректно функционирует только в том случае, если используется резервирование маршрута по умолчанию.

1.    Задайте IP-адрес (цель), по доступности которого посредством протокола ICMP будет определяться состояние канала (в данном сценарии для такой цели будет выбран IP-адрес HTTP-сервера для распространения списка отозванных сертификатов):

esr:hub# configure

esr:hub(config)# wan load-balance target-list host_in_internet

esr:hub(config-wan-target-list)# target 1

esr:hub(config-wan-target)# ip address 172.17.10.100

esr:hub(config-wan-target)# enable

esr:hub(config-wan-target)# exit

esr:hub(config-wan-target-list)# exit

2.    Задайте на внешних интерфейсах следующие настройки: IP-адрес маршрутизатора по умолчанию (nexthop); IP-адрес, который будет использоваться в качестве источника для ICMP пакетов (source-address); список с IP-адресами, доступность которых нужно контролировать (target-list):

esr:hub(config)# interface gigabitethernet 1/0/1

esr:hub(config-if-gi)# wan load-balance nexthop 172.16.15.1

esr:hub(config-if-gi)# wan load-balance source-address 172.16.15.2

esr:hub(config-if-gi)# wan load-balance target-list host_in_internet

esr:hub(config-if-gi)# wan load-balance enable

esr:hub(config-if-gi)# exit

esr:hub(config)# interface gigabitethernet 1/0/2

esr:hub(config-if-gi)# wan load-balance nexthop 172.16.16.1

esr:hub(config-if-gi)# wan load-balance source-address 172.16.16.2

esr:hub(config-if-gi)# wan load-balance target-list host_in_internet

esr:hub(config-if-gi)# wan load-balance enable

esr:hub(config-if-gi)# exit

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

esr:hub(config)# ip route 0.0.0.0/0 wan load-balance rule 1

4.    Создайте правило (параметр failover cgw-notify отвечает за удаление старых ISAKMP/IPsec SA и очистку таблицы NAT трансляций при переключении маршрута через интерфейс; цифра после имени интерфейса – вес/приоритет) и примените настройки:

esr:hub(config)# wan load-balance rule 1

esr:hub(config-wan-rule)# failover

esr:hub(config-wan-rule)# failover cgw-notify

esr:hub(config-wan-rule)# outbound interface gigabitethernet 1/0/1 255

esr:hub(config-wan-rule)# outbound interface gigabitethernet 1/0/2

esr:hub(config-wan-rule)# enable

esr:hub(config-wan-rule)# end

esr:hub# commit

esr:hub# confirm

Запрещено создавать несколько правил с параметром failover cgw-notify, так как корректная работа в этом случае не гарантируется.

В случае доступности по ICMP IP-адреса 172.17.10.100 через сетевой интерфейс gigabitethernet 1/0/1 на консоль будет выведено сообщение о добавлении маршрута через данный интерфейс (имя интерфейса выводится в cisco-like нотации, так как за удаление старых ISAKMP/IPsec SA и очистку таблицы NAT трансляций отвечает модуль CGW):

MultiWAN (cgw-notify): setting routes via GigabitEthernet1/1

5.    Убедитесь, что маршрут по умолчанию добавлен через сетевой интерфейс gigabitethernet 1/0/1:

esr:hub# show ip route

 Codes: C - connected, S - static, R - RIP derived,

        O - OSPF derived, IA - OSPF inter area route,

        E1 - OSPF external type 1 route, E2 - OSPF external type 2 route

        B - BGP derived, D - DHCP derived, K - kernel route,

        * - FIB route

 

S     * 0.0.0.0/0          [1/0]   via 172.16.15.1 on gi1/0/1        [static 09:18:39]

C     * 192.168.20.0/24    [0/0]   dev br1                           [direct 15:03:39]

C     * 172.16.15.0/24     [0/0]   dev gi1/0/1                       [direct 22:15:47]

C     * 172.16.16.0/24     [0/0]   dev gi1/0/2                       [direct 15:03:40]

Настройка межсетевого экрана Eltex FW

Eltex FW – это межсетевой экран с контролем состояния сессии (stateful) и поддержкой зон безопасности (zone-based). Политика по умолчанию разрешает все исходящие локальные соединения, а входящие только в рамках исходящих.

1.    Создайте две зоны безопасности, одну для защищаемой подсети (trusted), другую для недоверенной (untusted):

esr:hub# configure

esr:hub(config)# security zone trusted

esr:hub(config-zone)# exit

esr:hub(config)# security zone untrusted

esr:hub(config-zone)# exit

2.    Добавьте сетевые интерфейсы в созданные зоны безопасности:

esr:hub(config)# bridge 1

esr:hub(config-bridge)# security-zone trusted

esr:hub(config-bridge)# exit

esr:hub(config)# interface gigabitethernet 1/0/1-2

esr:hub(config-if-gi)# security-zone untrusted

esr:hub(config-if-gi)# exit

3.    Создайте объекты, описывающие порты протоколов, для дальнейшего их использования в правилах фильтрации, разрешающих входящий на Hub трафик.

3.1.     Для протокола SSH:

esr:hub(config)# object-group service SSH

esr:hub(config-object-group-service)# port-range 22

esr:hub(config-object-group-service)# exit

3.2.     Для протоколов IKE и NAT-T (IPsec over UDP):

esr:hub(config)# object-group service IKE500

esr:hub(config-object-group-service)# port-range 500

esr:hub(config-object-group-service)# exit

esr:hub(config)# object-group service IKE4500

esr:hub(config-object-group-service)# port-range 4500

esr:hub(config-object-group-service)# exit

esr:hub(config)#

4.    Настройте правила фильтрации между зонами безопасности.

4.1.     Разрешите любой транзитный трафик из доверенной зоны/сети в недоверенную, то есть с портов коммутатора gi1/0/5-24 на внешние интерфейсы gi1/0/1, gi1/0/2 (trusted untrusted):

esr:hub(config)# security zone-pair trusted untrusted

esr:hub(config-zone-pair)# rule 10

esr:hub(config-zone-pair-rule)# action permit

esr:hub(config-zone-pair-rule)# match protocol any

esr:hub(config-zone-pair-rule)# match source-address any

esr:hub(config-zone-pair-rule)# match destination-address any

esr:hub(config-zone-pair-rule)# enable

esr:hub(config-zone-pair-rule)# exit

esr:hub(config-zone-pair)# exit

esr:hub(config)#

Трафик, который необходимо шифровать из доверенной сети, будет определяться списками доступа СКЗИ в CGW CLI.

4.2.     Разрешите любой транзитный трафик между сетевыми интерфейсами доверенной зоны/сети (trusted trusted):

esr:hub(config)# security zone-pair trusted trusted

esr:hub(config-zone-pair)# rule 10

esr:hub(config-zone-pair-rule)# action permit

esr:hub(config-zone-pair-rule)# match protocol any

esr:hub(config-zone-pair-rule)# match source-address any

esr:hub(config-zone-pair-rule)# match destination-address any

esr:hub(config-zone-pair-rule)# enable

esr:hub(config-zone-pair-rule)# exit

esr:hub(config-zone-pair) exit

esr:hub(config)#

4.3.     Разрешите прохождение любого транзитного расшифрованного трафика из недоверенной зоны/сети в доверенную, то есть с внешних сетевых интерфейсов gi1/0/1, gi1/0/2 на сетевые интерфейсы коммутатора gi1/0/5-24 (untrusted trusted):

esr:hub(config)# security zone-pair untrusted trusted

esr:hub(config-zone-pair)# rule 10

esr:hub(config-zone-pair-rule)# action permit

esr:hub(config-zone-pair-rule)# match source-address any

esr:hub(config-zone-pair-rule)# match destination-address any

esr:hub(config-zone-pair-rule)# match protocol any

esr:hub(config-zone-pair-rule)# match ipsec-decrypted

esr:hub(config-zone-pair-rule)# enable

esr:hub(config-zone-pair-rule)# exit

esr:hub(config-zone-pair)# exit

esr:hub(config)#

4.4.     Разрешите подключение по протоколу SSH из доверенной зоны/сети к Hub (trusted self):

esr:hub(config)# security zone-pair trusted self

esr:hub(config-zone-pair)# rule 10

esr:hub(config-zone-pair-rule)# action permit

esr:hub(config-zone-pair-rule)# match protocol tcp

esr:hub(config-zone-pair-rule)# match destination-port SSH

esr:hub(config-zone-pair-rule)# match destination-address any

esr:hub(config-zone-pair-rule)# match source-address any

esr:hub(config-zone-pair-rule)# match source-port any

esr:hub(config-zone-pair-rule)# enable

esr:hub(config-zone-pair-rule)# exit

esr:hub(config-zone-pair)#

4.5.     Разрешите пакеты протокола ICMP из доверенной зоны/сети к Hub (trusted self):

esr:hub(config-zone-pair)# rule 20

esr:hub(config-zone-pair-rule)# action permit

esr:hub(config-zone-pair-rule)# match protocol icmp

esr:hub(config-zone-pair-rule)# match source-address any

esr:hub(config-zone-pair-rule)# match destination-address any

esr:hub(config-zone-pair-rule)# enable

esr:hub(config-zone-pair-rule)# exit

esr:hub(config-zone-pair)# exit

esr:hub(config)#

4.6.     Разрешите пакеты протокола ICMP из недоверенной зоны/сети к Hub (untrusted self):

esr:hub(config)# security zone-pair untrusted self

esr:hub(config-zone-pair)# rule 10

esr:hub(config-zone-pair-rule)# action permit

esr:hub(config-zone-pair-rule)# match source-address any

esr:hub(config-zone-pair-rule)# match destination-address any

esr:hub(config-zone-pair-rule)# match protocol icmp

esr:hub(config-zone-pair-rule)# enable

esr:hub(config-zone-pair-rule)# exit

4.7.     Разрешите прохождение расшифрованного трафика из недоверенной зоны/сети на Hub (untrusted self):

esr:hub(config-zone-pair)# rule 20

esr:hub(config-zone-pair-rule)# action permit

esr:hub(config-zone-pair-rule)# match source-address any

esr:hub(config-zone-pair-rule)# match destination-address any

esr:hub(config-zone-pair-rule)# match protocol any

esr:hub(config-zone-pair-rule)# match ipsec-decrypted

esr:hub(config-zone-pair-rule)# enable

esr:hub(config-zone-pair-rule)# exit

4.8.     Разрешите пакеты протокола IKE и NAT-T (IPsec over UDP) из недоверенной зоны/сети на Hub (untrusted self):

esr:hub(config-zone-pair)# rule 30

esr:hub(config-zone-pair-rule)# action permit

esr:hub(config-zone-pair-rule)# match protocol udp

esr:hub(config-zone-pair-rule)# match source-address any

esr:hub(config-zone-pair-rule)# match destination-address any

esr:hub(config-zone-pair-rule)# match source-port any

esr:hub(config-zone-pair-rule)# match destination-port IKE500

esr:hub(config-zone-pair-rule)# enable

esr:hub(config-zone-pair-rule)# exit

esr:hub(config-zone-pair)#

esr:hub(config-zone-pair)# rule 40

esr:hub(config-zone-pair-rule)# action permit

esr:hub(config-zone-pair-rule)# match protocol udp

esr:hub(config-zone-pair-rule)# match source-address any

esr:hub(config-zone-pair-rule)# match destination-address any

esr:hub(config-zone-pair-rule)# match source-port any

esr:hub(config-zone-pair-rule)# match destination-port IKE4500

esr:hub(config-zone-pair-rule)# enable

esr:hub(config-zone-pair-rule)# exit

esr:hub(config-zone-pair)# exit

esr:hub(config)#

Настройка Source NAT

1.    Создайте объекты, описывающие подсети, для дальнейшего их использования в правилах NAT.

1.1.     Для защищаемой подсети Hub:

esr:hub(config)# object-group network LAN_HUB

esr:hub(config-object-group-network)# ip prefix 192.168.20.0/24

esr:hub(config-object-group-network)# exit

1.2.     Для защищаемой подсети Spoke:

esr:hub(config)# object-group network LAN_SPOKE

esr:hub(config-object-group-network)# ip prefix 192.168.1.0/24

esr:hub(config-object-group-network)# exit

2.    Создайте набор правил для интерфейса gigabitethernet 1/0/1:

esr:hub(config)# nat source

esr:hub(config-snat)# ruleset SNAT_ON_GI101

esr:hub(config-snat-ruleset)# to interface gigabitethernet 1/0/1

2.1.     Отключите Source NAT для локальных пакетов IKE от CGW:

esr:hub(config-snat-ruleset)# rule 10

esr:hub(config-snat-rule)# description "disable SNAT for local IKE packets

esr:hub(config-snat-rule)# action source-nat off

esr:hub(config-snat-rule)# match ike-local

esr:hub(config-snat-rule)# match source-address any

esr:hub(config-snat-rule)# match destination-address any

esr:hub(config-snat-rule)# enable

esr:hub(config-snat-rule)# exit

esr:hub(config-snat-ruleset)#

Если не отключить функции Source NAT для локальных пакетов IKE, то возможна ассиметричная передача зашифрованного трафика по интерфейсам gi1/0/1, gi1/0/2 (подробнее об этом будет указано при выполнении настроек в CGW CLI).

Так же если оставить функцию Source NAT включенной для локальных пакетов IKE, то может произойти замена стандартного порта 500/4500 на произвольный в диапазоне от 1024 до 65535.

Выполнение функций Source NAT на других транзитных устройствах разрешается и поддерживается (NAT-T).

2.2.     Отключите Source NAT для защищаемого трафика из подсети 192.168.20.0/24 в подсеть 192.168.1.0/24:

esr:hub(config-snat-ruleset)# rule 20

esr:hub(config-snat-rule)# description "disable SNAT for traffic which must be protected by IPsec"

esr:hub(config-snat-rule)# action source-nat off

esr:hub(config-snat-rule)# match protocol any

esr:hub(config-snat-rule)# match source-address LAN_HUB

esr:hub(config-snat-rule)# match destination-address LAN_SPOKE

esr:hub(config-snat-rule)# enable

esr:hub(config-snat-rule)# exit

esr:hub(config-snat-ruleset)#

В силу того, что Source NAT отрабатывает до зашифрования, то для всего трафика, который требуется шифровать нужно отключать Source NAT.

2.3.     Включите Source NAT для всего оставшегося трафика:

esr:hub(config-snat-ruleset)# rule 30

esr:hub(config-snat-rule)# description "enable dynamic SNAT for traffic to Internet"

esr:hub(config-snat-rule)# action source-nat netmap 172.16.15.2/32

esr:hub(config-snat-rule)# match protocol any

esr:hub(config-snat-rule)# match source-address any

esr:hub(config-snat-rule)# match destination-address any

esr:hub(config-snat-rule)# enable

esr:hub(config-snat-rule)# exit

esr:hub(config-snat-ruleset)# exit

3.    Создайте набор правил для интерфейса gigabitethernet 1/0/2:

esr:hub(config-snat)# ruleset SNAT_ON_GI102

esr:hub(config-snat-ruleset)# to interface gigabitethernet 1/0/2

 

esr:hub(config-snat-ruleset)# rule 10

esr:hub(config-snat-rule)# description "disable SNAT for local IKE packets"

esr:hub(config-snat-rule)# match source-address any

esr:hub(config-snat-rule)# match destination-address any

esr:hub(config-snat-rule)# match ike-local

esr:hub(config-snat-rule)# action source-nat off

esr:hub(config-snat-rule)# enable

esr:hub(config-snat-rule)# exit

 

esr:hub(config-snat-ruleset)# rule 20

esr:hub(config-snat-rule)# description "disable SNAT for traffic which must be protected by IPsec"

esr:hub(config-snat-rule)# match protocol any

esr:hub(config-snat-rule)# match source-address LAN_HUB

esr:hub(config-snat-rule)# match destination-address LAN_SPOKE

esr:hub(config-snat-rule)# action source-nat off

esr:hub(config-snat-rule)# enable

esr:hub(config-snat-rule)# exit

 

esr:hub(config-snat-ruleset)# rule 30

esr:hub(config-snat-rule)# description "enable dynamic SNAT for traffic to Internet"

esr:hub(config-snat-rule)# match protocol any

esr:hub(config-snat-rule)# match source-address any

esr:hub(config-snat-rule)# match destination-address any

esr:hub(config-snat-rule)# action source-nat netmap 172.16.16.2/32

esr:hub(config-snat-rule)# enable

esr:hub(config-snat-rule)# exit

esr:hub(config-snat-ruleset)# exit

esr:hub(config-snat)# exit

Включение SSH-сервера и сохранение настроек

1.    Включите SSH-сервер:

esr:hub(config)# ip ssh server

2.    Сохраните настройки и выйдите в CLI разграничения доступа:

esr:hub(config)# do commit

2017-03-29T18:06:05+00:00 %CLI-I-CRIT: user admin from console  input: do commit

Configuration has been successfully committed

esr:hub(config)# do confirm

2017-03-29T18:06:09+00:00 %CLI-I-CRIT: user admin from console  input: do confirm

Configuration has been successfully confirmed

esr:hub(config)# end

esr:hub# logout

administrator@hub]

После того как был включен SSH-сервер к устройству можно подключаться по SSH. Чтобы попасть в консоль ESR CLI при подключении к Hub нужно указывать имя пользователя admin, а для консоли CGW CLI – cscons. Удаленно напрямую в CLI разграничения доступа войти нельзя, но можно через CGW CLI.

Настройки в консоли ESR CLI завершены. Конфигурация устройства Hub приведена в Приложении.

Настройки PKI в CLI разграничения доступа

Для аутентификации партнеров по IPsec можно использовать только цифровые сертификаты, выпущенные при помощи сертифицированного СКЗИ.

Аутентификация по предопределенным ключам запрещена и возможна только в тестовых целях.

Закрытый ключ для сертификата устройства Hub будет сгенерирован при помощи утилиты cert_mgr с использованием биологического датчика случайных чисел (БИО ДСЧ). Закрытый ключ может храниться либо на файловой системе устройства, либо на защищенном ключевом носителе (токен). В данном сценарии закрытый ключ будет располагаться в специальном контейнере на файловой системе устройства Hub.

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

USB-flash накопитель должен содержать файловую систему FAT32. NTFS может использоваться только на чтение, запись на USB-flash накопитель с файловой системой NTFS невозможна.

Генерация ключевой пары и запроса на сертификат устройства Hub

1.    Вставьте USB-flash накопитель в свободный USB порт устройства Hub (см. рисунок 2).

Рисунок 2. USB-flash накопитель, установленный в USB порт ESR-ST

На экране появятся следующие сообщения, которые свидетельствуют о нормальной работе USB-flash накопителя:

2017-03-30T09:17:21+00:00 %SYSTEM-E-KERNEL: [66075.864000] sd 0:0:0:0: [sda] No Caching mode page found

2017-03-30T09:17:21+00:00 %SYSTEM-E-KERNEL: [66075.864000] sd 0:0:0:0: [sda] Assuming drive cache: write through

2017-03-30T09:17:21+00:00 %SYSTEM-E-KERNEL: [66075.872000] sd 0:0:0:0: [sda] No Caching mode page found

2017-03-30T09:17:21+00:00 %SYSTEM-E-KERNEL: [66075.872000] sd 0:0:0:0: [sda] Assuming drive cache: write through

2017-03-30T09:17:21+00:00 %SYSTEM-E-KERNEL: [66075.880000] sd 0:0:0:0: [sda] No Caching mode page found

2017-03-30T09:17:21+00:00 %SYSTEM-E-KERNEL: [66075.880000] sd 0:0:0:0: [sda] Assuming drive cache: write through

2017-03-30T09:17:21+00:00 %USBFLASH-I-CHANGE: 'S-TERRA' has been inserted!

2017-03-30T09:17:21+00:00 %SYSTEM-W-KERNEL: [66076.060000] FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

2.    Определите имя USB-flash накопителя:

administrator@hub] dir media:

    1  drwx         2048  Thu Jan  1 00:00:00 1970  S-TERRA

В данном сценарии USB-flash накопитель имеет имя S-TERRA.

3.    Запустите процесс генерации ключевой пары и запроса на сертификат устройства с сохранением файла запроса на USB-flash накопителе:

administrator@hub] run cert_mgr create -subj "C=RU,O=S-Terra CSP,OU=Research,CN=Hub" -GOST_R341012_256 -fb64 media:S-TERRA/hub.request

·         ключ –subj задает отличительное имя (Distinguished Name, DN) сертификата.

Отличительное имя сертификата должно быть уникальным для каждого устройства.

·         ключ -GOST_R341012_256 задает использование алгоритма открытого ключа, в данном сценарии используется алгоритм ГОСТ R 34.10-2012-256.

На УЦ для поддержки алгоритма ГОСТ R 34.10-2012-256 должно быть установлено СКЗИ «КриптоПро CSP» версии 4.0 или новее.

·         ключ -fb64 задает месторасположение и формат представления запроса на сертификат, в данном сценарии будет использован формат представления BASE64 с сохранением файла запроса в корень USB-flash накопителя под именем hub.request.

3.1.     Нажимайте предлагаемые клавиши на клавиатуре:

Progress: [********* ]

Press key: U

После завершения работы БИО ДСЧ файл запроса будет сохранен в корне USB-flash накопителя:

administrator@hub] dir media:S-TERRA/

    1  drwx         2048  Thu Jun 16 11:10:44 2016  System Volume Information

    2  -rwx          473  Thu Mar 30 09:37:43 2017  hub.request

4.    Извлеките USB-flash накопитель.

5.    Доставьте файл запроса на УЦ и выпустите по нему сертификат (см. рисунок 3).

Рисунок 3. Пример выпуска сертификата при помощи тестового УЦ от «КриптоПро». Отправка запроса

6.    Скопируйте выпущенный сертификат для Hub под именем hub.cer и сертификат УЦ под именем ca.cer (для тестового УЦ от «КриптоПро» данный сертификат можно загрузить по ссылке https://www.cryptopro.ru/certsrv/certcarc.asp, см. рисунок 4) в корень USB-flash накопителя (см. рисунок 5).

Рисунок 4. Страница загрузки сертификата УЦ (ЦС) для тестового УЦ от «КриптоПро»

 

Рисунок 5. Сертификаты УЦ и устройства Hub в корне USB-flash накопителя

7.    Вновь вставьте USB-flash накопитель, содержащий файлы сертификатов, в соответствующий порт USB на устройстве Hub.

8.    Убедитесь в наличии сертификатов на USB-flash накопителе:

administrator@hub] dir media:S-TERRA/

    1  drwx         2048  Thu Jun 16 11:10:44 2016  System Volume Information

    2  -rwx          592  Tue Jan 24 17:21:42 2017  ca.cer

    3  -rwx          804  Thu Mar 30 10:12:08 2017  hub.cer

    4  -rwx          473  Thu Mar 30 09:37:42 2017  hub.request

9.    Импортируйте сертификат УЦ в базу продукта:

administrator@hub] run cert_mgr import -f media:S-TERRA/ca.cer -t

1 OK 1.2.840.113549.1.9.1=support@cryptopro.ru,C=RU,L=Moscow,O=CRYPTO-PRO LLC,CN=CRYPTO-PRO Test Center 2

·         ключ –f задает месторасположение файла сертификата.

·         ключ –t используется для импортирования доверенного (trusted) сертификата УЦ.

10.  Импортируйте сертификат устройства Hub в базу продукта:

administrator@hub] run cert_mgr import -f media:S-TERRA/hub.cer

1 OK C=RU,O=S-Terra CSP,OU=Research,CN=Hub

11.  Выполните проверку статуса сертификатов в базе продукта:

administrator@hub] run cert_mgr check

1 State: Inactive 1.2.840.113549.1.9.1=support@cryptopro.ru,C=RU,L=Moscow,O=CRYPTO-PRO LLC,CN=CRYPTO-PRO Test Center 2

                  Certificate can not be verified.

2 State: Inactive C=RU,O=S-Terra CSP,OU=Research,CN=Hub

                  Certificate can not be verified.

Видно, что все сертификаты имеют статус Inactive (неактивный) с пометкой: «Certificate can not be verified» (сертификат не может быть проверен). Причиной этому является включенный по умолчанию в CGW CLI механизм проверки списка отозванных сертификатов (далее СОС или CRL). Так как в базе продукта данный СОС отсутствует, поэтому проверка не может быть осуществлена.

Далее, в CGW CLI, загрузка СОС и импортирование его в базу продукта будут настроены автоматически по протоколу HTTP с сервера CRL_distribution_point.

Настройки в CLI разграничения доступа завершены.

Настройка шифрования (IPsec) в CGW CLI

1.    Перейдите в CGW CLI, введя логин и пароль для CGW CLI.

Пользователь и пароль по умолчанию: cscons, password; пароль по умолчанию должен был быть изменен в соответствии с п. 1.2 раздела «Изменение паролей для пользователей admin и cscons»).

administrator@hub] configure

hub login: cscons

Password:

S-Terra Gate security console

cgw:hub#

2.    Выполните команду по синхронизации сетевых интерфейсов между консолями CGW CLI и ESR CLI:

cgw:hub#synchronize network-interfaces

При выполнении данной команды из CGW CLI удалятся сетевые интерфейсы gi1/5 – 24, так как данные интерфейсы объединены в коммутатор (L2) и на них СКЗИ не может контролировать трафик.

Рекомендуется всегда выполнять данную команду перед конфигурированием СКЗИ.

3.    Перейдите в режим конфигурирования:

cgw:hub#configure terminal

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

cgw:hub(config)#

4.    Задайте пароль на enable (в данном примере в качестве пароля используется слово password):

cgw:hub(config)#enable secret 0 password

5.    Укажите в качестве типа идентификатора, используемого в рамках протокола IKE, отличительное имя (Distinguished Name, DN):

cgw:hub(config)#crypto isakmp identity dn

По умолчанию отличительное имя будет взято из сертификата устройства, например, для Hub это «C=RU,O=S-Terra CSP,OU=Research,CN=Hub».

6.    Настройте параметры DPD (deep peer detection):

cgw:hub(config)#crypto isakmp keepalive 1 3

cgw:hub(config)#crypto isakmp keepalive retry-count 3

Механизм DPD в случае детектирования того, что партнер по IKE не отвечает на пакеты keepalive за заданный интервал времени, удаляет неактивный IKE туннель и связанные с ним IPsec туннели.

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

cgw:hub(config)#crypto isakmp session-time-max 10

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

cgw:hub(config)#crypto isakmp policy 1

cgw:hub(config-isakmp)#encryption gost

cgw:hub(config-isakmp)#hash gost341112-256-tc26

cgw:hub(config-isakmp)#authentication gost-sig

cgw:hub(config-isakmp)#group vko2

Рекомендуется использовать одну политику для IKE туннелей. Несколько политик может потребоваться в том случае, если необходимо обеспечить совместимость со старыми версиями С-Терра Шлюз, в которых нет поддержки новых алгоритмов.

9.    Задайте алгоритм шифрования и контроля целостности (набор преобразований) для трафика:

cgw:hub(config)#crypto ipsec transform-set GOST esp-gost28147-4m-imit

cgw:hub(cfg-crypto-trans)#exit

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

cgw:hub(config)#ip access-list extended hub_spoke

cgw:hub(config-ext-nacl)#permit ip 192.168.20.0 0.0.0.255 192.168.1.0 0.0.0.255

cgw:hub(config-ext-nacl)#exit

cgw:hub(config)#

В списках доступа используется обратная маска.

11.  Создание крипто-карт.

Количество крипто-карт должно соответствовать количеству внешних интерфейсов (отличие между крипто-картами в данном сценарии будет только в значении параметра local-address).

Параметр local-address нужно использовать обязательно.

11.1.   Создайте крипто-карту (имя ISP1, раздел 1) для интерфейса GigabitEthernet1/1:

cgw:hub(config)#crypto map ISP1 1 ipsec-isakmp

11.1.1   Укажите список доступа для трафика, который нужно шифровать:

cgw:hub(config-crypto-map)#match address hub_spoke

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

cgw:hub(config-crypto-map)#set transform-set GOST

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

cgw:hub(config-crypto-map)#set peer 172.16.10.2

11.1.4   Укажите локальный IP-адрес интерфейса GigabitEthernet1/1:

cgw:hub(config-crypto-map)#set local-address 172.16.15.2

cgw:hub(config-crypto-map)#exit

Если партнеров по IPsec несколько, то необходимо в другом разделе данной крипто-карты (например, crypto map ISP1 2 ipsec-isakmp) задать соответствующие параметры.

11.2.   Создайте крипто-карту (имя ISP2, раздел 1) для интерфейса GigabitEthernet1/2:

cgw:hub(config)#crypto map ISP2 1 ipsec-isakmp

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

cgw:hub(config-crypto-map)#match address hub_spoke

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

cgw:hub(config-crypto-map)#set transform-set GOST

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

cgw:hub(config-crypto-map)#set peer 172.16.10.2

11.2.4   Укажите локальный IP-адрес интерфейса GigabitEthernet1/2:

cgw:hub(config-crypto-map)#set local-address 172.16.16.2

cgw:hub(config-crypto-map)#exit

12.  Создайте списки доступа для блокировки исходящих IKE/NAT-T пакетов, которые имеют IP-адрес источника отличный от того, что задан на том внешнем интерфейсе, к которому данные списки доступа будут прикрепляться:

cgw:hub(config)#ip access-list extended DROP_IKE_FROM_GI1/1

cgw:hub(config-ext-nacl)# deny udp host 172.16.15.2 eq isakmp any

cgw:hub(config-ext-nacl)# deny udp host 172.16.15.2 eq non500-isakmp any

cgw:hub(config-ext-nacl)# permit ip any any

cgw:hub(config-ext-nacl)#exit

cgw:hub(config-ext-nacl)#ip access-list extended DROP_IKE_FROM_GI1/2

cgw:hub(config-ext-nacl)# deny udp host 172.16.16.2 eq isakmp any

cgw:hub(config-ext-nacl)# deny udp host 172.16.16.2 eq non500-isakmp any

cgw:hub(config-ext-nacl)# permit ip any any

cgw:hub(config-ext-nacl)#exit

Список доступа DROP_IKE_FROM_GI1/2 будет использоваться для блокировки на интерфейсе GigabitEthernet1/1 исходящих IKE/NAT-T пакетов, которые имеют IP-адрес источника, принадлежащий к интерфейсу GigabitEthernet1/2 (для DROP_IKE_FROM_GI1/1 аналогично).

Цель данных ACL – запрещать Spoke (или любым другим партнерам) строить ISAKMP/IPsec SA с Hub через резервные каналы, если основной находится в рабочем состоянии.

ВАЖНО: Данные списки доступа должны применяться в паре с настройками в ESR CLI, которые отключают source NAT для локальных IKE пакетов.

13.  Прикрепите созданные крипто-карты и списки доступа к внешним интерфейсам GigabitEthernet1/1 и GigabitEthernet1/2:

cgw:hub(config)#interface GigabitEthernet 1/1

cgw:hub(config-if)#crypto map ISP1

cgw:hub(config-if)#ip access-group DROP_IKE_FROM_GI1/2 out

cgw:hub(config-if)#exit

cgw:hub(config)#interface gigabitEthernet 1/2

cgw:hub(config-if)#crypto map ISP2

cgw:hub(config-if)#ip access-group DROP_IKE_FROM_GI1/1 out

cgw:hub(config-if)#exit

Интерфейсы GigabitEthernet1/1, GigabitEthernet1/2 в консоли CGW CLI соответствуют интерфейсам gigabitethernet 1/0/1, gigabitethernet 1/0/2 в консоли ESR CLI.

14.  Настройте автоматическую загрузку и импортирование в базу продукта списка отозванных сертификатов с сервера CRL_distribution_point:

cgw:hub(config)#crypto pki trustpoint s-terra_technological_trustpoint

cgw:hub(ca-trustpoint)#crl download group CA http://172.17.10.100/crl.crl

cgw:hub(ca-trustpoint)#crl download time 60

cgw:hub(ca-trustpoint)#exit

Загрузка СОС будет происходить раз в 60 минут.

Разностные списки отозванных сертификатов (delta CRL) не поддерживаются.

Если использование СОС не предполагается, то отключите их проверку:

cgw:hub(config)#crypto pki trustpoint s-terra_technological_trustpoint

cgw:hub(ca-trustpoint)#revocation-check none

15.  Примените настройки консоли CGW CLI:

cgw:hub(config)#end

cgw:hub#

Настройки CGW CLI применяются при выходе из режима конфигурирования.

Настройки в CGW CLI завершены. Конфигурация устройства Hub приведена в Приложении.

Настройка host_behind_spoke

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

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

3.    Разрешите прием входящих ICMP пакетов.

Настройка криптомаршрутизатора Spoke

Устройство Spoke настраивается аналогично устройству Hub, за исключением:

1.    ESR CLI.

1.1.     Используются соответствующие IP-адреса (см. схему взаимодействия).

1.2.     Source NAT настраивается для одного интерфейса (так как на Spoke только один внешний интерфейс).

1.3.     MultiWAN не настраивается.

2.    CGW CLI.

Не забудьте перед началом настройки выполнить команду synchronize network-interfaces.

2.1.     Используется только одна крипто-карта, в которой указываются два пира для Hub (сначала с основным провайдером, потом с резервным) и не указывается параметр local-address:

cgw:spoke(config)#crypto map VPN 1 ipsec-isakmp

cgw:spoke(config-crypto-map)#match address hub_spoke

cgw:spoke(config-crypto-map)#set transform-set GOST

cgw:spoke(config-crypto-map)#set peer 172.16.15.2

cgw:spoke(config-crypto-map)#set peer 172.16.16.2

cgw:spoke(config-crypto-map)#exit

Конфигурация консоли ESR CLI приведена в Приложении.

Конфигурация консоли CGW CLI приведена в Приложении.

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

Проверка доступа в Интернет из подсети Hub

1.    Выполните команду с устройства host_behind_hub:

root@host_behind_hub:~# ping 172.17.10.100 -c 4

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

64 bytes from 172.17.10.100: icmp_req=1 ttl=61 time=1.15 ms

64 bytes from 172.17.10.100: icmp_req=2 ttl=61 time=1.27 ms

64 bytes from 172.17.10.100: icmp_req=3 ttl=61 time=1.21 ms

64 bytes from 172.17.10.100: icmp_req=4 ttl=61 time=1.03 ms

 

--- 172.17.10.100 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3004ms

rtt min/avg/max/mdev = 1.033/1.169/1.270/0.094 ms

1.1.     Убедитесь, что данные ICMP пакеты попадают под правила Source NAT.

1.1.1      Войдите в ESR CLI устройства Hub.

1.1.2      Выполните команду:

esr:hub# show ip nat translations         

Рисунок 6. Таблица трансляций NAT на Hub

Видно, что доступ в Интернет успешно осуществляется из подсети 192.168.20.0/24 устройства Hub. Правила Source NAT отрабатывают верно (см. рисунок 6).

Проверка доступа в Интернет из подсети Spoke

1.    Выполните команду с устройства host_behind_spoke:

root@host_behind_spoke:~# ping 172.17.10.100 -c 4

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

64 bytes from 172.17.10.100: icmp_req=1 ttl=61 time=2.25 ms

64 bytes from 172.17.10.100: icmp_req=2 ttl=61 time=1.42 ms

64 bytes from 172.17.10.100: icmp_req=3 ttl=61 time=1.28 ms

64 bytes from 172.17.10.100: icmp_req=4 ttl=61 time=1.15 ms

 

--- 172.17.10.100 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3004ms

rtt min/avg/max/mdev = 1.154/1.528/2.253/0.430 ms

1.1.     Убедитесь, что данные ICMP пакеты попадают под правила Source NAT.

1.1.1      Войдите в ESR CLI устройства Spoke.

1.1.2      Выполните команду:

esr:spoke# show ip nat translations

Рисунок 7. Таблица трансляций NAT на Spoke

Видно, что доступ в Интернет успешно осуществляется из подсети 192.168.1.0/24 устройства Spoke. Правила Source NAT отрабатывают верно (см. рисунок 7).

Проверка IP связности между Hub и Spoke

С устройства Hub из консоли ESR CLI выполните команду ping на внешний IP-адрес устройства Spoke:

esr:hub# ping 172.16.10.2 packets 4

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

!!!!

--- 172.16.10.2 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3002ms

rtt min/avg/max/mdev = 0.675/1.094/1.368/0.270 ms

Видно, что ICMP пакеты между Hub и Spoke успешно проходят.

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

1.    Проверьте, что СОС на устройствах Hub и Spoke импортирован в базу продукта.

1.1.     Проверьте, что СОС на устройстве Hub импортирован в базу продукта:

administrator@hub] run cert_mgr show

Found 2 certificates. Found 1 CRL.

1 Status: trusted 1.2.840.113549.1.9.1=support@cryptopro.ru,C=RU,L=Moscow,O=CRYPTO-PRO LLC,CN=CRYPTO-PRO Test Center 2

2 Status: local   C=RU,O=S-Terra CSP,OU=Research,CN=Hub

3 CRL: 1.2.840.113549.1.9.1=support@cryptopro.ru,C=RU,L=Moscow,O=CRYPTO-PRO LLC,CN=CRYPTO-PRO Test Center 2

1.2.     Проверьте, что СОС на устройстве Spoke импортирован в базу продукта:

administrator@spoke] run cert_mgr show

Found 2 certificates. Found 1 CRL.

1 Status: trusted 1.2.840.113549.1.9.1=support@cryptopro.ru,C=RU,L=Moscow,O=CRYPTO-PRO LLC,CN=CRYPTO-PRO Test Center 2

2 Status: local   C=RU,O=S-Terra CSP,OU=Research,CN=Spoke

3 CRL: 1.2.840.113549.1.9.1=support@cryptopro.ru,C=RU,L=Moscow,O=CRYPTO-PRO LLC,CN=CRYPTO-PRO Test Center 2

2.    Проверьте статусы сертификатов на устройствах Hub и Spoke.

2.1.     Проверьте, что на устройстве Hub все сертификаты имеют статус Active:

administrator@hub] run cert_mgr check

1 State: Active   1.2.840.113549.1.9.1=support@cryptopro.ru,C=RU,L=Moscow,O=CRYPTO-PRO LLC,CN=CRYPTO-PRO Test Center 2

2 State: Active   C=RU,O=S-Terra CSP,OU=Research,CN=Hub

2.2.     Проверьте, что на устройстве Spoke все сертификаты имеют статус Active:

administrator@spoke] run cert_mgr check

1 State: Active   1.2.840.113549.1.9.1=support@cryptopro.ru,C=RU,L=Moscow,O=CRYPTO-PRO LLC,CN=CRYPTO-PRO Test Center 2

2 State: Active   C=RU,O=S-Terra CSP,OU=Research,CN=Spoke

Видно, что на всех устройствах СОС импортирован в базу продукта и все сертификаты находятся в активном состоянии.

3.    Инициируйте построение защищенного соединения с устройства host_behind_hub, выполнив команду ping с IP адресом назначения устройства host_behind_spoke:

root@host_behind_hub:~# ping 192.168.1.100 -c 4

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

64 bytes from 192.168.1.100: icmp_req=1 ttl=62 time=3389 ms

64 bytes from 192.168.1.100: icmp_req=2 ttl=62 time=2381 ms

64 bytes from 192.168.1.100: icmp_req=3 ttl=62 time=1373 ms

64 bytes from 192.168.1.100: icmp_req=4 ttl=62 time=365 ms

 

--- 192.168.1.100 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3023ms

rtt min/avg/max/mdev = 365.861/1877.807/3389.635/1126.901 ms, pipe 4

Большие задержки (RTT) только у первых пакетов, так как в этот момент происходит построение защищенного соединения.

3.1.     Убедитесь в наличии защищенного соединения на устройстве Hub:

administrator@hub] 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.15.2,500)-(172.16.10.2,500) active 1968 1876

 

IPsec connections:

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

1 1 (192.168.20.0-192.168.20.255,*)-(192.168.1.0-192.168.1.255,*) * ESP tunn 352 352

3.2.     Убедитесь в наличии защищенного соединения на устройстве Spoke:

administrator@spoke] 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.10.2,500)-(172.16.15.2,500) active 1876 1968

 

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.20.0-192.168.20.255,*) * ESP tunn 352 352

Видно, что защищенное соединение между устройствами Hub и Spoke успешно установлено.

Проверка резервирования внешних каналов связи

Переключение с основного на резервный

1.    Запустите бесконечный пинг с устройства host_behind_spoke на host_behind_hub:

root@host_behind_spoke:~# ping 192.168.20.100

2.    Приведите основной канал (интерфейс gi1/0/1) устройства Hub в неработоспособное состояние (например отключите кабель или заблокируйте ICMP пакеты на IP-адрес 172.17.10.100).

3.    Подождите 15-20 секунд до появления следующего сообщения на консоли устройства Hub:

MultiWAN (cgw-notify): switching routes from GigabitEthernet1/1 to GigabitEthernet1/2

4.    В выводе программы ping на устройстве host_behind_spoke видны потери пакетов, после чего связь успешно восстанавливается:

64 bytes from 192.168.20.100: icmp_req=364 ttl=62 time=1.85 ms

64 bytes from 192.168.20.100: icmp_req=365 ttl=62 time=1.93 ms

64 bytes from 192.168.20.100: icmp_req=366 ttl=62 time=2.03 ms

64 bytes from 192.168.20.100: icmp_req=380 ttl=62 time=12106 ms

64 bytes from 192.168.20.100: icmp_req=383 ttl=62 time=9082 ms

64 bytes from 192.168.20.100: icmp_req=386 ttl=62 time=6058 ms

64 bytes from 192.168.20.100: icmp_req=384 ttl=62 time=8074 ms

64 bytes from 192.168.20.100: icmp_req=381 ttl=62 time=11098 ms

64 bytes from 192.168.20.100: icmp_req=385 ttl=62 time=7066 ms

64 bytes from 192.168.20.100: icmp_req=387 ttl=62 time=5050 ms

64 bytes from 192.168.20.100: icmp_req=382 ttl=62 time=10090 ms

64 bytes from 192.168.20.100: icmp_req=393 ttl=62 time=2.04 ms

64 bytes from 192.168.20.100: icmp_req=394 ttl=62 time=1.46 ms

5.    Проверьте на устройстве Hub, что маршрут по умолчанию добавлен через резервный интерфейс gi1/0/2:

esr:hub# show ip route

 Codes: C - connected, S - static, R - RIP derived,

        O - OSPF derived, IA - OSPF inter area route,

        E1 - OSPF external type 1 route, E2 - OSPF external type 2 route

        B - BGP derived, D - DHCP derived, K - kernel route,

        * - FIB route

 

S     * 0.0.0.0/0          [1/0]   via 172.16.16.1 on gi1/0/2        [static 09:46:12]

C     * 192.168.20.0/24    [0/0]   dev br1                           [direct 2017-11-16]

C     * 172.16.15.0/24     [0/0]   dev gi1/0/1                       [direct 2017-11-16]

C     * 172.16.16.0/24     [0/0]   dev gi1/0/2                       [direct 2017-11-16]

6.    Проверьте на устройстве Hub состояние MultiWAN (основной интерфейс должен быть неактивен, а маршрут по умолчанию должен быть добавлен через резервный интерфейс):

esr:hub# show wan interfaces status

Interface       Nexthop                   Status     Uptime/Downtime

-------------   -----------------------   --------   ------------------------------------------

gi1/0/1         172.16.15.1               Inactive   --

gi1/0/2         172.16.16.1               Active     --

esr:hub# show wan rules

Rule 1 detailed information:

    Failover:     Enabled

    Network: 0.0.0.0/0 Metric: 0

        gi1/0/2 Weight: 1 Nexthop: 172.16.16.1 [Active]

7.    Проверьте на устройстве Hub информацию о защищенных соединениях:

administrator@hub] 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 9 (172.16.16.2,500)-(172.16.10.2,500) active 1876 1968

 

IPsec connections:

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

1 2 (192.168.20.0-192.168.20.255,*)-(192.168.1.0-192.168.1.255,*) * ESP tunn 54648 54648

Видно, что переключение выполнено успешно: маршрут по умолчанию добавлен через резервный интерфейс; защищенное соединение также успешно построено с IP-адреса, принадлежащего резервному интерфейсу gi1/0/2.

Переключение с резервного на основной

1.    Восстановите основной канал.

2.    Подождите 10-15 секунд до появления следующего сообщения на консоли устройства Hub:

MultiWAN (cgw-notify): switching routes from GigabitEthernet1/2 to GigabitEthernet1/1

3.    В выводе программы ping на устройстве host_behind_spoke видны потери пакетов, после чего связь успешно восстанавливается:

64 bytes from 192.168.20.100: icmp_req=1647 ttl=62 time=1.68 ms

64 bytes from 192.168.20.100: icmp_req=1648 ttl=62 time=1.86 ms

64 bytes from 192.168.20.100: icmp_req=1649 ttl=62 time=1.94 ms

64 bytes from 192.168.20.100: icmp_req=1650 ttl=62 time=1.77 ms

64 bytes from 192.168.20.100: icmp_req=1665 ttl=62 time=13376 ms

64 bytes from 192.168.20.100: icmp_req=1667 ttl=62 time=11360 ms

64 bytes from 192.168.20.100: icmp_req=1666 ttl=62 time=12368 ms

64 bytes from 192.168.20.100: icmp_req=1668 ttl=62 time=10352 ms

64 bytes from 192.168.20.100: icmp_req=1669 ttl=62 time=9344 ms

64 bytes from 192.168.20.100: icmp_req=1670 ttl=62 time=8336 ms

64 bytes from 192.168.20.100: icmp_req=1671 ttl=62 time=7328 ms

4.    Проверьте на устройстве Hub, что маршрут по умолчанию снова добавлен через основной интерфейс gi1/0/1:

esr:hub# show ip route

 Codes: C - connected, S - static, R - RIP derived,

        O - OSPF derived, IA - OSPF inter area route,

        E1 - OSPF external type 1 route, E2 - OSPF external type 2 route

        B - BGP derived, D - DHCP derived, K - kernel route,

        * - FIB route

 

S     * 0.0.0.0/0          [1/0]   via 172.16.15.1 on gi1/0/1        [static 10:07:38]

C     * 192.168.20.0/24    [0/0]   dev br1                           [direct 2017-11-16]

C     * 172.16.15.0/24     [0/0]   dev gi1/0/1                       [direct 2017-11-16]

C     * 172.16.16.0/24     [0/0]   dev gi1/0/2                       [direct 2017-11-16]

5.    Проверьте на устройстве Hub состояние MultiWAN (основной интерфейс должен быть снова активен, маршрут по умолчанию должен быть добавлен через основной интерфейс):

esr:hub# show wan interfaces status

Interface       Nexthop                   Status     Uptime/Downtime

-------------   -----------------------   --------   ------------------------------------------

gi1/0/1         172.16.15.1               Active     --

gi1/0/2         172.16.16.1               Active     --

esr:hub# show wan rules

Rule 1 detailed information:

    Failover:     Enabled

    Network: 0.0.0.0/0 Metric: 0

        gi1/0/1 Weight: 255 Nexthop: 172.16.15.1 [Active]

6.    Проверьте на устройстве Hub информацию о защищенных соединениях:

administrator@hub] 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 15 (172.16.15.2,500)-(172.16.10.2,500) active 1876 1968

 

IPsec connections:

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

1 3 (192.168.20.0-192.168.20.255,*)-(192.168.1.0-192.168.1.255,*) * ESP tunn 8624 8624

Видно, что обратное переключение также выполнено успешно: маршрут по умолчанию снова добавлен через основной интерфейс; защищенное соединение также успешно построено с IP-адреса, принадлежащего основному интерфейсу gi1/0/1.

Приложение

Конфигурация ESR CLI для устройства Hub

hostname hub

 

username admin

  password encrypted $6$2/q4OFeT5PVnj8Ma$88EfPcF1wjdzGgWXsLY5Pq7JTwIt7SQrgvvojeAkxAwgnsba8IwnqV7lJQJ8n2oykjA1jlH0rIGLYhgybW/8H/

exit

username cscons

  password encrypted $6$gL1pRiCEODthUFN6$vUmSnA4LBTLFc5Dm6iJougHHYWVJDbLowhOOVwinMwbomLLYpHrmy/12gm8bVhAWs2c6QAFWg6fMMYMQ8Ch2i0

exit

 

security zone trusted

exit

security zone untrusted

exit

 

object-group service SSH

  port-range 22

exit

object-group service IKE500

  port-range 500

exit

object-group service IKE4500

  port-range 4500

exit

 

object-group network LAN_HUB

  ip prefix 192.168.20.0/24

exit

object-group network LAN_SPOKE

  ip prefix 192.168.1.0/24

exit

 

 

wan load-balance target-list host_in_internet

  target 1

    ip address 172.17.10.100

    enable

  exit

exit

 

bridge 1

  vlan 1

  security-zone trusted

  ip address 192.168.20.1/24

  enable

exit

 

interface gigabitethernet 1/0/1

  security-zone untrusted

  ip address 172.16.15.2/24

  wan load-balance nexthop 172.16.15.1

  wan load-balance source-address 172.16.15.2

  wan load-balance target-list host_in_internet

  wan load-balance enable

exit

interface gigabitethernet 1/0/2

  security-zone untrusted

  ip address 172.16.16.2/24

  wan load-balance nexthop 172.16.16.1

  wan load-balance source-address 172.16.16.2

  wan load-balance target-list host_in_internet

  wan load-balance enable

exit

interface gigabitethernet 1/0/3

  shutdown

exit

interface gigabitethernet 1/0/4

  shutdown

exit

interface gigabitethernet 1/0/5

  switchport

exit

interface gigabitethernet 1/0/6

  switchport

exit

interface gigabitethernet 1/0/7

  switchport

exit

interface gigabitethernet 1/0/8

  switchport

exit

interface gigabitethernet 1/0/9

  switchport

exit

interface gigabitethernet 1/0/10

  switchport

exit

interface gigabitethernet 1/0/11

  switchport

exit

interface gigabitethernet 1/0/12

  switchport

exit

interface gigabitethernet 1/0/13

  switchport

exit

interface gigabitethernet 1/0/14

  switchport

exit

interface gigabitethernet 1/0/15

  switchport

exit

interface gigabitethernet 1/0/16

  switchport

exit

interface gigabitethernet 1/0/17

  switchport

exit

interface gigabitethernet 1/0/18

  switchport

exit

interface gigabitethernet 1/0/19

  switchport

exit

interface gigabitethernet 1/0/20

  switchport

exit

interface gigabitethernet 1/0/21

  switchport

exit

interface gigabitethernet 1/0/22

  switchport

exit

interface gigabitethernet 1/0/23

  switchport

exit

interface gigabitethernet 1/0/24

  switchport

exit

interface tengigabitethernet 1/0/1

  shutdown

exit

interface tengigabitethernet 1/0/2

  shutdown

exit

security zone-pair trusted untrusted

  rule 10

    action permit

    match protocol any

    match source-address any

    match destination-address any

    enable

  exit

exit

security zone-pair trusted trusted

  rule 10

    action permit

    match protocol any

    match source-address any

    match destination-address any

    enable

  exit

exit

security zone-pair untrusted trusted

  rule 10

    action permit

    match protocol any

    match source-address any

    match destination-address any

    match ipsec-decrypted

    enable

  exit

exit

security zone-pair trusted self

  rule 10

    action permit

    match protocol tcp

    match source-address any

    match destination-address any

    match source-port any

    match destination-port SSH

    enable

  exit

  rule 20

    action permit

    match protocol icmp

    match source-address any

    match destination-address any

    enable

  exit

exit

security zone-pair untrusted self

  rule 10

    action permit

    match protocol icmp

    match source-address any

    match destination-address any

    enable

  exit

  rule 20

    action permit

    match protocol any

    match source-address any

    match destination-address any

    match ipsec-decrypted

    enable

  exit

  rule 30

    action permit

    match protocol udp

    match source-address any

    match destination-address any

    match source-port any

    match destination-port IKE500

    enable

  exit

  rule 40

    action permit

    match protocol udp

    match source-address any

    match destination-address any

    match source-port any

    match destination-port IKE4500

    enable

  exit

exit

 

nat source

  ruleset SNAT_ON_GI101

    to interface gigabitethernet 1/0/1

    rule 10

      description "disable SNAT for local IKE packets"

      match source-address any

      match destination-address any

      match ike-local

      action source-nat off

      enable

    exit

    rule 20

      description "disable SNAT for traffic which must be protected by IPsec"

      match protocol any

      match source-address LAN_HUB

      match destination-address LAN_SPOKE

      action source-nat off

      enable

    exit

    rule 30

      description "enable dynamic SNAT for traffic to Internet"

      match protocol any

      match source-address any

      match destination-address any

      action source-nat netmap 172.16.15.2/32

      enable

    exit

  exit

  ruleset SNAT_ON_GI102

    to interface gigabitethernet 1/0/2

    rule 10

      description "disable SNAT for local IKE packets"

      match source-address any

      match destination-address any

      match ike-local

      action source-nat off

      enable

    exit

    rule 20

      description "disable SNAT for traffic which must be protected by IPsec"

      match protocol any

      match source-address LAN_HUB

      match destination-address LAN_SPOKE

      action source-nat off

      enable

    exit

    rule 30

      description "enable dynamic SNAT for traffic to Internet"

      match protocol any

      match source-address any

      match destination-address any

      action source-nat netmap 172.16.16.2/32

      enable

    exit

  exit

exit

 

ip route 0.0.0.0/0 wan load-balance rule 1

 

wan load-balance rule 1

  failover

  failover cgw-notify

  outbound interface gigabitethernet 1/0/1 255

  outbound interface gigabitethernet 1/0/2

  enable

exit

 

ip ssh server

Конфигурация CGW CLI для устройства Hub

version 12.4

no service password-encryption

!

crypto ipsec df-bit copy

crypto isakmp identity dn

crypto isakmp session-time-max 10

crypto isakmp keepalive 1 3

crypto isakmp keepalive retry-count 3

aaa new-model

!

!

hostname hub

enable secret 5 X03MO1qnZdYdgyfeuILPmQ==

!

!

!

!

!

crypto isakmp policy 1

 encr gost

 hash gost341112-256-tc26

 authentication gost-sig

 group vko2

!

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

!

ip access-list extended hub_spoke

 permit ip 192.168.20.0 0.0.0.255 192.168.1.0 0.0.0.255

!

ip access-list extended DROP_IKE_FROM_GI1/1

 deny   udp host 172.16.15.2 eq isakmp any

 deny   udp host 172.16.15.2 eq non500-isakmp any

 permit ip any any

!

ip access-list extended DROP_IKE_FROM_GI1/2

 deny   udp host 172.16.16.2 eq isakmp any

 deny   udp host 172.16.16.2 eq non500-isakmp any

 permit ip any any

!

!

crypto map ISP1 1 ipsec-isakmp

 match address hub_spoke

 set transform-set GOST

 set local-address 172.16.15.2

 set peer 172.16.10.2

!

crypto map ISP2 1 ipsec-isakmp

 match address hub_spoke

 set transform-set GOST

 set local-address 172.16.16.2

 set peer 172.16.10.2

!

interface GigabitEthernet1/1

 ip address 172.16.15.2 255.255.255.0

 ip access-group DROP_IKE_FROM_GI1/2 out

 crypto map ISP1

!

interface GigabitEthernet1/2

 ip address 172.16.16.2 255.255.255.0

 ip access-group DROP_IKE_FROM_GI1/1 out

 crypto map ISP2

!

interface GigabitEthernet1/3

 no ip address

 shutdown

!

interface GigabitEthernet1/4

 no ip address

 shutdown

!

interface TenGigabitEthernet1/1

 no ip address

 shutdown

!

interface TenGigabitEthernet1/2

 no ip address

 shutdown

!

interface Bridge1

 ip address 192.168.20.1 255.255.255.0

!

!

!

crypto pki trustpoint s-terra_technological_trustpoint

 revocation-check crl

 crl download group CA http://172.17.10.100/crl.crl

 crl download time 60

crypto pki certificate chain s-terra_technological_trustpoint

certificate 2B6E3351FD6EB2AD48200203CB5BA141

3082024C308201FBA00302010202102B6E3351FD6EB2AD48200203CB5BA14130

...

E34EE9640D905032C1F1E3B4491257D5

 

quit

!

end

Конфигурация ESR CLI для устройства Spoke

hostname spoke

 

username admin

  password encrypted $6$2/q4OFeT5PVnj8Ma$88EfPcF1wjdzGgWXsLY5Pq7JTwIt7SQrgvvojeAkxAwgnsba8IwnqV7lJQJ8n2oykjA1jlH0rIGLYhgybW/8H/

exit

username cscons

  password encrypted $6$gL1pRiCEODthUFN6$vUmSnA4LBTLFc5Dm6iJougHHYWVJDbLowhOOVwinMwbomLLYpHrmy/12gm8bVhAWs2c6QAFWg6fMMYMQ8Ch2i0

exit

 

security zone trusted

exit

security zone untrusted

exit

 

object-group service SSH

  port-range 22

exit

object-group service IKE500

  port-range 500

exit

object-group service IKE4500

  port-range 4500

exit

 

object-group network LAN_HUB

  ip prefix 192.168.20.0/24

exit

object-group network LAN_SPOKE

  ip prefix 192.168.1.0/24

exit

 

 

bridge 1

  vlan 1

  security-zone trusted

  ip address 192.168.1.1/24

  enable

exit

 

interface gigabitethernet 1/0/1

  security-zone untrusted

  ip address 172.16.10.2/24

exit

interface gigabitethernet 1/0/2

  shutdown

exit

interface gigabitethernet 1/0/3

  switchport

exit

interface gigabitethernet 1/0/4

  switchport

exit

interface gigabitethernet 1/0/5

  switchport

exit

interface gigabitethernet 1/0/6

  switchport

exit

interface gigabitethernet 1/0/7

  switchport

exit

interface gigabitethernet 1/0/8

  switchport

exit

security zone-pair trusted untrusted

  rule 10

    action permit

    match protocol any

    match source-address any

    match destination-address any

    enable

  exit

exit

security zone-pair trusted trusted

  rule 10

    action permit

    match protocol any

    match source-address any

    match destination-address any

    enable

  exit

exit

security zone-pair untrusted trusted

  rule 10

    action permit

    match protocol any

    match source-address any

    match destination-address any

    match ipsec-decrypted

    enable

  exit

exit

security zone-pair trusted self

  rule 10

    action permit

    match protocol tcp

    match source-address any

    match destination-address any

    match source-port any

    match destination-port SSH

    enable

  exit

  rule 20

    action permit

    match protocol icmp

    match source-address any

    match destination-address any

    enable

  exit

exit

security zone-pair untrusted self

  rule 10

    action permit

    match protocol icmp

    match source-address any

    match destination-address any

    enable

  exit

  rule 20

    action permit

    match protocol any

    match source-address any

    match destination-address any

    match ipsec-decrypted

    enable

  exit

  rule 30

    action permit

    match protocol udp

    match source-address any

    match destination-address any

    match source-port any

    match destination-port IKE500

    enable

  exit

  rule 40

    action permit

    match protocol udp

    match source-address any

    match destination-address any

    match source-port any

    match destination-port IKE4500

    enable

  exit

exit

 

nat source

  ruleset SNAT_ON_GI101

    to interface gigabitethernet 1/0/1

    rule 10

      description "disable SNAT for local IKE packets"

      match source-address any

      match destination-address any

      match ike-local

      action source-nat off

      enable

    exit

    rule 20

      description "disable SNAT for traffic which must be protected by IPsec"

      match protocol any

      match source-address LAN_SPOKE

      match destination-address LAN_HUB

      action source-nat off

      enable

    exit

    rule 30

      description "enable dynamic SNAT for traffic to Internet"

      match protocol any

      match source-address any

      match destination-address any

      action source-nat netmap 172.16.10.2/32

      enable

    exit

  exit

exit

 

ip route 0.0.0.0/0 172.16.10.1

 

ip ssh server

Конфигурация CGW CLI для устройства Spoke

version 12.4

no service password-encryption

!

crypto ipsec df-bit copy

crypto isakmp identity dn

crypto isakmp session-time-max 10

crypto isakmp keepalive 1 3

crypto isakmp keepalive retry-count 3

aaa new-model

!

!

hostname spoke

enable secret 5 X03MO1qnZdYdgyfeuILPmQ==

!

!

!

!

!

crypto isakmp policy 1

 encr gost

 hash gost341112-256-tc26

 authentication gost-sig

 group vko2

!

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

!

ip access-list extended hub_spoke

 permit ip 192.168.1.0 0.0.0.255 192.168.20.0 0.0.0.255

!

!

crypto map VPN 1 ipsec-isakmp

 match address hub_spoke

 set transform-set GOST

 set peer 172.16.15.2

 set peer 172.16.16.2

!

interface GigabitEthernet1/1

 ip address 172.16.10.2 255.255.255.0

 crypto map VPN

!

interface GigabitEthernet1/2

 no ip address

 shutdown

!

interface Bridge1

 ip address 192.168.1.1 255.255.255.0

!

!

!

crypto pki trustpoint s-terra_technological_trustpoint

 revocation-check crl

 crl download group CA http://172.17.10.100/crl.crl

 crl download time 60

crypto pki certificate chain s-terra_technological_trustpoint

certificate 2B6E3351FD6EB2AD48200203CB5BA141

3082024C308201FBA00302010202102B6E3351FD6EB2AD48200203CB5BA14130

...

E34EE9640D905032C1F1E3B4491257D5

quit

!

end