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:27] 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 89: Line 87:
 При ручном обмене обычно с обоих сторон ставят один ключи и его всегда используют, передать этот ключ можно, например. на флешке. Часто менять ключ сложно т.к. его каждый раз надо надежным способом доставить  и настроить.  При ручном обмене обычно с обоих сторон ставят один ключи и его всегда используют, передать этот ключ можно, например. на флешке. Часто менять ключ сложно т.к. его каждый раз надо надежным способом доставить  и настроить. 
  
-При автоматическом обмене флешку возить не надо, но надо как-то безопасным образом передавать ключи через интернет. Для этого используют протокол Diffie-Hellman с помощью которого две стороны получают общий секретный ключ который в дальнейшем используются при не симметричном шифровании.+При автоматическом обмене флешку возить не надо, но надо как-то безопасным образом передавать ключи через интернет. Для этого используют протокол Diffie-Hellman с помощью которого две стороны получают общий секретный ключ который в дальнейшем используются при не **(Перечитать!!)** симметричном шифровании.
  
 === DH === === DH ===
Line 98: Line 96:
    
 ---- ----
 +
 +===== 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>
  
 ===== Полезные материалы ===== ===== Полезные материалы =====
Line 103: Line 483:
     * [[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.1496060825.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki