Uživatelské nástroje

Nástroje pro tento web


ipsec

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
ipsec [2018/02/28 17:16] – [Teorie] djbuldogipsec [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 47: Řádek 47:
   * Internet Key Exchange (IKE)   * Internet Key Exchange (IKE)
     * slouží k ustanovení SA     * slouží k ustanovení SA
-      * typicky se přes IKE ustanoví hlavní řídící SA  +      * typicky se přes IKE ustanoví prvotní řídící SA  
-      * následně se vytváří další Child-SA pro vlastní komunikaci (například oddělené tunely)+      * následně se vytváří další child-SA pro vlastní komunikaci (například oddělené tunely)
     * aktuálně existují dvě verze: IKEv1, IKEv2     * aktuálně existují dvě verze: IKEv1, IKEv2
     * naslouchá na portu UDP/500     * naslouchá na portu UDP/500
Řádek 54: Řádek 54:
  
   * fáze 1   * fáze 1
-    * vytváří prvotní ISAKMP Security Association (SA)+    * vytváří prvotní Security Association (SA)
         * dohoda na velikosti klíčů, šifrovacím alg, hash funkci, platnosti klíče         * dohoda na velikosti klíčů, šifrovacím alg, hash funkci, platnosti klíče
         * vygenerování klíče - každá strana pošle vygenerované číslo, k němu se přidá tajné sdílené a výsledek je klíč         * vygenerování klíče - každá strana pošle vygenerované číslo, k němu se přidá tajné sdílené a výsledek je klíč
Řádek 64: Řádek 64:
   * fáze 2   * fáze 2
     * **Quick mode**     * **Quick mode**
-      * vytvaří Security Associations pro jiné služby jako IPsec na základě SA z fáze 1+      * vytvaří Child Security Associations pro jiné služby (např. vlastní IPSec tunel) na základě SA z fáze 1
       * u Cisca se označuje jako IPsec       * u Cisca se označuje jako IPsec
       * u Openswan jako Klips       * u Openswan jako Klips
Řádek 83: Řádek 83:
 ==== IKEv2 ====  ==== IKEv2 ==== 
  
 +  * fáze navazování spojení jsou obdobné
   * **NAT-T**   * **NAT-T**
     * umožňuje průchod přes dynamický NAT jako Masquerade     * umožňuje průchod přes dynamický NAT jako Masquerade
Řádek 105: Řádek 106:
 ===== Strongswan prakticky ===== ===== Strongswan prakticky =====
  
-  * podle [[https://raymii.org/s/tutorials/IPSEC_vpn_with_CentOS_7.html|návodu pro CentOS]] 
   * nainstalovat balíček strongswan (nevyžaduje žádné speciální kernel moduly)   * nainstalovat balíček strongswan (nevyžaduje žádné speciální kernel moduly)
-  konfiguruje se úpravou tří souborů ve adresáři /etc/strongswan + 
-    * **ipsec.conf** - definice tunelů a globálních nastavení+==== Verze od 5.2.0 ====  
 + 
 +  zavádí **[[https://wiki.strongswan.org/projects/strongswan/wiki/swanctl|swanctl]]** - nástroj na konfiguraci, ovládání a monitorování IKE daemonu místo ipsec skriptů 
 +  * konfigurace se provádí přes soubor **swanctl.conf**, který nahrazuje ipsec.conf a ipsec.secure 
 +  * klíče, certifikáty a CA se vkládají do podadresářů ve složce /etc/strongswan/swanctl/ 
 + 
 +  * stále lze používat starší konfigurační soubory i binárky popsané u předchozí verze, dokonce současně s novými (některé spojení starým způsobem, některé novým) 
 + 
 +  * služba se spouští pořád stejně přes  
 +    * přes systemd (systemctl start/stop strongswan) 
 +    * přímo zavoláním binárky strongswan start (na Debian ipsec start) 
 + 
 +  * místo left/right se v konciguraci používá local/remote 
 +  * po změně konfigurace je nejprve potřeba zavolat načtení ''swanctl %%--%%load-all'' 
 + 
 +  * IPSec spojení (child-SA) lze ručně zapnout/vypnout příkazy 
 +    * ''%%--%%help'' nejdřív vypíše subcommands a pro jejich popis je potřeba zavolat znovu (například ''%%--%%initiate %%--%%help''
 +    * narozdíl od starší verze jsou child-SA pojmenované a každý lze spustit jen jednou 
 +<code> 
 +swanctl --initiate --child <name> [--ike <name>] [--timeout <s>] [--raw|--pretty] 
 +swanctl --terminate --child <name> | --ike <name | --child-id <id> | --ike-id <id> [--timeout <s>] [--raw|--pretty] 
 +</code> 
 + 
 +  * definovaná spojení (SA) se vypíšou příkazem ''swanctl %%--%%list-con'' (nahrazuje ''strongswan statusall''
 +  * aktivní SA se zjišťují příkazem ''swanctl %%--%%list-sas'' (nahrazuje ''strongswan status''
 +  * aktivutu SA lze sledovat přes ''swanctl %%--%%log'' nebo ''swanctl %%--%%monitor-sa'' 
 + 
 +==== Verze před 5.2.0 ====  
 + 
 +  * konfiguruje se úpravou tří souborů 
 +    * **ipsec.conf** - definice spojení/tunelů a globálních nastavení
     * **ipsec.secrets** - definice hesel k šifrovacím klíčům a případné uživatelské účty (EAP). Musí zde být uvedeny také všechny používané privátní širfrovací klíče, aby je strongswan našel.     * **ipsec.secrets** - definice hesel k šifrovacím klíčům a případné uživatelské účty (EAP). Musí zde být uvedeny také všechny používané privátní širfrovací klíče, aby je strongswan našel.
     * **strongswan.conf** - zatím jsem nikdy nepoužil :)     * **strongswan.conf** - zatím jsem nikdy nepoužil :)
 +  * případné klíče, certifikáty nebo důvěryhodné CA se umísťují do podadresáře private, certs a cacerts
 +  * na Debian je konfigurační adresář /etc/ipsec, na CentOS /etc/strongswan
  
-  * start se pak provádí normálně přes systemctl +  * při [[https://wiki.strongswan.org/projects/strongswan/wiki/ConnSection|definici spojení]] se používá označení left/right pro jednotlivé strany
-  * na CentOS je hlavní binárka nazvaná ''strongswan'', na Debian se nazývá přímo ''ipsec'' +
- +
-  * při [[https://wiki.strongswan.org/projects/strongswan/wiki/ConnSection|definici tunelu]] se používá označení left/right pro jednotlivé strany+
   * IPsec by měl sám poznat, zda je left nebo right na zákldě znalosti lokálního prostředí   * IPsec by měl sám poznat, zda je left nebo right na zákldě znalosti lokálního prostředí
   * lepší je ale cfg tvorit tak, že left je strana lokální a right vzdálená   * lepší je ale cfg tvorit tak, že left je strana lokální a right vzdálená
  
-  * vygenerovat klíče/certifikáty+  * služba se spouští 
 +    * přes systemd (''systemctl start/stop strongswan'')  
 +    * přímo zavoláním binárky ''strongswan start'' (na Debian ''ipsec start''
 +    * měl by se používat jen jeden způsob - na CentOS mi systemd neuměl zastavit strongswan spuštěný přímo 
 + 
 +  * IPSec spojení lze ručně zapnout/vypnout příkazem ''strongswan up/down <název_conn>'' 
 +    * pozor: pokud se příkaz ''up'' zavolá víckrát, vytvoří se zbytečně více child-SA 
 +  * Informace o definovaných a navázaných spojení se zobrazí příkazem ''strongswan statusall'' 
 + 
 +==== Příklad IPsec serveru pro Windows 7 ==== 
 + 
 +  * podle [[https://raymii.org/s/tutorials/IPSEC_vpn_with_CentOS_7.html|návodu pro CentOS]] 
 +  * vygenerovat klíče/certifikáty ([[https://wiki.strongswan.org/projects/strongswan/wiki/SimpleCA|Strongswan simpleCA]])
     * **Self signed root CA** - certifikační autorita pro generování certifikátů (pokud ještě nemáme)     * **Self signed root CA** - certifikační autorita pro generování certifikátů (pokud ještě nemáme)
     * **VPN Host key** - používá se k identifikaci serveru u klientů. Musí prý v DN (Distinguished Name) nebo SAN (subject Alternative Name) obsahovat IP adresu nebo doménové jméno stroje. V opačném případě nemusí být akceptován.     * **VPN Host key** - používá se k identifikaci serveru u klientů. Musí prý v DN (Distinguished Name) nebo SAN (subject Alternative Name) obsahovat IP adresu nebo doménové jméno stroje. V opačném případě nemusí být akceptován.
ipsec.1519834572.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki