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 [2017/02/27 17:02] – [Poznámky, Tipy, FAQ] djbuldogipsec [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 34: Řádek 34:
   * Možnosti autentizace   * Možnosti autentizace
     * Veřejným klíčem     * Veřejným klíčem
-      * RSA nebo X.509+      * RSA nebo certifikát X.509
     * Sdíleným klíčem (PSK) - textový řetězec     * Sdíleným klíčem (PSK) - textový řetězec
     * Extensible Authentication Protocol (EAP)     * Extensible Authentication Protocol (EAP)
Řádek 45: Řádek 45:
       * určen primárně pro autentizaci přes login       * určen primárně pro autentizaci přes login
  
-  * Internet Key Exchange +  * Internet Key Exchange (IKE)
     * slouží k ustanovení SA     * slouží k ustanovení 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)
     * 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 52: Řá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 62: Řá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 81: Řá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 103: Řá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.
Řádek 139: Řádek 182:
 ==== Poznámky, Tipy, FAQ ====  ==== Poznámky, Tipy, FAQ ==== 
  
-=== ladění ===+=== Ladění ===
  
   * prohlédnout logy ''systemctl status strongswan''   * prohlédnout logy ''systemctl status strongswan''
ipsec.1488211341.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki