workbook:jno-332:332_ipsec
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
workbook:jno-332:332_ipsec [2017/05/29 15:09] – k | workbook:jno-332:332_ipsec [2021/08/12 08:35] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== 332 IPSec ====== | + | ===== JN0-332: IPSec VPNs ====== |
** Необходимые знания по IPSec: ** | ** Необходимые знания по IPSec: ** | ||
* Identify the concepts, benefits and operation of IPSec VPNs: | * Identify the concepts, benefits and operation of IPSec VPNs: | ||
Line 9: | Line 9: | ||
* IPSec VPN configuration steps | * IPSec VPN configuration steps | ||
*Monitoring and troubleshooting | *Monitoring and troubleshooting | ||
- | |||
- | IPSec - это набор стандартов\протоколов с помощью которых можно организовать безопасную предачу данных через ip сети. | ||
Проблемы безопасности в разрезе передачи информации через через ip сети: | Проблемы безопасности в разрезе передачи информации через через ip сети: | ||
Line 87: | Line 85: | ||
Обменяться ключами можно в ручном режиме или автоматически. \\ | Обменяться ключами можно в ручном режиме или автоматически. \\ | ||
- | При ручном обмене обычно с обоих сторон ставят один ключи и его всегда используют, | + | При ручном обмене обычно с обоих сторон ставят один ключи и его всегда используют, |
- | При автоматическом обмене флешку возить не надо, но надо как-то безопасным образом передавать ключи через интернет. Для используют протокол Deffie-Hellman с помощью которого две стороны получают общий секретный ключ которы в дальнейшем используются при не симметричном шифровании. | + | |
+ | При автоматическом обмене флешку возить не надо, но надо как-то безопасным образом передавать ключи через интернет. Для этого используют протокол Diffie-Hellman с помощью которого две стороны получают общий секретный ключ который в дальнейшем используются при не **(Перечитать!!)** симметричном шифровании. | ||
+ | |||
+ | === DH === | ||
+ | У протокола DH есть несколько групп определяющие длину числа, | ||
+ | Junos поддерживает группы 1 (длина числа 768 бит), 2 (1024 бит) и 5 (1536 бит). | ||
+ | |||
+ | {{|Вставить картинку с chapter7-7}} | ||
+ | |||
---- | ---- | ||
- | Полезные материалы | + | |
+ | ===== IPSec ===== | ||
+ | |||
+ | IPSec - это набор стандартов\протоколов с помощью которых можно организовать безопасную передачу данных через ip сети. | ||
+ | |||
+ | Два основных этапа: | ||
+ | * Поднятие ipsec туннеля - туннеля поднимается руками (??) или автоматически c помощью протокола IKE (Internet Key Excahnge). | ||
+ | * Передача данных внутри ipsec туннеля - собственно шифруем данные. | ||
+ | |||
+ | ==== IKE ==== | ||
+ | IKE это протокол используемый для безопасного согласования параметров туннеля. \\ | ||
+ | IKE работает по udp/500 и udp/4500. System service должен быть включен на интерфейсе от имени которого строится туннель. | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@srx650-master# | ||
+ | ... | ||
+ | reth0.261 { | ||
+ | host-inbound-traffic { | ||
+ | system-services { | ||
+ | ping; | ||
+ | traceroute; | ||
+ | ike; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Обмен информацией осуществляется парными сообщениями «запрос — ответ». Такие пары называются «обмен» («exchange»). \\ | ||
+ | Обмен данными в IKE происходит в 2 фазы. В первой фазе устанавливается SA IKE. Во второй фазе SA IKE используется для согласования пары SA IPSec. | ||
+ | |||
+ | |||
+ | ==== SA ==== | ||
+ | Security Associations - это набор согласованных параметров (см. выше), ключей и протоколов которыми будет шифроваться данные. Другими словами SA в принципе можно назвать соединением, | ||
+ | |||
+ | SA уникальна и идентифицируется след. параметрами: | ||
+ | * SPI (Security Paremeter Index) | ||
+ | * Адрес назначения | ||
+ | * Протокол безопасности (ESP или AH) | ||
+ | |||
+ | **SA IKE** - устанавливается во время первой фазы, SA двунаправленная | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@srx650-master# | ||
+ | node0: | ||
+ | -------------------------------------------------------------------------- | ||
+ | Index | ||
+ | 8191533 UP | ||
+ | |||
+ | |||
+ | {primary: | ||
+ | admin@srx650-master# | ||
+ | node0: | ||
+ | -------------------------------------------------------------------------- | ||
+ | IKE peer 10.11.5.5, Index 8191533, Gateway Name: IKE-GW-MSK-01-PTP | ||
+ | Role: Initiator, State: UP | ||
+ | Initiator cookie: ef6b34533d577417, | ||
+ | Exchange type: Main, Authentication method: Pre-shared-keys | ||
+ | Local: 10.11.5.4: | ||
+ | Lifetime: Expires in 42709 seconds | ||
+ | Peer ike-id: 10.11.5.5 | ||
+ | Xauth assigned IP: 0.0.0.0 | ||
+ | Algorithms: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | Traffic statistics: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | IPSec security associations: | ||
+ | Phase 2 negotiations in progress: 1 | ||
+ | |||
+ | Negotiation type: Quick mode, Role: Initiator, Message ID: 0 | ||
+ | Local: 10.11.5.4: | ||
+ | Local identity: 10.11.5.4 | ||
+ | Remote identity: 10.11.5.5 | ||
+ | Flags: IKE SA is created | ||
+ | </ | ||
+ | |||
+ | **SA IPSEC** - устанавливается во время второй фазы через ранее установленный SA IKE, SA однонаправленный, | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@srx650-master# | ||
+ | node0: | ||
+ | -------------------------------------------------------------------------- | ||
+ | Total active tunnels: 24 | ||
+ | ID Algorithm | ||
+ | <131075 ESP: | ||
+ | >131075 ESP: | ||
+ | |||
+ | {primary: | ||
+ | admin@srx650-master# | ||
+ | node0: | ||
+ | -------------------------------------------------------------------------- | ||
+ | |||
+ | ID: 131075 Virtual-system: | ||
+ | Local Gateway: 10.11.5.4, Remote Gateway: 10.11.5.5 | ||
+ | Local Identity: ipv4_subnet(any: | ||
+ | Remote Identity: ipv4_subnet(any: | ||
+ | Version: IKEv1 | ||
+ | DF-bit: clear, Bind-interface: | ||
+ | Port: 500, Nego#: 1644, Fail#: 0, Def-Del#: 0 Flag: 0x600a29 | ||
+ | Tunnel events: | ||
+ | Tue May 30 2017 11:35:04 +0300: IPSec SA negotiation successfully completed (218 times) | ||
+ | Mon May 29 2017 23:38:32 +0300: IKE SA negotiation successfully completed (57 times) | ||
+ | Mon May 22 2017 23:38:01 +0300: Reached maximum allowed negotiation trigger. Delayed triggering negotiation (2 times) | ||
+ | Mon May 22 2017 23:15:42 +0300: IPSec SA negotiation successfully completed (48 times) | ||
+ | Sun May 21 2017 07:33:52 +0300: Reached maximum allowed negotiation trigger. Delayed triggering negotiation (1 times) | ||
+ | Sun May 21 2017 07:33:47 +0300: IPSec SA negotiation successfully completed (17 times) | ||
+ | Sat May 20 2017 17:30:06 +0300: Reached maximum allowed negotiation trigger. Delayed triggering negotiation (1 times) | ||
+ | Sat May 20 2017 17:30:01 +0300: IPSec SA negotiation successfully completed (3 times) | ||
+ | Sat May 20 2017 15:00:49 +0300: Reached maximum allowed negotiation trigger. Delayed triggering negotiation (1 times) | ||
+ | Mon Apr 03 2017 23:35:26 +0300: No response from peer. Negotiation failed (64 times) | ||
+ | Mon Apr 03 2017 19:40:34 +0300: IKE SA negotiation successfully completed (1 times) | ||
+ | Direction: inbound, SPI: 2c00e182, AUX-SPI: 0 | ||
+ | Hard lifetime: Expires in 2056 seconds | ||
+ | Lifesize Remaining: | ||
+ | Soft lifetime: Expires in 1494 seconds | ||
+ | Mode: Tunnel(0 0), Type: dynamic, State: installed | ||
+ | Protocol: ESP, Authentication: | ||
+ | Anti-replay service: counter-based enabled, Replay window size: 64 | ||
+ | Direction: outbound, SPI: 34ea8f60, AUX-SPI: 0 | ||
+ | Hard lifetime: Expires in 2056 seconds | ||
+ | Lifesize Remaining: | ||
+ | Soft lifetime: Expires in 1494 seconds | ||
+ | Mode: Tunnel(0 0), Type: dynamic, State: installed | ||
+ | Protocol: ESP, Authentication: | ||
+ | Anti-replay service: counter-based enabled, Replay window size: 64 | ||
+ | </ | ||
+ | |||
+ | ==== Фазы IKE ==== | ||
+ | === Фаза 1 === | ||
+ | Тезисно: | ||
+ | * Два пира построили безопасный канал связи через который в дальшейшем будут согласовываться SA IPSec. | ||
+ | * Алгоритм DH сформировал симметричный ключ. | ||
+ | * Main mode - используется когда оба пира имеют статический внешний ip адрес. | ||
+ | * Aggressive mode - используется когда один из пиров находится за vpn. | ||
+ | |||
+ | В ходе первой фазы согласовываются следующие параметры: | ||
+ | * Алгоритм шифрования | ||
+ | * Алгоритм хэширования | ||
+ | * Метод аутентификации | ||
+ | * Preshared key (разделяемый ключ, слово) | ||
+ | * Digital key (Цифровая подпись, | ||
+ | * Public key encryption (открытый ключ) | ||
+ | * Группа Diffie-Hellman | ||
+ | |||
+ | **Main mode** | ||
+ | {{|Вставить картинку с chapter7-10}} | ||
+ | |||
+ | **Message1 и Message2** - пиры обмениваются куками и SA пропосалами. \\ | ||
+ | Куки это уникальные числа сгенеренные (был взят хэш) на основе ip адресов, | ||
+ | SA пропосал это предложение по параметрам SA. \\ | ||
+ | < | ||
+ | {primary: | ||
+ | admin@srx650-master# | ||
+ | authentication-method pre-shared-keys; | ||
+ | dh-group group5; | ||
+ | authentication-algorithm sha1; | ||
+ | encryption-algorithm aes-256-cbc; | ||
+ | lifetime-seconds 86400; | ||
+ | </ | ||
+ | |||
+ | **Message3 и Message4** - алгоритм DH обменялся публичными данными и сформировал симметричный ключ. Дальнейший обмен уже шифруется. | ||
+ | |||
+ | **Message5 и Message6** - пиры аутентифицируют друг друга выбранным методом (preshared key, open key, digital signature) и фаза1 успешно завершается. | ||
+ | |||
+ | **Aggresive mode** | ||
+ | Используется когда один из пиров имеет динамический ip адрес или стоит за натом т.к. в main mode первые два сообщения используют внешние адреса при формировании куков. Пир с динамическим адресом достоверное не знает его. | ||
+ | |||
+ | {{|Вставить картинку с chapter7-11}} | ||
+ | |||
+ | **Message1** - пир с динамическим адресом посылает куки, SA пропосал, | ||
+ | |||
+ | **Message2** - пир со статическим адресом посылает ответные куки, сообщение о принятии SA пропосал, | ||
+ | |||
+ | **Message3** - пир с динамическим адресом посылает один из ключей (preshared key, open key, digital signature) и если все хорошо, | ||
+ | |||
+ | === Фаза 2 === | ||
+ | {{|Вставить картинку с chapter7-12}} | ||
+ | |||
+ | **Message1 и Message2** - пиры обмениваются и согласовывают SA пропосалами. \\ | ||
+ | SA пропосал включает в себя: | ||
+ | * IPSec протокол - ESP или AH | ||
+ | * Группу DH (0 если не формируем новый общий симметричный ключ) | ||
+ | * Алгоритм шифрования | ||
+ | * Алгоритм хэширования | ||
+ | * Время жизни ключа (время и/или объем переданных данных) | ||
+ | * Proxy ID | ||
+ | * Публичные ключи DH | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@srx650-master# | ||
+ | Possible completions: | ||
+ | < | ||
+ | + apply-groups | ||
+ | + apply-groups-except | ||
+ | authentication-algorithm | ||
+ | description | ||
+ | encryption-algorithm | ||
+ | lifetime-kilobytes | ||
+ | lifetime-seconds | ||
+ | protocol | ||
+ | | Pipe through a command | ||
+ | |||
+ | {primary: | ||
+ | admin@srx650-master# | ||
+ | ... | ||
+ | proposal DEFAULT-FILIALS-IPSEC-PROPOSAL { | ||
+ | protocol esp; | ||
+ | authentication-algorithm hmac-sha1-96; | ||
+ | encryption-algorithm aes-256-cbc; | ||
+ | lifetime-seconds 3600; | ||
+ | } | ||
+ | ... | ||
+ | policy DEFAULT-FILIALS-VPN-POLICY { | ||
+ | perfect-forward-secrecy { | ||
+ | keys group5; | ||
+ | } | ||
+ | proposals DEFAULT-FILIALS-IPSEC-PROPOSAL; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | **Message3** - принимаем пропосал, | ||
+ | |||
+ | ==== IPSec: Передача трафика ==== | ||
+ | IPSec может работать в двух режимах: | ||
+ | * Транспортный - в транспортном режиме шифруются только данные ip пакета, | ||
+ | * Туннельный - шифруется весь ip и сверху добавляются новые ip заголовки. Это основной режим работы. | ||
+ | |||
+ | ==== Протоколы IPSec ==== | ||
+ | * AH (Authentication Header) - протокол отвечает за: | ||
+ | * Целостность данных (integrity, MD5/SHA-1) | ||
+ | * Аутентификацию данных | ||
+ | * Номер протокола **51** (/ | ||
+ | * **Не** обеспечивает шифрование | ||
+ | * ESP (Encapsulating Security Payload) - протокол отвечает за: | ||
+ | * Целостность данных (integrity) | ||
+ | * Аутентификацию данных | ||
+ | * Номер протокола **50** (/ | ||
+ | * Шифрует данные (DES, AES) | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Настройка ==== | ||
+ | |||
+ | < | ||
+ | admin@srx650-master> | ||
+ | ... | ||
+ | proposal DEFAULT-FILIALS-IKE-PROPOSAL { | ||
+ | authentication-method pre-shared-keys; | ||
+ | dh-group group5; | ||
+ | authentication-algorithm sha1; | ||
+ | encryption-algorithm aes-256-cbc; | ||
+ | lifetime-seconds 86400; | ||
+ | } | ||
+ | ... | ||
+ | policy IKE-POLICY-MSK-01 { | ||
+ | mode main; | ||
+ | proposals DEFAULT-FILIALS-IKE-PROPOSAL; | ||
+ | pre-shared-key ascii-text " | ||
+ | } | ||
+ | policy IKE-POLICY-MSK-01-PTP { | ||
+ | mode main; | ||
+ | proposals DEFAULT-FILIALS-IKE-PROPOSAL; | ||
+ | pre-shared-key ascii-text " | ||
+ | } | ||
+ | ... | ||
+ | gateway IKE-GW-MSK-01 { | ||
+ | ike-policy IKE-POLICY-MSK-01; | ||
+ | address 147.45.yyy.xxx; | ||
+ | dead-peer-detection always-send; | ||
+ | external-interface reth0.261; | ||
+ | } | ||
+ | gateway IKE-GW-MSK-01-PTP { | ||
+ | ike-policy IKE-POLICY-MSK-01-PTP; | ||
+ | address 10.11.5.5; | ||
+ | dead-peer-detection always-send; | ||
+ | external-interface reth0.162; | ||
+ | } | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@srx650-master> | ||
+ | ... | ||
+ | proposal DEFAULT-FILIALS-IPSEC-PROPOSAL { | ||
+ | protocol esp; | ||
+ | authentication-algorithm hmac-sha1-96; | ||
+ | encryption-algorithm aes-256-cbc; | ||
+ | lifetime-seconds 3600; | ||
+ | } | ||
+ | ... | ||
+ | policy DEFAULT-FILIALS-VPN-POLICY { | ||
+ | perfect-forward-secrecy { | ||
+ | keys group5; | ||
+ | } | ||
+ | proposals DEFAULT-FILIALS-IPSEC-PROPOSAL; | ||
+ | } | ||
+ | ... | ||
+ | vpn IKE-VPN-MSK-01 { | ||
+ | bind-interface st0.5; | ||
+ | ike { | ||
+ | gateway IKE-GW-MSK-01; | ||
+ | ipsec-policy DEFAULT-FILIALS-VPN-POLICY; | ||
+ | } | ||
+ | establish-tunnels immediately; | ||
+ | } | ||
+ | vpn IKE-VPN-MSK-01-PTP { | ||
+ | bind-interface st0.905; | ||
+ | ike { | ||
+ | gateway IKE-GW-MSK-01-PTP; | ||
+ | ipsec-policy DEFAULT-FILIALS-VPN-POLICY; | ||
+ | } | ||
+ | establish-tunnels immediately; | ||
+ | } | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@srx650-master> | ||
+ | ... | ||
+ | unit 5 { | ||
+ | description vpn_to_msk-01; | ||
+ | family inet { | ||
+ | address 10.11.5.13/ | ||
+ | } | ||
+ | } | ||
+ | ... | ||
+ | unit 905 { | ||
+ | description vpn_to_msk-01_ptp; | ||
+ | family inet { | ||
+ | address 10.11.5.9/ | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@srx650-master> | ||
+ | ... | ||
+ | st0.5 { | ||
+ | host-inbound-traffic { | ||
+ | system-services { | ||
+ | ping; | ||
+ | traceroute; | ||
+ | } | ||
+ | protocols { | ||
+ | ospf; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | st0.905 { | ||
+ | host-inbound-traffic { | ||
+ | system-services { | ||
+ | ping; | ||
+ | traceroute; | ||
+ | } | ||
+ | protocols { | ||
+ | ospf; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@srx650-master> | ||
+ | ... | ||
+ | 192.168.5.0/ | ||
+ | > via st0.905 | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ===== Полезные материалы | ||
* Deffie-Hellman | * Deffie-Hellman | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * IKE | ||
+ | * [[https:// | ||
- | + | {{tag> | |
workbook/jno-332/332_ipsec.1496059770.txt.gz · Last modified: (external edit)