0. Общие слова
Зачем нужен vpn и что с ним делать рассказывать не буду, в сети достаточно много информации на эту тему. Скажу только, что под vpn подразумевается ipsec и в данной заметке описывается построение site to site vpn используя pre-shared keys, т.е. соединение двух локальных сетей, например центрального отделения и филиала через открытую сеть типа интернет. Используемое оборудование - рутер cisco. Заметка сугубо практическая, поскольку рассмотрение теории займет достаточно много места и времени. Краткий обзор: что происходит при построении ipsec туннеля можно найти в одной из предыдущих заметок.
Итак, пройдемся по всем фазам и посмотрим какие команды отвечают за успешное завершение каждой. Адресация сети выглядит следующим образом.
Внутренняя сеть А: 192.168.1.0/24
Внутренняя сеть Б: 192.168.2.0/24
Внешний интерфейс А: 10.10.11.2/24
Внешний интерфейс Б: 10.10.10.2/24
Необходимо убедиться, что существующие acl совместимы с ipsec. Как требует документация необходимо разрешить прохождения трафика по протоколам 51 (ah) и 50 (esp) стека ip, зависит от желаемой конфигурации. Порт 500/udp и echo/echo-replay. Впрочем без разрешенного icmp у меня туннель заработал.
1. Установка триггера на трафик подлежащий шифрованию
Задача, соответственно, состоит в том, чтобы позволить пользователям из сети 192.168.1.0/24 получать доступ к компьютерам находящимся в сети 192.168.2.0/24 и наоборот.
На первом этапе ipsec рутер просматривает проходящий через него трафик и если находит пакет совпадающий с определенным acl, шифрует его и передает дальше. Таким образом первая задача - определить трафик подлежащий шифрованию с помощью acl. Логично, что acl должны быть совершенно зеркальны на обоих сторонах туннеля, поскольку SA создаются уникальные для source и destination в прямом и обратном направлении. Соответственно, если acl будут не зеркальны, то и туннель не установится.
//Пример acl
// routerA
RouterA(config)# access-list 120 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
// routerB
RouterB(config)# access-list 120 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
2. Первая фаза IKE
Следующий этап - создание IKE SA.
Поскольку на каждому рутере может создаваться несколько IKE SA для различных туннелей с различными настройками безопасности используются политики IKE с различными уровнями приоритета (<1-10000), id="ce4u">Каждая политика характеризуется следующими параметрами: алгоритм шифрования, алгоритм хеширования, метод аутентификации, используемая реализация алгоритма Диффи-Хелмана, время жизни SA. Настройки по-умолчанию можно посмотреть следующим образом:
//политика IKE по-умолчанию
RouterA#sh crypto isakmp policy
Global IKE policy
Default protection suite
encryption algorithm: DES - Data Encryption Standard (56 bit keys).
hash algorithm: Secure Hash Standard
authentication method: Rivest-Shamir-Adleman Signature
Diffie-Hellman group: #1 (768 bit)
lifetime: 86400 seconds, no volume limit
Минимально необходимых, а мы сейчас говорим именно о них, параметров не так много. В данном случае изменим метод аутентификации на pre-shared keys, заменим не рекомендуемый аглоритм шифрования данных, на продвинутый (DES & AES) и Диффи-Хелмана на вторую группу, 1024 бита.
Поскольку в качестве метода аутентификации выбран метод распределенного ключа, его необходимо также указать.
Манипуляции производятся следующими командами.
// Настройки необходимые для IKE SA, в данном случае политика с приоритетом 200
// ключ указывается отдельно от политики, поскольку в общем случае он почти ничего общего с ней не имеет,
// политика может использоваться многократно для нескольких туннелей. Ключ желательно оставлять уникальным для каждого пира.
// Конечно, настройки для рутера Б должны быть идентичны за исключением адреса другого конца туннеля.
RouterA(config)# crypto isakmp policy 200
RouterA(config-isakmp)# encr aes
RouterA(config-isakmp)# authentication pre-share
RouterA(config-isakmp)# group 2
RouterA(config)# crypto isakmp key sUpeRkEy address 10.10.10.2
3. Вторая фаза IKE
В рамках второй фазы IKE происходит установка ipsec SA которые потом будут использоваться непосредственно для шифрования трафика.
Для этого необходимо указать желаемые параметры: алгоритм и шифрования и хеширования. Происходит это путем создания так называемого transform-set.
// В данном случае:
// ts-aes-sha - имя данного transform-set
// esp-aes 256 - алгоритм шифрования и длина его ключа
// esp-sha-hmac - алгорим хеширования
RouterA(config)# crypto ipsec transform-set ts-aes-sha esp-aes 256 esp-sha-hmac
Следущим этапом идет создание специальной крипто карты, которая связывает всё вместе. Именно эта карта потом привязывается к конкретному интерфейсу.
Поскольку для каждого интерфейса может быть определена только одна крипто карта, здесь используется тот же принцип приоритетов, позволяющий создавать туннели к разным пирам и с различными параметрами безопасности.
Параметров не так много: адрес другого конца туннеля, имя желаемомого transform-set, acl который будет использваться как триггер для данной крипто карты.
//Пример crypto map
RouterA(config)# crypto map cr_outside 200 ipsec-isakmp
RouterA(config-crypto-map)# set peer 10.10.10.2
RouterA(config-crypto-map)# set transform-set ts-aes-sha
RouterA(config-crypto-map)# match address 120
4. Нормальная работа
Почти всё необходимые настойки произведены, осталось только указать интерфейс используемый как источник для создния туннеля и включить "глобальный выключатель" разрешающий использовать IKE и слушать 500/udp порт.
//Привязка созданной крипто карты к интерфейсу
RouterA(config-if)#crypto map cr_outside
//Включить IKE
RouterA(config)#crypto isakmp enable
Туннель создается не сразу, а только после появления трафика подлежащего шифрованию. Посмотреть реально ли создан туннель и шифруется ли трафик можно с помощью следущей команды:
// Просмотр активных туннелей
RouterA#sh crypto engine connections active
ID Interface IP-Address State Algorithm Encrypt Decrypt
2001 FastEthernet1/0 10.10.11.2 set AES256+SHA 9 0
2002 FastEthernet1/0 10.10.11.2 set AES256+SHA 0 9
Насколько видно из примера, создано две SA каждая используется для одного направления. В данном случае SA c ID 2001 используется для шифрования, а c ID 2002 для расшифровывания, что видно по счетчикам пакетов.
Более подробную информацию может дать команда show crypto ipsec sa.
// Доступные SA на рутере.
RouterA#sh crypto ipsec sa
interface: FastEthernet1/0
Crypto map tag: cr_outside, local addr 10.10.11.2
protected vrf: (none)
local ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.2.0/255.255.255.0/0/0)
current_peer 10.10.10.2 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 9, #pkts encrypt: 9, #pkts digest: 9
#pkts decaps: 9, #pkts decrypt: 9, #pkts verify: 9
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 1, #recv errors 0
local crypto endpt.: 10.10.11.2, remote crypto endpt.: 10.10.10.2
path mtu 1500, ip mtu 1500
current outbound spi: 0xB2259128(2988806440)
inbound esp sas:
spi: 0x8A02CA5F(2315438687)
transform: esp-256-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2002, flow_id: SW:2, crypto map: cr_outside
sa timing: remaining key lifetime (k/sec): (4533541/3425)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0xB2259128(2988806440)
transform: esp-256-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2001, flow_id: SW:1, crypto map: cr_outside
sa timing: remaining key lifetime (k/sec): (4533541/3425)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0xB2259128(2988806440)
transform: esp-256-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2001, flow_id: SW:1, crypto map: cr_outside
sa timing: remaining key lifetime (k/sec): (4533541/3363)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE
outbound ah sas:
outbound pcp sas:
1 comment:
Casino - JTG Hub
Casino. Casino. Enjoy our wide variety of games 서귀포 출장마사지 at JTG's Casino site. Play slots, table games 평택 출장마사지 and 동두천 출장마사지 more at JTG's huge selection of 밀양 출장안마 casino games and online 파주 출장마사지
Post a Comment