workbook:jno-332:332_ipsec

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
workbook:jno-332:332_ipsec [2017/05/29 15:09] kworkbook:jno-332:332_ipsec [2021/08/12 08:35] (current) – external edit 127.0.0.1
Line 1: Line 1:
-===== 332 IPSec ======+===== JN0-332IPSec 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 есть несколько групп определяющие длину числа,  над которым производятся математические вычисления (combination of exponential and modulus calculation), используемое при генерации ключа. \\
 +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 должен быть включен на интерфейсе от имени которого строится туннель.  
 + 
 +<code> 
 +{primary:node0}[edit security zones security-zone untrust] 
 +admin@srx650-master# show 
 +... 
 +    reth0.261 { 
 +        host-inbound-traffic { 
 +            system-services { 
 +                ping; 
 +                traceroute; 
 +                ike; 
 +            } 
 +        } 
 +    } 
 +</code> 
 + 
 +Обмен информацией осуществляется парными сообщениями «запрос — ответ». Такие пары называются «обмен» («exchange»). \\  
 +Обмен данными в IKE происходит в 2 фазы. В первой фазе устанавливается SA IKE. Во второй фазе SA IKE используется для согласования пары SA IPSec.  
 + 
 + 
 +==== SA ====   
 +Security Associations - это набор согласованных параметров (см. выше), ключей и протоколов которыми будет шифроваться данные. Другими словами SA в принципе можно назвать соединением, после установления которого начинается безопасная передача данных.  
 + 
 +SA уникальна и идентифицируется след. параметрами: 
 +  * SPI (Security Paremeter Index)  
 +  * Адрес назначения 
 +  * Протокол безопасности (ESP или AH) 
 + 
 +**SA IKE** - устанавливается во время первой фазы, SA двунаправленная 
 + 
 +<code> 
 +{primary:node0}[edit security zones security-zone untrust] 
 +admin@srx650-master# run show security ike security-associations 
 +node0: 
 +-------------------------------------------------------------------------- 
 +Index   State  Initiator cookie  Responder cookie  Mode           Remote Address 
 +8191533 UP     ef6b34533d577417  7c3c47e505cbae39  Main           10.11.5.5 
 + 
 + 
 +{primary:node0}[edit security zones security-zone untrust] 
 +admin@srx650-master# run show security ike security-associations index 8191533 detail 
 +node0: 
 +-------------------------------------------------------------------------- 
 +IKE peer 10.11.5.5, Index 8191533, Gateway Name: IKE-GW-MSK-01-PTP 
 +  Role: Initiator, State: UP 
 +  Initiator cookie: ef6b34533d577417, Responder cookie: 7c3c47e505cbae39 
 +  Exchange type: Main, Authentication method: Pre-shared-keys 
 +  Local: 10.11.5.4:500, Remote: 10.11.5.5:500 
 +  Lifetime: Expires in 42709 seconds 
 +  Peer ike-id: 10.11.5.5 
 +  Xauth assigned IP: 0.0.0.0 
 +  Algorithms: 
 +   Authentication        : hmac-sha1-96 
 +   Encryption            : aes256-cbc 
 +   Pseudo random function: hmac-sha1 
 +   Diffie-Hellman group  : DH-group-5 
 +  Traffic statistics: 
 +   Input  bytes  :               811208 
 +   Output bytes  :               809296 
 +   Input  packets:                 8773 
 +   Output packets:                 8743 
 +  IPSec security associations: 15 created, 15 deleted 
 +  Phase 2 negotiations in progress: 1 
 + 
 +    Negotiation type: Quick mode, Role: Initiator, Message ID: 0 
 +    Local: 10.11.5.4:500, Remote: 10.11.5.5:500 
 +    Local identity: 10.11.5.4 
 +    Remote identity: 10.11.5.5 
 +    Flags: IKE SA is created 
 +</code> 
 + 
 +**SA IPSEC** - устанавливается во время второй фазы через ранее установленный SA IKE, SA однонаправленный, нужно две.  
 + 
 +<code> 
 +{primary:node0}[edit security zones security-zone untrust] 
 +admin@srx650-master# run show security ipsec security-associations 
 +node0: 
 +-------------------------------------------------------------------------- 
 +  Total active tunnels: 24 
 +  ID    Algorithm       SPI      Life:sec/kb  Mon lsys Port  Gateway 
 +  <131075 ESP:aes-cbc-256/sha1 2c00e182 2074/ unlim - root 500 10.11.5.5 
 +  >131075 ESP:aes-cbc-256/sha1 34ea8f60 2074/ unlim - root 500 10.11.5.5 
 + 
 +{primary:node0}[edit security zones security-zone untrust] 
 +admin@srx650-master# run show security ipsec security-associations detail index 131075 
 +node0: 
 +-------------------------------------------------------------------------- 
 + 
 +ID: 131075 Virtual-system: root, VPN Name: IKE-VPN-MSK-01-PTP 
 +  Local Gateway: 10.11.5.4, Remote Gateway: 10.11.5.5 
 +  Local Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0) 
 +  Remote Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0) 
 +  Version: IKEv1 
 +  DF-bit: clear, Bind-interface: st0.905 
 +  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:  Unlimited 
 +    Soft lifetime: Expires in 1494 seconds 
 +    Mode: Tunnel(0 0), Type: dynamic, State: installed 
 +    Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (256 bits) 
 +    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:  Unlimited 
 +    Soft lifetime: Expires in 1494 seconds 
 +    Mode: Tunnel(0 0), Type: dynamic, State: installed 
 +    Protocol: ESP, Authentication: hmac-sha1-96, Encryption: aes-cbc (256 bits) 
 +    Anti-replay service: counter-based enabled, Replay window size: 64 
 +</code> 
 + 
 +==== Фазы 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. \\ 
 +<code> 
 +{primary:node0}[edit security ike] 
 +admin@srx650-master# show proposal DEFAULT-FILIALS-IKE-PROPOSAL 
 +authentication-method pre-shared-keys; 
 +dh-group group5; 
 +authentication-algorithm sha1; 
 +encryption-algorithm aes-256-cbc; 
 +lifetime-seconds 86400; 
 +</code> 
 + 
 +**Message3 и Message4** - алгоритм DH обменялся публичными данными и сформировал симметричный ключ. Дальнейший обмен уже шифруется.  
 + 
 +**Message5 и Message6** - пиры аутентифицируют друг друга выбранным методом (preshared key, open key, digital signature) и фаза1 успешно завершается.  
 + 
 +**Aggresive mode** 
 +Используется когда один из пиров имеет динамический ip адрес или стоит за натом т.к. в main mode первые два сообщения используют внешние адреса при формировании куков. Пир с динамическим адресом достоверное не знает его.  
 + 
 +{{|Вставить картинку с chapter7-11}} 
 + 
 +**Message1** - пир с динамическим адресом посылает куки, SA пропосал, публичные ключ алгорима DH.  
 + 
 +**Message2** - пир со статическим адресом посылает ответные куки, сообщение о принятии SA пропосал, свою публичное ключ алгорима DH. Дальнейший обмен уже шифруется. 
 + 
 +**Message3** - пир с динамическим адресом посылает один из ключей (preshared key, open key, digital signature) и если все хорошо, то второй пир аутентифицирует первого и фаза 1 успешно завершается.  
 + 
 +=== Фаза 2  === 
 +{{|Вставить картинку с chapter7-12}} 
 + 
 +**Message1 и Message2** - пиры обмениваются и согласовывают SA пропосалами. \\ 
 +SA пропосал включает в себя: 
 +  * IPSec протокол - ESP или AH 
 +  * Группу DH (0 если не формируем новый общий симметричный ключ) 
 +  * Алгоритм шифрования  
 +  * Алгоритм хэширования 
 +  * Время жизни ключа (время и/или объем переданных данных)  
 +  * Proxy ID 
 +  * Публичные ключи DH 
 + 
 +<code> 
 +{primary:node0}[edit security ipsec] 
 +admin@srx650-master# set proposal DEFAULT-FILIALS-IPSEC-PROPOSAL ? 
 +Possible completions: 
 +  <[Enter]>            Execute this command 
 ++ apply-groups         Groups from which to inherit configuration data 
 ++ apply-groups-except  Don't inherit configuration data from these groups 
 +  authentication-algorithm  Define authentication algorithm 
 +  description          Text description of IPSec proposal 
 +  encryption-algorithm  Define encryption algorithm 
 +  lifetime-kilobytes   Lifetime, in kilobytes (64..4294967294 kilobytes) 
 +  lifetime-seconds     Lifetime, in seconds (180..86400 seconds) 
 +  protocol             Define an IPSec protocol for the proposal 
 +  |                    Pipe through a command 
 + 
 +{primary:node0}[edit security ipsec] 
 +admin@srx650-master# show 
 +... 
 +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; 
 +
 +</code> 
 + 
 +**Message3** - принимаем пропосал, поднимаем пару SA IPSEC и успешно завершаем вторую фазу.  
 + 
 +==== IPSec: Передача трафика ==== 
 +IPSec может работать в двух режимах: 
 +  * Транспортный - в транспортном режиме шифруются только данные ip пакета, а заголовок (информация о изначальных ip адресах) не меняется и не шифруются. \\ Такой режим используется когда надо зашифровать данные внутри иного туннеля, например L2PT.  
 +  * Туннельный - шифруется весь ip и сверху добавляются новые ip заголовки. Это основной режим работы.  
 + 
 +==== Протоколы IPSec ==== 
 +  * AH (Authentication Header) - протокол отвечает за: 
 +    * Целостность данных (integrity, MD5/SHA-1)  
 +    * Аутентификацию данных  
 +    * Номер протокола **51** (/etc/protocols) 
 +    * **Не** обеспечивает шифрование       
 +  * ESP (Encapsulating Security Payload) - протокол отвечает за:  
 +    * Целостность данных (integrity)  
 +    * Аутентификацию данных  
 +    * Номер протокола **50** (/etc/protocols) 
 +    * Шифрует данные (DES, AES) 
 +          
 +---- 
 + 
 +==== Настройка ==== 
 + 
 +<code> 
 +admin@srx650-master> show configuration security ike 
 +... 
 +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 "$9$ixxxxxxxxxxxxxxxxxxxxxxxxxxxx6At"; ## SECRET-DATA 
 +
 +policy IKE-POLICY-MSK-01-PTP { 
 +    mode main; 
 +    proposals DEFAULT-FILIALS-IKE-PROPOSAL; 
 +    pre-shared-key ascii-text "$9$kxxxxxxxxxxxxxxxxxxxfz"; ## SECRET-DATA 
 +
 +... 
 +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; 
 +
 +... 
 +</code> 
 + 
 +<code> 
 +{primary:node0} 
 +admin@srx650-master> show configuration security ipsec 
 +... 
 +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; 
 +
 +... 
 +</code> 
 + 
 +<code> 
 +{primary:node0} 
 +admin@srx650-master> show configuration interfaces st0 
 +... 
 +unit 5 { 
 +    description vpn_to_msk-01; 
 +    family inet { 
 +        address 10.11.5.13/30; 
 +    } 
 +
 +... 
 +unit 905 { 
 +    description vpn_to_msk-01_ptp; 
 +    family inet { 
 +        address 10.11.5.9/30; 
 +    } 
 +
 +</code> 
 + 
 +<code> 
 +{primary:node0} 
 +admin@srx650-master> show configuration security zones security-zone vpn 
 +... 
 +    st0.5 { 
 +        host-inbound-traffic { 
 +            system-services { 
 +                ping; 
 +                traceroute; 
 +            } 
 +            protocols { 
 +                ospf; 
 +            } 
 +        } 
 +    } 
 +    st0.905 { 
 +        host-inbound-traffic { 
 +            system-services { 
 +                ping; 
 +                traceroute; 
 +            } 
 +            protocols { 
 +                ospf; 
 +            } 
 +        } 
 +    } 
 +... 
 +</code> 
 + 
 +<code> 
 +{primary:node0} 
 +admin@srx650-master> show route 
 +... 
 +192.168.5.0/24     *[OSPF/10] 5d 00:33:01, metric 2 
 +                    > via st0.905 
 +... 
 +</code> 
 + 
 +===== Полезные материалы =====
   * Deffie-Hellman   * Deffie-Hellman
     * [[https://youtu.be/wXB-V_Keiu8?t=183]]     * [[https://youtu.be/wXB-V_Keiu8?t=183]]
     * [[https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%94%D0%B8%D1%84%D1%84%D0%B8_%E2%80%94_%D0%A5%D0%B5%D0%BB%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0|https://ru.wikipedia.org/wiki/Протокол_Диффи_—_Хеллмана]]     * [[https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%94%D0%B8%D1%84%D1%84%D0%B8_%E2%80%94_%D0%A5%D0%B5%D0%BB%D0%BB%D0%BC%D0%B0%D0%BD%D0%B0|https://ru.wikipedia.org/wiki/Протокол_Диффи_—_Хеллмана]]
 +  * IKE
 +    * [[https://ru.wikipedia.org/wiki/IKE]]
  
- +{{tag>juniper jn0-332 exam}}
  
  
workbook/jno-332/332_ipsec.1496059770.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki