Построение отказоустойчивого решения на базе протокола VRRP
Данный сценарий содержит пример настойки отказоустойчивого кластера из криптомаршрутизаторов ESR-ST (далее ESR-ST).
Так же сценарий описывает настройку безопасного взаимодействия между защищаемыми подсетями центрального офиса и филиала. Обеспечение безопасного взаимодействия достигается путем шифрования и туннелирования трафика с применением отечественных отраслевых стандартов ГОСТ и протокола IPsec.
Оператор (или администратор) должен обладать обширными знаниями в области сетевой информационной безопасности, иметь опыт работы с аналогичным оборудованием, знать и понимать следующие технологии и протоколы: PKI, IPsec, NAT, Firewall, routing.
Оператор должен быть ознакомлен с документами:
· Консоли управления в ESR-ST;
· Процедура инициализации ESR-ST;
· Сетевые интерфейсы в ESR-ST;
· Порядок обработки пакетов в сетевых подсистемах ESR-ST;
· Обеспечение безопасного взаимодействия между защищаемыми подсетями центрального офиса и филиала путем шифрования трафика. Site-to-site IPsec (ГОСТ) VPN.
К представленной схеме взаимодействия (см. рисунок 1) предъявляются следующие предварительные требования:
1. Криптомаршрутизаторы Hub-n1, Hub-n2 и Spoke должны быть инициализированы (см. документ «Процедура инициализации ESR-ST»).
2. Обеспеченность связностью на уровне IP между маршрутизаторами Spoke_ISP, Hub_ISP и 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-n1 и Hub-n2), два коммутатора (switch-int и switch-ext) и персональный компьютер (host_behind_hub).
Два коммутатора (switch-int и switch-ext) необходимы для разделения трафика доверенного и недоверенного сегментов по разным физическим устройствам. Запрещается смешивать трафик доверенного и недоверенного сегментов на одном физическом устройстве, если оно не имеет соответствующего класса защиты.
1.2. В филиале размещаются криптомаршрутизатор ESR-200-ST (Spoke) и персональный компьютер (host_behind_spoke).
1.3. В неконтролируемом сегменте (синее облако на схеме) размещаются HTTP-сервер для распространения списка отозванных сертификатов (CRL_distribution_point), маршрутизаторы Spoke_ISP и Hub_ISP.
2. Подключение к сети Интернет.
В данном сценарии для эмуляции сети Интернет используются маршрутизаторы Spoke_ISP, Hub_ISP, а также промежуточное оборудование, которое на схеме не отражено.
Подключение к сети Интернет будет считаться успешным, если из защищаемых подсетей по протоколу ICMP (или «ping») будет доступен HTTP-сервер для распространения списка отозванных сертификатов (CRL_distribution_point).
2.1. Кластер из криптомаршрутизаторов Hub-n1 и Hub-n2 подключается к сети Интернет с помощью статической маршрутизации (маршрут по умолчанию через маршрутизатор Hub_ISP). На кластер достаточно иметь один публичный IP-адрес в недоверенном сегменте (внешняя подсеть).
2.2. Криптомаршрутизатор Spoke подключается к сети Интернет с помощью статической маршрутизации (маршрут по умолчанию через маршрутизатор Spoke_ISP).
2.3. На криптомаршрутизаторах Hub-n1, Hub-n2 и Spoke происходит трансляция сетевых адресов (source NAT). На Spoke трансляция выполняется в IP-адрес внешнего сетевого интерфейса (gi1/0/1), а на Hub-n1 и Hub-n2 во внешний VIP адрес.
3. Отказоустойчивый кластер.
Криптомаршрутизаторы Hub-n1 и Hub-n2 объединяются в отказоустойчивый кластер, работающий на базе протокола VRRP в режиме Master/Backup с поддержкой virtual mac (VMAC). Криптомаршрутизаторы Hub-n1 и Hub-n2 являются нодами кластера.
Нода, находящаяся в состоянии Master, владеет VIP адресом в доверенном и недоверенном сегментах и, соответственно, обрабатывает трафик. Нода, находящаяся в состоянии Backup или Fault, не владеет VIP адресом; при переходе ноды в данные состояния добавляется маршрут по умолчанию через VIP адрес доверенного сегмента ноды, находящейся в состоянии Mаster (для цели удаленного доступа к резервной ноде через активную).
В недоверенном сегменте используется техническая подсеть 192.168.110.0/24 для обмена служебными пакетами между нодами кластера в рамках протокола VRRP. Техническая подсеть назначается на внешнем сетевом интерфейсе gi1/0/1, а внешняя подсеть для подключения к провайдеру задается в параметрах VRRP. Техническая подсеть используется для экономии публичных IP-адресов (один публичный IP-адрес на кластер вместо трех), а также для корректного функционирования кластера в целом.
Разделение на техническую и внешнюю подсети в недоверенном сегменте строго обязательно.
Кластер обрабатывает следующие типы отказов:
· отключение питания;
· выход из строя аппаратной платформы;
· отказ сетевого порта на аппаратной платформе;
· отказ сетевого порта на коммутационном оборудовании.
Среднее время переключения составляет 15 секунд.
4. Параметры безопасного взаимодействия.
Весь IP-трафик между подсетями кластера и Spoke (192.168.1.0/24 и 192.168.20.0/24) защищается с использованием алгоритмов ГОСТ и протокола IPsec в туннельном режиме.
Инициировать защищенное соединение может как трафик из подсети 192.168.1.0/24 в 192.168.20.0/24 (из филиала в центр), так и наоборот, из центра в филиал.
4.1. Параметры протокола IKE:
· Аутентификация при помощи цифровых сертификатов, алгоритм подписи – ГОСТ R 34.10-2001;
· Алгоритм шифрования – ГОСТ 28147-89 (ключ 256 бит);
· Алгоритм вычисления хеш-функции – ГОСТ R 34.11-2012 TC26 (ключ 256 бит);
· Алгоритм выработки общего ключа (аналог алгоритма Диффи-Хеллмана) – VKO2 ГОСТ R 34.10-2012 (ключ 256 бит).
4.2. Параметры протокола ESP:
· Комбинированный алгоритм шифрования и контроля целостности – ESP_GOST-4M-IMIT (ключ 256 бит).
1. Настройте IP-адрес – 192.168.20.100 и маску – 255.255.255.0 на сетевом интерфейсе.
2. Задайте маршрут по умолчанию через 192.168.20.1.
3. Разрешите прием входящих ICMP пакетов.
В данном сценарии настройка будет происходить локально при помощи консольного подключения.
Настройка может осуществляться и удаленно (по 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 центрального офиса).
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@esr-1000] session idle timeout disable
В производственной эксплуатации выполнять данную команду запрещено.
Пользователь 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).
1. Задайте имя устройства:
esr:esr-1000# configure
esr:esr-1000(config)# hostname hub-n1
2. Задайте IP-адрес из технической подсети на внешнем интерфейсе gi1/0/1 (см. схему взаимодействия):
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 192.168.110.10/24
esr:esr-1000(config-if-gi)# exit
3. Задайте IP-адрес из защищаемой подсети на внутреннем интерфейсе gi1/0/3:
esr:esr-1000(config)# interface gigabitethernet 1/0/3
esr:esr-1000(config-if-gi)# no shutdown
esr:esr-1000(config-if-gi)# ip address 192.168.20.10/24
esr:esr-1000(config-if-gi)# exit
4. Настройка параметров кластера.
4.1. Задайте настройки VRRP для внешнего интерфейса gi1/0/1:
esr:esr-1000(config)# interface gigabitethernet 1/0/1
esr:esr-1000(config-if-gi)# vrrp id 1
esr:esr-1000(config-if-gi)# vrrp ip 172.16.15.2/24
esr:esr-1000(config-if-gi)# vrrp group 1
esr:esr-1000(config-if-gi)# vrrp
esr:esr-1000(config-if-gi)# exit
4.2. Задайте настройки VRRP для внутреннего интерфейса gi1/0/3:
esr:esr-1000(config)# interface gigabitethernet 1/0/3
esr:esr-1000(config-if-gi)# vrrp id 2
esr:esr-1000(config-if-gi)# vrrp ip 192.168.20.1/24
esr:esr-1000(config-if-gi)# vrrp group 1
esr:esr-1000(config-if-gi)# vrrp
esr:esr-1000(config-if-gi)# exit
Значение параметра vrrp id должно быть:
- уникальным для каждого интерфейса в пределах ноды:
- одинаковым на тех интерфейса кластера, которые имеют один и тот же VIP адрес (например, для интерфейса gi1/0/1 ноды Hub-n2 значение vrrp id также должно быть равно 1, а для gi1/0/3 - 2).
Значение параметра vrrp group должно быть одинаковым для тех интерфейсов, состояния которых нужно синхронизировать.
4.3. Задайте tracking объект, отслеживающий состояние кластера:
esr:esr-1000(config)# tracking 1
esr:esr-1000(config-tracking)# vrrp 1 no state master
esr:esr-1000(config-tracking)# vrrp 2 no state master
esr:esr-1000(config-tracking)# enable
esr:esr-1000(config-tracking)# exit
Tracking объект 1 примет значение true, если кластер перейдет в состояния Fault или Backup. На основе значения данного tracking объекта будет добавляться маршрут по умолчанию через ноду, находящуюся в состоянии Master.
5. Добавьте основной маршрут по умолчанию через маршрутизатор Hub_ISP (данный маршрут будет активен, если нода находится в состоянии Master) и дополнительный маршрут по умолчанию через VIP адрес внутренней подсети (этот маршрут добавляется в том случае, если нода имеет состояние Fault или Backup), после чего примените настройки:
esr:esr-1000(config)# ip route 0.0.0.0/0 172.16.15.1
esr:esr-1000(config)# ip route 0.0.0.0/0 192.168.20.1 1 track 1
esr:esr-1000(config)# end
esr:esr-1000# commit
2017-12-01T10:42:10+00:00 %CLI-I-CRIT: user admin from console input: commit
Setting hostname to 'hub-n1'...done.
2017-12-01T10:42:14+00:00 %LINK-ENABLE: port gigabitethernet 1/0/1 disabled
2017-12-01T10:42:14+00:00 %PORT-CFG: port gigabitethernet 1/0/1: setting speed=auto, flowctl=off
2017-12-01T10:42:14+00:00 %LINK-ENABLE: port gigabitethernet 1/0/1 enabled
2017-12-01T10:42:14+00:00 %LINK-ENABLE: port gigabitethernet 1/0/3 disabled
2017-12-01T10:42:14+00:00 %PORT-CFG: port gigabitethernet 1/0/3: setting speed=auto, flowctl=off
2017-12-01T10:42:14+00:00 %LINK-ENABLE: port gigabitethernet 1/0/3 enabled
2017-12-01T10:42:17+00:00 %LINK-I-UP: gigabitethernet 1/0/3 changed state to up, speed 1000M, full-duplex
2017-12-01T10:42:17+00:00 %LINK-I-UP: gigabitethernet 1/0/1 changed state to up, speed 1000M, full-duplex
2017-12-01T10:42:21+00:00 %VRRP-I-INSTANCE: VRRP1 Entering BACKUP state
Configuration has been successfully committed
esr:hub-n1# confirm
2017-12-01T10:42:22+00:00 %CLI-I-CRIT: user admin from console input: confirm
Configuration has been successfully confirmed
esr:hub-n1# 2017-12-01T10:42:24+00:00 %VRRP-I-INSTANCE: VRRP2 Transition to MASTER state
2017-12-01T10:42:24+00:00 %VRRP-I-GROUP: GROUP1 Syncing instances to MASTER state
2017-12-01T10:42:25+00:00 %VRRP-I-INSTANCE: VRRP1 Entering MASTER state
2017-12-01T10:42:25+00:00 %VRRP-I-INSTANCE: VRRP2 Entering MASTER state
6. Убедитесь, что настройки сети и кластера выполнены верно. Для этого:
6.1. Подключите внешний интерфейс gi1/0/1 криптомаршрутизатора Hub-n1 к коммутатору Switch-ext, а интерфейс коммутатора к маршрутизатору Hub_ISP.
Интерфейсы коммутатора Switch-ext, к которым подключаются ноды кластера и маршрутизатор Hub_ISP, должны быть в одном VLAN.
6.2. Подключите персональный компьютер host_behind_hub к коммутатору Switch-int, а интерфейс коммутатора к внутреннему интерфейсу gi1/0/3 криптомаршрутизатора Hub-n1.
Интерфейсы коммутатора Switch-int, к которым подключаются ноды кластера и персональный компьютер host_behind_hub, должны быть в одном VLAN.
После коммутации выполните последовательно следующие команды ping c устройства Hub-n1 (если выполнить команду ping с Hub_ISP или host_behind_hub с адресом назначения Hub-n1, то Hub-n1 будет недоступен из-за предустановленных настроек в Eltex FW):
В производственной эксплуатации подключать криптомаршрутизтор к недоверенным сетям до настройки политики безопасности (СКЗИ и МЭ) запрещено.
6.3. Выполните команду ping с Hub-n1 на host_behind_hub:
esr:hub-n1# 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 2998ms
rtt min/avg/max/mdev = 0.271/0.278/0.287/0.017 ms
6.4. Выполните команду ping с Hub-n1 на Hub_ISP:
esr:hub-n1# 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 2998ms
rtt min/avg/max/mdev = 0.287/0.364/0.452/0.060 ms
6.5. Выполните команду ping с Hub-n1 на CRL_distribution_point:
esr:hub-n1# ping 172.17.10.100 packets 4
PING 172.17.10.100 (172.17.10.100) 56(84) bytes of data.
!!!!
--- 172.17.10.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 0.841/0.949/1.006/0.067 ms
Видно, что устройства в защищаемой и недоверенной сетях доступны по ICMP. Если устройства недоступны – проверьте настройки и сетевые кабели, также в CLI разграничения доступа выполните команду run csconf_mgr activate, в том случае, если она не была выполнена ранее.
Eltex FW – это межсетевой экран с контролем состояния сессии (stateful) и поддержкой зон безопасности (zone-based). Политика по умолчанию разрешает все исходящие локальные соединения, а входящие только в рамках исходящих.
1. Создайте две зоны безопасности, одну для защищаемой подсети (trusted), другую для недоверенной (untusted):
esr:hub-n1# configure
esr:hub-n1(config)# security zone trusted
esr:hub-n1(config-zone)# exit
esr:hub-n1(config)# security zone untrusted
esr:hub-n1(config-zone)# exit
2. Добавьте сетевые интерфейсы в созданные зоны безопасности:
2.1. Внешний интерфейс gigabitethernet 1/0/1 добавьте в зону untrusted:
esr:hub-n1(config)# interface gigabitethernet 1/0/1
esr:hub-n1(config-if-gi)# security-zone untrusted
esr:hub-n1(config-if-gi)# exit
2.2. Внутренний интерфейс gigabitethernet 1/0/3 добавьте в зону trusted:
esr:hub-n1(config)# interface gigabitethernet 1/0/3
esr:hub-n1(config-if-gi)# security-zone trusted
esr:hub-n1(config-if-gi)# exit
3. Создайте объекты, описывающие порты протоколов, для дальнейшего их использования в правилах фильтрации, разрешающих входящий на Hub-n1 трафик.
3.1. Для протокола SSH:
esr:hub-n1(config)# object-group service SSH
esr:hub-n1(config-object-group-service)# port-range 22
esr:hub-n1(config-object-group-service)# exit
3.2. Для протоколов IKE и NAT-T (IPsec over UDP):
esr:hub-n1(config)# object-group service IKE500
esr:hub-n1(config-object-group-service)# port-range 500
esr:hub-n1(config-object-group-service)# exit
esr:hub-n1(config)# object-group service IKE4500
esr:hub-n1(config-object-group-service)# port-range 4500
esr:hub-n1(config-object-group-service)# exit
esr:hub-n1(config)#
4. Настройте правила фильтрации между зонами безопасности.
4.1. Разрешите любой транзитный трафик из доверенной зоны/сети в недоверенную, то есть с внутреннего интерфейса gi1/0/3 на внешний gi1/0/1 (trusted untrusted):
esr:hub-n1(config)# security zone-pair trusted untrusted
esr:hub-n1(config-zone-pair)# rule 10
esr:hub-n1(config-zone-pair-rule)# action permit
esr:hub-n1(config-zone-pair-rule)# match protocol any
esr:hub-n1(config-zone-pair-rule)# match source-address any
esr:hub-n1(config-zone-pair-rule)# match destination-address any
esr:hub-n1(config-zone-pair-rule)# enable
esr:hub-n1(config-zone-pair-rule)# exit
esr:hub-n1(config-zone-pair)# exit
Трафик, который необходимо шифровать из доверенной сети, будет определяться списками доступа СКЗИ в CGW CLI.
4.2. Разрешите любой транзитный трафик между сетевыми интерфейсами доверенной зоны/сети (trusted trusted):
esr:hub-n1(config)# security zone-pair trusted trusted
esr:hub-n1(config-zone-pair)# rule 10
esr:hub-n1(config-zone-pair-rule)# action permit
esr:hub-n1(config-zone-pair-rule)# match protocol any
esr:hub-n1(config-zone-pair-rule)# match source-address any
esr:hub-n1(config-zone-pair-rule)# match destination-address any
esr:hub-n1(config-zone-pair-rule)# enable
esr:hub-n1(config-zone-pair-rule)# exit
esr:hub-n1(config-zone-pair)# exit
esr:hub-n1(config)#
4.3. Разрешите прохождение транзитного расшифрованного трафика из недоверенной зоны/сети в доверенную, то есть с внешнего сетевого интерфейса gi1/0/1 на gi1/0/3 (untrusted trusted):
esr:hub-n1(config)# security zone-pair untrusted trusted
esr:hub-n1(config-zone-pair)# rule 10
esr:hub-n1(config-zone-pair-rule)# action permit
esr:hub-n1(config-zone-pair-rule)# match protocol any
esr:hub-n1(config-zone-pair-rule)# match source-address any
esr:hub-n1(config-zone-pair-rule)# match destination-address any
esr:hub-n1(config-zone-pair-rule)# match ipsec-decrypted
esr:hub-n1(config-zone-pair-rule)# enable
esr:hub-n1(config-zone-pair-rule)# exit
esr:hub-n1(config-zone-pair)# exit
4.4. Разрешите подключение по протоколу SSH из доверенной зоны/сети к Hub-n1 (trusted self):
esr:hub-n1(config)# security zone-pair trusted self
esr:hub-n1(config-zone-pair)# rule 10
esr:hub-n1(config-zone-pair-rule)# action permit
esr:hub-n1(config-zone-pair-rule)# match protocol tcp
esr:hub-n1(config-zone-pair-rule)# match source-address any
esr:hub-n1(config-zone-pair-rule)# match destination-address any
esr:hub-n1(config-zone-pair-rule)# match source-port any
esr:hub-n1(config-zone-pair-rule)# match destination-port SSH
esr:hub-n1(config-zone-pair-rule)# enable
esr:hub-n1(config-zone-pair-rule)# exit
esr:hub-n1(config-zone-pair)#
4.5. Разрешите пакеты протокола ICMP из доверенной зоны/сети к Hub-n1 (trusted self):
esr:hub-n1(config-zone-pair)# rule 20
esr:hub-n1(config-zone-pair-rule)# action permit
esr:hub-n1(config-zone-pair-rule)# match protocol icmp
esr:hub-n1(config-zone-pair-rule)# match source-address any
esr:hub-n1(config-zone-pair-rule)# match destination-address any
esr:hub-n1(config-zone-pair-rule)# enable
esr:hub-n1(config-zone-pair-rule)# exit
esr:hub-n1(config-zone-pair)#
4.6. Разрешите пакеты протокола VRRP из доверенной зоны/сети к Hub-n1 (trusted self):
esr:hub-n1(config-zone-pair)# rule 30
esr:hub-n1(config-zone-pair-rule)# action permit
esr:hub-n1(config-zone-pair-rule)# match protocol vrrp
esr:hub-n1(config-zone-pair-rule)# match source-address any
esr:hub-n1(config-zone-pair-rule)# match destination-address any
esr:hub-n1(config-zone-pair-rule)# enable
esr:hub-n1(config-zone-pair-rule)# exit
esr:hub-n1(config-zone-pair)# exit
4.7. Разрешите пакеты протокола ICMP из недоверенной зоны/сети к Hub-n1 (untrusted self):
esr:hub-n1(config)# security zone-pair untrusted self
esr:hub-n1(config-zone-pair)# rule 10
esr:hub-n1(config-zone-pair-rule)# action permit
esr:hub-n1(config-zone-pair-rule)# match protocol icmp
esr:hub-n1(config-zone-pair-rule)# match source-address any
esr:hub-n1(config-zone-pair-rule)# match destination-address any
esr:hub-n1(config-zone-pair-rule)# enable
esr:hub-n1(config-zone-pair-rule)# exit
esr:hub-n1(config-zone-pair)#
4.8. Разрешите прохождение расшифрованного трафика из недоверенной зоны/сети на Hub-n1 (untrusted self):
esr:hub-n1(config-zone-pair)# rule 20
esr:hub-n1(config-zone-pair-rule)# action permit
esr:hub-n1(config-zone-pair-rule)# match protocol any
esr:hub-n1(config-zone-pair-rule)# match source-address any
esr:hub-n1(config-zone-pair-rule)# match destination-address any
esr:hub-n1(config-zone-pair-rule)# match ipsec-decrypted
esr:hub-n1(config-zone-pair-rule)# enable
esr:hub-n1(config-zone-pair-rule)# exit
4.9. Разрешите пакеты протокола IKE, NAT-T (IPsec over UDP) и VRRP из недоверенной зоны/сети на Hub-n1 (untrusted self):
esr:hub-n1(config-zone-pair)# rule 30
esr:hub-n1(config-zone-pair-rule)# action permit
esr:hub-n1(config-zone-pair-rule)# match protocol udp
esr:hub-n1(config-zone-pair-rule)# match source-address any
esr:hub-n1(config-zone-pair-rule)# match destination-address any
esr:hub-n1(config-zone-pair-rule)# match source-port any
esr:hub-n1(config-zone-pair-rule)# match destination-port IKE500
esr:hub-n1(config-zone-pair-rule)# enable
esr:hub-n1(config-zone-pair-rule)# exit
esr:hub-n1(config-zone-pair)# rule 40
esr:hub-n1(config-zone-pair-rule)# action permit
esr:hub-n1(config-zone-pair-rule)# match protocol udp
esr:hub-n1(config-zone-pair-rule)# match source-address any
esr:hub-n1(config-zone-pair-rule)# match destination-address any
esr:hub-n1(config-zone-pair-rule)# match source-port any
esr:hub-n1(config-zone-pair-rule)# match destination-port IKE4500
esr:hub-n1(config-zone-pair-rule)# enable
esr:hub-n1(config-zone-pair-rule)# exit
esr:hub-n1(config-zone-pair)# rule 50
esr:hub-n1(config-zone-pair-rule)# action permit
esr:hub-n1(config-zone-pair-rule)# match protocol vrrp
esr:hub-n1(config-zone-pair-rule)# match source-address any
esr:hub-n1(config-zone-pair-rule)# match destination-address any
esr:hub-n1(config-zone-pair-rule)# enable
esr:hub-n1(config-zone-pair-rule)# exit
esr:hub-n1(config-zone-pair)# exit
esr:hub-n1(config)#
1. Создайте объекты, описывающие подсети, для дальнейшего их использования в правилах NAT.
1.1. Для защищаемой подсети кластера:
esr:hub-n1(config)# object-group network LAN_HUB
esr:hub-n1(config-object-group-network)# ip prefix 192.168.20.0/24
esr:hub-n1(config-object-group-network)# exit
1.2. Для защищаемой подсети Spoke:
esr:hub-n1(config)# object-group network LAN_SPOKE
esr:hub-n1(config-object-group-network)# ip prefix 192.168.1.0/24
esr:hub-n1(config-object-group-network)# exit
2. Создайте набор правил для внешнего интерфейса gigabitethernet 1/0/1:
esr:hub-n1(config)# nat source
esr:hub-n1(config-snat)# ruleset SNAT_ON_GI101
esr:hub-n1(config-snat-ruleset)# to interface gigabitethernet 1/0/1
2.1. Отключите Source NAT для локальных пакетов IKE от CGW:
esr:hub-n1(config-snat-ruleset)# rule 10
esr:hub-n1(config-snat-rule)# description "disable SNAT for local IKE pack
ets"
esr:hub-n1(config-snat-rule)# match source-address any
esr:hub-n1(config-snat-rule)# match destination-address any
esr:hub-n1(config-snat-rule)# match ike-local
esr:hub-n1(config-snat-rule)# action source-nat off
esr:hub-n1(config-snat-rule)# enable
esr:hub-n1(config-snat-rule)# exit
esr:hub-n1(config-snat-ruleset)#
Если оставить функцию 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-n1(config-snat-ruleset)# rule 20
esr:hub-n1(config-snat-rule)# description "disable SNAT for traffic which must
be protected by IPSEC"
esr:hub-n1(config-snat-rule)# match protocol any
esr:hub-n1(config-snat-rule)# match source-address LAN_HUB
esr:hub-n1(config-snat-rule)# match destination-address LAN_SPOKE
esr:hub-n1(config-snat-rule)# action source-nat off
esr:hub-n1(config-snat-rule)# enable
esr:hub-n1(config-snat-rule)# exit
В силу того, что Source NAT отрабатывает до зашифрования, то для всего трафика, который требуется шифровать нужно отключать Source NAT.
2.3. Отключите Source NAT для локальных VRRP пакетов:
esr:hub-n1(config-snat-ruleset)# rule 30
esr:hub-n1(config-snat-rule)# description "disable SNAT for local VRRP packets
"
esr:hub-n1(config-snat-rule)# match protocol vrrp
esr:hub-n1(config-snat-rule)# match source-address any
esr:hub-n1(config-snat-rule)# match destination-address any
esr:hub-n1(config-snat-rule)# action source-nat off
esr:hub-n1(config-snat-rule)# enable
esr:hub-n1(config-snat-rule)# exit
2.4. Включите Source NAT для всего оставшегося трафика, указав VIP адрес внешней подсети в качестве подменяемого IP-адреса:
esr:hub-n1(config-snat-ruleset)# rule 40
esr:hub-n1(config-snat-rule)# description "enable dynamic SNAT for traffic
to Internet"
esr:hub-n1(config-snat-rule)# match protocol any
esr:hub-n1(config-snat-rule)# match source-address any
esr:hub-n1(config-snat-rule)# match destination-address any
esr:hub-n1(config-snat-rule)# action source-nat netmap 172.16.15.2/32
esr:hub-n1(config-snat-rule)# enable
esr:hub-n1(config-snat-rule)# exit
esr:hub-n1(config-snat-ruleset)# exit
esr:hub-n1(config-snat)# exit
1. Включите SSH-сервер:
esr:hub-n1(config)# ip ssh server
2. Сохраните настройки и выйдите в CLI разграничения доступа:
esr:hub-n1(config)# do commit
2017-12-01T13:24:05+00:00 %CLI-I-CRIT: user admin from console input: do commit
2017-12-01T13:24:16+00:00 %VRRP-I-INSTANCE: VRRP1 Entering BACKUP state
Configuration has been successfully committed
esr:hub-n1(config)# do confirm
2017-12-01T13:24:17+00:00 %CLI-I-CRIT: user admin from console input: do confirm
Configuration has been successfully confirmed
2017-12-01T13:24:20+00:00 %VRRP-I-INSTANCE: VRRP2 Transition to MASTER state
2017-12-01T13:24:20+00:00 %VRRP-I-GROUP: GROUP1 Syncing instances to MASTER state
2017-12-01T13:24:21+00:00 %VRRP-I-INSTANCE: VRRP1 Entering MASTER state
2017-12-01T13:24:21+00:00 %VRRP-I-INSTANCE: VRRP2 Entering MASTER state
esr:hub-n1(config)# end
esr:hub-n1# logout
administrator@hub-n1]
После того как был включен SSH-сервер к устройству можно подключаться по SSH. Чтобы попасть в консоль ESR CLI при подключении к Hub-n1 нужно указывать имя пользователя admin, а для консоли CGW CLI – cscons. Удаленно напрямую в CLI разграничения доступа войти нельзя.
Настройки в консоли ESR CLI завершены. Конфигурация устройства Hub-n1 приведена в Приложении.
Для аутентификации партнеров по IPsec можно использовать только цифровые сертификаты, выпущенные при помощи сертифицированного СКЗИ.
Аутентификация по предопределенным ключам запрещена и возможна только в тестовых целях.
Закрытый ключ для сертификата устройства Hub-n1 будет сгенерирован при помощи утилиты cert_mgr с использованием биологического датчика случайных чисел (БИО ДСЧ). Закрытый ключ может храниться либо на файловой системе устройства, либо на защищенном ключевом носителе (токен). В данном сценарии закрытый ключ будет располагаться в специальном контейнере на файловой системе устройства Hub-n1.
В момент генерации ключевой пары будет также сгенерирован запрос на сертификат устройства Hub-n1. Данный запрос для его последующей доставки на УЦ будет сохранен на USB-flash накопитель.
USB-flash накопитель должен содержать файловую систему FAT32. NTFS может использоваться только на чтение, запись на USB-flash накопитель с файловой системой NTFS невозможна.
1. Вставьте USB-flash накопитель в свободный USB порт устройства Hub-n1 (см. рисунок 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-n1] dir media:
1 drwx 2048 Thu Jan 1 00:00:00 1970 S-TERRA
В данном сценарии USB-flash накопитель имеет имя S-TERRA.
3. Запустите процесс генерации ключевой пары и запроса на сертификат устройства с сохранением файла запроса на USB-flash накопителе:
administrator@hub-n1] run cert_mgr create -subj "C=RU,O=S-Terra CSP,OU=Research,CN=Hub-n1" -GOST_R341012_256 -fb64 media:S-TERRA/hub-n1.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-n1.request.
3.1. Нажимайте предлагаемые клавиши на клавиатуре:
Progress: [********* ]
Press key: U
После завершения работы БИО ДСЧ файл запроса будет сохранен в корне USB-flash накопителя:
administrator@hub-n1] 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-n1.request
4. Извлеките USB-flash накопитель.
5. Доставьте файл запроса на УЦ и выпустите по нему сертификат (см. рисунок 3).
Рисунок 3. Пример выпуска сертификата при помощи тестового УЦ от «КриптоПро». Отправка запроса
6. Скопируйте выпущенный сертификат для Hub-n1 под именем hub-n1.cer и сертификат УЦ под именем ca.cer (для тестового УЦ от «КриптоПро» данный сертификат можно загрузить по ссылке https://www.cryptopro.ru/certsrv/certcarc.asp, см. рисунок 4) в корень USB-flash накопителя (см. рисунок 5).
Рисунок 4. Страница загрузки сертификата УЦ (ЦС) для тестового УЦ от «КриптоПро»
Рисунок 5. Сертификаты УЦ и устройства Hub-n1 в корне USB-flash накопителя
7. Вновь вставьте USB-flash накопитель, содержащий файлы сертификатов, в соответствующий порт USB на устройстве Hub-n1.
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-n1.cer
4 -rwx 473 Thu Mar 30 09:37:42 2017 hub.request
9. Импортируйте сертификат УЦ в базу продукта:
administrator@hub-n1] 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-n1 в базу продукта:
administrator@hub-n1] run cert_mgr import -f media:S-TERRA/hub-n1.cer
1 OK C=RU,O=S-Terra CSP,OU=Research,CN=Hub-n1
11. Выполните проверку статуса сертификатов в базе продукта:
administrator@hub-n1] 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-n1
Certificate can not be verified.
Видно, что все сертификаты имеют статус Inactive (неактивный) с пометкой: «Certificate can not be verified» (сертификат не может быть проверен). Причиной этому является включенный по умолчанию в CGW CLI механизм проверки списка отозванных сертификатов (далее СОС или CRL). Так как в базе продукта данный СОС отсутствует, поэтому проверка не может быть осуществлена.
Далее, в CGW CLI, загрузка СОС и импортирование его в базу продукта будут настроены автоматически по протоколу HTTP с сервера CRL_distribution_point.
Настройки в CLI разграничения доступа завершены.
1. Перейдите в CGW CLI, введя логин и пароль для CGW CLI.
Пользователь и пароль по умолчанию: cscons, password; пароль по умолчанию должен был быть изменен в соответствии с п. 1.2 раздела «Изменение паролей для пользователей admin и cscons»).
administrator@hub-n1] configure
hub-n1 login: cscons
Password:
S-Terra Gate security console
cgw:hub-n1#
2. Выполните команду по синхронизации сетевых интерфейсов между консолями CGW CLI и ESR CLI:
cgw:hub-n1#synchronize network-interfaces
При выполнении данной команды из CGW CLI удаляются сетевые интерфейсы, на которых СКЗИ не может контролировать трафик, а для интерфейсов, на которых настроен VRRP, происходит объединение физического и виртуального VRRP интерфейсов в один для правильной обработки трафика в CGW (виртуальный VRRP интерфейс как в ESR CLI, так и в CGW CLI отдельно не виден).
При конфигурировании параметров VRRP кластера выполнение данной команды строго обязательно. Также рекомендуется всегда выполнять данную команду перед конфигурированием СКЗИ.
После синхронизации на интерфейсах gi1/1 и gi1/3 будут видны VIP адреса как secondary:
cgw:hub-n1#show running-config
...
interface GigabitEthernet1/1
ip address 192.168.110.10 255.255.255.0
ip address 172.16.15.2 255.255.255.0 secondary
!
interface GigabitEthernet1/3
ip address 192.168.20.10 255.255.255.0
ip address 192.168.20.1 255.255.255.0 secondary
...
3. Перейдите в режим конфигурирования:
cgw:hub-n1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
cgw:hub-n1(config)#
4. Задайте пароль на enable (в данном примере в качестве пароля используется слово password):
cgw:hub-n1(config)#enable secret 0 password
5. Укажите в качестве типа идентификатора, используемого в рамках протокола IKE, отличительное имя (Distinguished Name, DN):
cgw:hub-n1(config)#crypto isakmp identity dn
По умолчанию отличительное имя будет взято из сертификата устройства, например, для Hub-n1 это «C=RU,O=S-Terra CSP,OU=Research,CN=Hub-n1».
6. Настройте параметры DPD (deep peer detection):
cgw:hub-n1(config)#crypto isakmp keepalive 1 3
cgw:hub-n1(config)#crypto isakmp keepalive retry-count 3
Механизм DPD в случае детектирования того, что партнер по IKE не отвечает на пакеты keepalive за заданный интервал времени, удаляет неактивный IKE туннель и связанные с ним IPsec туннели.
7. Установите время, в течении которого протокол IKE будет ждать ответа от партнера на запрос об установлении первой фазы:
cgw:hub-n1(config)#crypto isakmp session-time-max 10
8. Создайте политику, описывающую параметры IKE туннеля:
cgw:hub-n1(config)#crypto isakmp policy 1
cgw:hub-n1(config-isakmp)#encryption gost
cgw:hub-n1(config-isakmp)# hash gost341112-256-tc26
cgw:hub-n1(config-isakmp)# authentication gost-sig
cgw:hub-n1(config-isakmp)# group vko2
Рекомендуется использовать одну политику для IKE туннелей. Несколько политик может потребоваться в том случае, если необходимо обеспечить совместимость со старыми версиями С-Терра Шлюз, в которых нет поддержки новых алгоритмов.
9. Задайте алгоритм шифрования и контроля целостности (набор преобразований) для трафика:
cgw:hub-n1(config)#crypto ipsec transform-set GOST esp-gost28147-4m-imit
cgw:hub-n1(cfg-crypto-trans)#exit
10. Создайте список доступа (ACL) для трафика, который нужно защищать между кластером Hub и Spoke:
cgw:hub-n1(config)#ip access-list extended hub_spoke
cgw:hub-n1(config-ext-nacl)#permit ip 192.168.20.0 0.0.0.255 192.168.1.0 0.0.0.255
cgw:hub-n1(config-ext-nacl)#exit
cgw:hub-n1(config)#
В списках доступа используется обратная маска.
11. Создайте крипто-карту (имя VPN, раздел 1):
cgw:hub-n1(config)#crypto map VPN 1 ipsec-isakmp
11.1. Укажите какой трафик нужно защищать:
cgw:hub-n1(config-crypto-map)#match address hub_spoke
11.2. Укажите при помощи какого алгоритма нужно защищать трафик:
cgw:hub-n1(config-crypto-map)#set transform-set GOST
11.3. Укажите IP-адрес партнера по IPsec, в данном сценарии это внешний IP-адрес устройства Spoke:
cgw:hub-n1(config-crypto-map)#set peer 172.16.10.2
cgw:hub-n1(config-crypto-map)#exit
cgw:hub-n1(config)#
Если партнеров по IPsec несколько, то необходимо в другом разделе данной крипто-карты (например, crypto map VPN 2 ipsec-isakmp) задать соответствующие параметры.
12. Прикрепите крипто-карту к внешнему интерфейсу GigabitEthernet1/1:
cgw:hub-n1(config)#interface GigabitEthernet 1/1
cgw:hub-n1(config-if)#crypto map VPN
cgw:hub-n1(config-if)#exit
Интерфейс GigabitEthernet1/1 в консоли CGW CLI соответствует интерфейсу gigabitethernet 1/0/1 в консоли ESR CLI.
13. Настройте автоматическую загрузку и импортирование в базу продукта списка отозванных сертификатов с сервера CRL_distribution_point:
cgw:hub-n1(config)#crypto pki trustpoint s-terra_technological_trustpoint
cgw:hub-n1(ca-trustpoint)#crl download group CA http://172.17.10.100/crl.crl
cgw:hub-n1(ca-trustpoint)#crl download time 60
cgw:hub-n1(ca-trustpoint)#exit
Загрузка СОС будет происходить раз в 60 минут.
Разностные списки отозванных сертификатов (delta CRL) не поддерживаются.
Если использование СОС не предполагается, то отключите их проверку:
cgw:hub-n1(config)#crypto pki trustpoint s-terra_technological_trustpoint
cgw:hub-n1(ca-trustpoint)#revocation-check none
14. Примените настроек консоли CGW CLI:
cgw:hub-n1(config)#end
cgw:hub-n1#
Настройки CGW CLI применяются при выходе из режима конфигурирования.
Настройки в CGW CLI завершены. Конфигурация устройства Hub-n1 приведена в Приложении.
У нод кластера должны быть разные сертификаты. Также не забудьте перед началом настроек в CGW CLI выполнить команду synchronize network-interfaces.
Нода Hub-n2 кластера настраивается аналогично ноде Hub-n1, за исключением:
1. ESR CLI.
1.1. Используются соответствующие IP-адреса (см. схему взаимодействия).
1.2. Нода Hub-n2 настраивается как резервная, поэтому приоритет VRRP должен быть установлен ниже чем у ноды Hub-n1 (по умолчанию 100):
interface gigabitethernet 1/0/1
security-zone untrusted
ip address 192.168.110.20/24
vrrp id 1
vrrp ip 172.16.15.2/24
vrrp priority 50
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/3
security-zone trusted
ip address 192.168.20.20/24
vrrp id 2
vrrp ip 192.168.20.1/32
vrrp priority 50
vrrp group 1
vrrp
exit
Конфигурация консоли ESR CLI приведена в Приложении.
Конфигурация консоли CGW CLI приведена в Приложении.
1. Настройте IP-адрес – 192.168.1.100 и маску – 255.255.255.0 на сетевом интерфейсе.
2. Задайте маршрут по умолчанию через 192.168.1.1.
3. Разрешите прием входящих ICMP пакетов.
Устройство Spoke настраивается аналогично устройствам Hub-n1/Hub-n2, за исключением настроек VRRP.
Конфигурация консоли ESR CLI приведена в Приложении.
Конфигурация консоли CGW CLI приведена в Приложении.
Активной нодой является Hub-n1, поэтому она будет обрабатывать трафик.
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-n1.
1.1.2 Выполните команду:
esr:hub-n1# show ip nat translations
Рисунок 6. Таблица трансляций NAT на Hub-n1
Видно, что доступ в Интернет успешно осуществляется из подсети 192.168.20.0/24. Правила Source NAT отрабатывают верно (см. рисунок 6).
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).
С устройства Hub-n1 из консоли ESR CLI выполните команду ping на внешний IP-адрес устройства Spoke:
esr:hub-n1# 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 3004ms
rtt min/avg/max/mdev = 1.039/1.248/1.467/0.160 ms
Видно, что ICMP пакеты между Hub-n1 и Spoke успешно проходят.
Активной нодой является Hub-n1, поэтому она будет шифровать трафик.
1. Проверьте, что СОС на устройствах Hub-n1 и Spoke импортирован в базу продукта.
1.1. Проверьте, что СОС на устройстве Hub-n1 импортирован в базу продукта:
administrator@hub-n1] 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-n1
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-n1 и Spoke.
2.1. Проверьте, что на устройстве Hub-n1 все сертификаты имеют статус Active:
administrator@hub-n1] 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-n1
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-n1:
administrator@hub-n1] 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-n1 и Spoke успешно установлено.
1. Запустите бесконечный пинг с устройства host_behind_spoke на host_behind_hub:
root@host_behind_spoke:~# ping 192.168.20.100
2. Войдите в ESR CLI устройства Hub-n2.
3. Выключите устройство Hub-n1 или отключите любой из его интерфейсов gi1/0/1, gi1/0/3 от коммутатора. На консоли Hub-n2 будут следующие сообщения, свидетельствующие о корректном переключении:
2017-12-05T15:09:09+00:00 %VRRP-I-INSTANCE: 1 messages suppressed
2017-12-05T15:09:09+00:00 %VRRP-I-INSTANCE: VRRP2 Transition to MASTER state
2017-12-05T15:09:09+00:00 %VRRP-I-GROUP: GROUP1 Syncing instances to MASTER state
2017-12-05T15:09:09+00:00 %VRRP-I-INSTANCE: VRRP1 Entering MASTER state
2017-12-05T15:09:10+00:00 %VRRP-I-INSTANCE: VRRP2 Entering MASTER state
4. Проверьте состояние кластера на ноде Hub-n2 (нода должна быть в состоянии Master):
esr:hub-n2# show vrrp
Virtual router Virtual IP Priority Preemption State
-------------- ---------------- -------- ---------- ------
1 172.16.15.2/24 50 Enabled Master
2 192.168.20.1/32 50 Enabled Master
5. В выводе программы ping на устройстве host_behind_spoke видны потери пакетов, после чего связь успешно восстанавливается:
64 bytes from 192.168.20.100: icmp_req=276 ttl=62 time=1.74 ms
64 bytes from 192.168.20.100: icmp_req=277 ttl=62 time=1.73 ms
64 bytes from 192.168.20.100: icmp_req=278 ttl=62 time=1.86 ms
64 bytes from 192.168.20.100: icmp_req=296 ttl=62 time=3295 ms
64 bytes from 192.168.20.100: icmp_req=297 ttl=62 time=2287 ms
64 bytes from 192.168.20.100: icmp_req=298 ttl=62 time=1279 ms
64 bytes from 192.168.20.100: icmp_req=299 ttl=62 time=271 ms
64 bytes from 192.168.20.100: icmp_req=300 ttl=62 time=2.03 ms
64 bytes from 192.168.20.100: icmp_req=301 ttl=62 time=1.51 ms
64 bytes from 192.168.20.100: icmp_req=302 ttl=62 time=1.90 ms
64 bytes from 192.168.20.100: icmp_req=303 ttl=62 time=1.79 ms
6. Проверьте на ноде Hub-n2 наличие защищенного соединения:
administrator@hub-n2] 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 5 (172.16.15.2,500)-(172.16.10.2,500) active 1884 1968
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 29656 29832
Видно, что переключение с основной на резервную ноду, в случае отказа основной, выполнено успешно. Защищенное соединение построено, трафик шифруется.
7. Если при проведении теста нода Hub-n1 не выключалась, а производилось отсоединение ее внешнего сетевого интерфейса gi1/0/1 от коммутатора, то войдите в ESR CLI и проверьте наличие маршрута по умолчанию через 192.168.20.1:
esr:hub-n1# sh 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/1] via 192.168.20.1 on gi1/0/3 [static 15:23:44]
C * 192.168.20.0/24 [0/0] dev gi1/0/3 [direct 15:23:44]
7.1. Убедитесь, что нода Hub-n1 имеет доступ в Интернет:
esr:hub-n1# ping 172.17.10.100 packets 4
PING 172.17.10.100 (172.17.10.100) 56(84) bytes of data.
!!!!
--- 172.17.10.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 0.697/0.798/0.886/0.071 ms
1. Запустите бесконечный пинг с устройства host_behind_spoke на host_behind_hub:
root@host_behind_spoke:~# ping 192.168.20.100
2. Войдите в ESR CLI устройства Hub-n1.
3. Восстановите основную ноду Hub-n1. На консоли Hub-n1 будут следующие сообщения, свидетельствующие о корректном переключении ее из состояния Fault в Master:
2017-12-05T16:14:26+00:00 %VRRP-I-GROUP: GROUP1 changed state to up
2017-12-05T16:14:26+00:00 %VRRP-I-GROUP: GROUP1 leaving FAULT state
2017-12-05T16:14:26+00:00 %VRRP-I-INSTANCE: VRRP2 prio is higher than received advert
2017-12-05T16:14:26+00:00 %VRRP-I-GROUP: GROUP1 changed state to up
2017-12-05T16:14:26+00:00 %VRRP-I-GROUP: GROUP1 leaving FAULT state
2017-12-05T16:14:26+00:00 %VRRP-I-INSTANCE: VRRP1 prio is higher than received advert
2017-12-05T16:14:26+00:00 %VRRP-I-INSTANCE: 1 messages suppressed
2017-12-05T16:14:26+00:00 %VRRP-I-INSTANCE: VRRP1 Transition to MASTER state
2017-12-05T16:14:26+00:00 %VRRP-I-GROUP: GROUP1 Syncing instances to MASTER state
2017-12-05T16:14:26+00:00 %VRRP-I-INSTANCE: VRRP1 Received lower prio advert 50, forcing new election
2017-12-05T16:14:27+00:00 %VRRP-I-INSTANCE: VRRP1 Entering MASTER state
2017-12-05T16:14:30+00:00 %VRRP-I-INSTANCE: VRRP2 Entering MASTER state
4. В выводе программы ping на устройстве host_behind_spoke видны потери пакетов, после чего связь успешно восстанавливается:
64 bytes from 192.168.20.100: icmp_req=3494 ttl=62 time=1.93 ms
64 bytes from 192.168.20.100: icmp_req=3495 ttl=62 time=1.44 ms
64 bytes from 192.168.20.100: icmp_req=3511 ttl=62 time=2660 ms
64 bytes from 192.168.20.100: icmp_req=3512 ttl=62 time=1652 ms
64 bytes from 192.168.20.100: icmp_req=3513 ttl=62 time=644 ms
64 bytes from 192.168.20.100: icmp_req=3514 ttl=62 time=2.12 ms
64 bytes from 192.168.20.100: icmp_req=3515 ttl=62 time=1.93 ms
5. Проверьте на ноде Hub-n1 наличие защищенного соединения:
administrator@hub-n1] 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 6 (172.16.15.2,500)-(172.16.10.2,500) active 1884 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 19008 19096
Видно, что переключение с резервной на основную ноду, в случае восстановления основной, выполнено успешно. Защищенное соединение построено, трафик шифруется.
hostname hub-n1
username admin
password encrypted $6$.mO8VMfp8zdjzatM$2LMp0vRNDMk.fa/dWE4NtuYdB7NHwWpdIIWGejQfxQMtkvo0O8QSUmgQ3cVkbI1W9/0jvfvupgXi9X/fDfhqb.
exit
username cscons
password encrypted $6$6veWlKTRlDjtlC6W$goUG/CseAtfj5vepQvyn7YOf2draHdlZkel5P8tNQvfcg4X1nu3Cj6FF7Qiqo0PIblNP3d5aJtD3caXUbb4eQ/
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
tracking 1
vrrp 1 not state master
vrrp 2 not state master
enable
exit
interface gigabitethernet 1/0/1
security-zone untrusted
ip address 192.168.110.10/24
vrrp id 1
vrrp ip 172.16.15.2/24
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/2
shutdown
exit
interface gigabitethernet 1/0/3
security-zone trusted
ip address 192.168.20.10/24
vrrp id 2
vrrp ip 192.168.20.1/24
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/4
shutdown
exit
interface gigabitethernet 1/0/5
shutdown
exit
interface gigabitethernet 1/0/6
shutdown
exit
interface gigabitethernet 1/0/7
shutdown
exit
interface gigabitethernet 1/0/8
shutdown
exit
interface gigabitethernet 1/0/9
shutdown
exit
interface gigabitethernet 1/0/10
shutdown
exit
interface gigabitethernet 1/0/11
shutdown
exit
interface gigabitethernet 1/0/12
shutdown
exit
interface gigabitethernet 1/0/13
shutdown
exit
interface gigabitethernet 1/0/14
shutdown
exit
interface gigabitethernet 1/0/15
shutdown
exit
interface gigabitethernet 1/0/16
shutdown
exit
interface gigabitethernet 1/0/17
shutdown
exit
interface gigabitethernet 1/0/18
shutdown
exit
interface gigabitethernet 1/0/19
shutdown
exit
interface gigabitethernet 1/0/20
shutdown
exit
interface gigabitethernet 1/0/21
shutdown
exit
interface gigabitethernet 1/0/22
shutdown
exit
interface gigabitethernet 1/0/23
shutdown
exit
interface gigabitethernet 1/0/24
shutdown
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
rule 30
action permit
match protocol vrrp
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
rule 50
action permit
match protocol vrrp
match source-address any
match destination-address any
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 "disable SNAT for local VRRP packets"
match protocol vrrp
match source-address any
match destination-address any
action source-nat off
enable
exit
rule 40
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
exit
ip route 0.0.0.0/0 172.16.15.1
ip route 0.0.0.0/0 192.168.20.1 1 track 1
ip ssh server
!
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-n1
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
!
!
crypto map VPN 1 ipsec-isakmp
match address hub_spoke
set transform-set GOST
set peer 172.16.10.2
!
interface GigabitEthernet1/2
no ip address
shutdown
!
interface GigabitEthernet1/4
no ip address
shutdown
!
interface GigabitEthernet1/5
no ip address
shutdown
!
interface GigabitEthernet1/6
no ip address
shutdown
!
interface GigabitEthernet1/7
no ip address
shutdown
!
interface GigabitEthernet1/8
no ip address
shutdown
!
interface GigabitEthernet1/9
no ip address
shutdown
!
interface GigabitEthernet1/10
no ip address
shutdown
!
interface GigabitEthernet1/11
no ip address
shutdown
!
interface GigabitEthernet1/12
no ip address
shutdown
!
interface GigabitEthernet1/13
no ip address
shutdown
!
interface GigabitEthernet1/14
no ip address
shutdown
!
interface GigabitEthernet1/15
no ip address
shutdown
!
interface GigabitEthernet1/16
no ip address
shutdown
!
interface GigabitEthernet1/17
no ip address
shutdown
!
interface GigabitEthernet1/18
no ip address
shutdown
!
interface GigabitEthernet1/19
no ip address
shutdown
!
interface GigabitEthernet1/20
no ip address
shutdown
!
interface GigabitEthernet1/21
no ip address
shutdown
!
interface GigabitEthernet1/22
no ip address
shutdown
!
interface GigabitEthernet1/23
no ip address
shutdown
!
interface GigabitEthernet1/24
no ip address
shutdown
!
interface TenGigabitEthernet1/1
no ip address
shutdown
!
interface TenGigabitEthernet1/2
no ip address
shutdown
!
interface GigabitEthernet1/1
ip address 192.168.110.10 255.255.255.0
ip address 172.16.15.2 255.255.255.0 secondary
crypto map VPN
!
interface GigabitEthernet1/3
ip address 192.168.20.10 255.255.255.0
ip address 192.168.20.1 255.255.255.0 secondary
!
!
!
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
hostname hub-n2
username admin
password encrypted $6$.mO8VMfp8zdjzatM$2LMp0vRNDMk.fa/dWE4NtuYdB7NHwWpdIIWGejQfxQMtkvo0O8QSUmgQ3cVkbI1W9/0jvfvupgXi9X/fDfhqb.
exit
username cscons
password encrypted $6$6veWlKTRlDjtlC6W$goUG/CseAtfj5vepQvyn7YOf2draHdlZkel5P8tNQvfcg4X1nu3Cj6FF7Qiqo0PIblNP3d5aJtD3caXUbb4eQ/
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
tracking 1
vrrp 1 not state master
vrrp 2 not state master
enable
exit
interface gigabitethernet 1/0/1
security-zone untrusted
ip address 192.168.110.20/24
vrrp id 1
vrrp ip 172.16.15.2/24
vrrp priority 50
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/2
shutdown
exit
interface gigabitethernet 1/0/3
security-zone trusted
ip address 192.168.20.20/24
vrrp id 2
vrrp ip 192.168.20.1/32
vrrp priority 50
vrrp group 1
vrrp
exit
interface gigabitethernet 1/0/4
shutdown
exit
interface gigabitethernet 1/0/5
shutdown
exit
interface gigabitethernet 1/0/6
shutdown
exit
interface gigabitethernet 1/0/7
shutdown
exit
interface gigabitethernet 1/0/8
shutdown
exit
interface gigabitethernet 1/0/9
shutdown
exit
interface gigabitethernet 1/0/10
shutdown
exit
interface gigabitethernet 1/0/11
shutdown
exit
interface gigabitethernet 1/0/12
shutdown
exit
interface gigabitethernet 1/0/13
shutdown
exit
interface gigabitethernet 1/0/14
shutdown
exit
interface gigabitethernet 1/0/15
shutdown
exit
interface gigabitethernet 1/0/16
shutdown
exit
interface gigabitethernet 1/0/17
shutdown
exit
interface gigabitethernet 1/0/18
shutdown
exit
interface gigabitethernet 1/0/19
shutdown
exit
interface gigabitethernet 1/0/20
shutdown
exit
interface gigabitethernet 1/0/21
shutdown
exit
interface gigabitethernet 1/0/22
shutdown
exit
interface gigabitethernet 1/0/23
shutdown
exit
interface gigabitethernet 1/0/24
shutdown
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
rule 30
action permit
match protocol vrrp
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
rule 50
action permit
match protocol vrrp
match source-address any
match destination-address any
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 "disable SNAT for local VRRP packets"
match protocol vrrp
match source-address any
match destination-address any
action source-nat off
enable
exit
rule 40
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
exit
ip route 0.0.0.0/0 172.16.15.1
ip route 0.0.0.0/0 192.168.20.1 1 track 1
ip ssh server
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-n2
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
!
!
crypto map VPN 1 ipsec-isakmp
match address hub_spoke
set transform-set GOST
set peer 172.16.10.2
!
interface GigabitEthernet1/2
no ip address
shutdown
!
interface GigabitEthernet1/4
no ip address
shutdown
!
interface GigabitEthernet1/5
no ip address
shutdown
!
interface GigabitEthernet1/6
no ip address
shutdown
!
interface GigabitEthernet1/7
no ip address
shutdown
!
interface GigabitEthernet1/8
no ip address
shutdown
!
interface GigabitEthernet1/9
no ip address
shutdown
!
interface GigabitEthernet1/10
no ip address
shutdown
!
interface GigabitEthernet1/11
no ip address
shutdown
!
interface GigabitEthernet1/12
no ip address
shutdown
!
interface GigabitEthernet1/13
no ip address
shutdown
!
interface GigabitEthernet1/14
no ip address
shutdown
!
interface GigabitEthernet1/15
no ip address
shutdown
!
interface GigabitEthernet1/16
no ip address
shutdown
!
interface GigabitEthernet1/17
no ip address
shutdown
!
interface GigabitEthernet1/18
no ip address
shutdown
!
interface GigabitEthernet1/19
no ip address
shutdown
!
interface GigabitEthernet1/20
no ip address
shutdown
!
interface GigabitEthernet1/21
no ip address
shutdown
!
interface GigabitEthernet1/22
no ip address
shutdown
!
interface GigabitEthernet1/23
no ip address
shutdown
!
interface GigabitEthernet1/24
no ip address
shutdown
!
interface TenGigabitEthernet1/1
no ip address
shutdown
!
interface TenGigabitEthernet1/2
no ip address
shutdown
!
interface GigabitEthernet1/1
ip address 192.168.110.20 255.255.255.0
crypto map VPN
!
interface GigabitEthernet1/3
ip address 192.168.20.20 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
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
!
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
!
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