www.SAMURAJ-cz.com 

25.04.2024 Marek Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

VPN 1 - IPsec VPN a Cisco

Neděle, 10.04.2011 19:59 | Samuraj - Petr Bouška |
Úvodní díl seriálu, který se věnuje technologii VPN. Naleznete zde stručný popis VPN a jejich typů. Dále se více popisuje VPN založená na protokolu IPsec, primárně typ Remote Access VPN. Celý popis je obecný, ale do budoucna se zaměřuje na nasazení na Cisco zařízeních, primárně Cisco ASA. Na konci jsou zmíněny parametry, které podporují klienti Cisco VPN Client, integrovaný klient na Google Android a ve Windows XP/Vista/7.

Virtual Private Network

Zkratka VPN je z názvu Virtual Private Network, což je privátní počítačová síť, která dovolí připojit vzdálené uživatele nebo pobočky do LAN organizace přes veřejné telekomunikační služby, převážně přes internet. Pro bezpečné vytvoření sítě na větší vzdálenost je možné využít pronajatých linek, ale to je velice drahé řešení (a pro připojení mobilních pracovníků nepoužitelné). VPN toto umožňuje přes relativně levný internet a bezpečnost řeší pomocí vytvoření šifrovaného tunelu mezi dvěma body (nebo jedním a několika). VPN řeší důvěrnost, autentizaci, neporušenost komunikace, apod.

VPN je velice široký termín a zahrnuje řadu protokolů a technologií. Hlavní typy VPN jsou dva:

  • Site-to-Site VPN - spojujeme dvě (nebo více) sítě dohromady, většinou centrálu a pobočky, používají se speciální síťová zařízení (VPN koncentrátor, firewall, router, server), která slouží jako VPN gateway a naváží mezi sebou VPN spojení (příchozí komunikaci rozbalí a do sítě posílají standardně, odchozí zapouzdří do VPN tunelu), uživatelské stanice pak nepotřebují VPN klienta, často používané protokoly/typy jsou IPsec VPN a MPLS VPN
  • Remote Access VPN - připojujeme individuální klienty do lokální sítě, klienti musí mít speciální SW - VPN klienta, na straně privátní sítě je opět speciální síťové zařízení, často používané protokoly/typy jsou SSL VPN a IPsec VPN

Druhým nejčastějším dělením VPN je podle primárně použitého protokolu, na kterém je VPN postavena:

  • IPsec VPN - Internet Protocol Security je asi nejrozšířenější forma VPN, je to součást IPv6 a hojně se používá v IPv4, často se kombinuje s L2TP (L2TP over IPsec), má problémy s NATem (řeší to NAT-T)
  • SSL VPN - moderní metoda VPN, která využívá Transport Layer Security (TLS) nebo Secure Sockets Layer (SSL), často se využívá port 443 (HTTPS) a VPN dobře prochází přes FW (pracuje na vyšší vrstvě, takže nemá problémy s NATem), Microsoft vytvořil Secure Socket Tunneling Protocol (SSTP), což je přenos PPP nebo L2TP skrz SSL
  • MPLS VPN - Multiprotocol Label Switching využívají hlavně ISP, kdy vytváří privátní sítě pro zákazníky přes MPLS

Existuje i řada dalších typů VPN (třeba PPTP, SSH), které jsou ale méně rozšířené/používané.

Typy VPN na Cisco ASA

  • IPsec VPN
    • Site-to-Site - spojují se VPN zařízení
    • Remote Access - používá se Cisco VPN Client (nebo jiný SW VPN klient)
  • SSL VPN
    • Clientless SSL VPN - přístup přes webový prohlížeč, dříve se označovala WebVPN
    • Cisco SSL VPN Client (Remote Access) - používá Cisco AnyConnect VPN Client

Od verze ASA 8.4 (a ASDM 6.4) přidalo Cisco podporu IKEv2 a rozděluje IPsec VPN na IPsec(IKEv1) a IPsec(IKEv2) pro který je potřeba Cisco AnyConnect Client verze 3.0 (a také Anyconnect licence).

IPsec Remote Access VPN

IPsec, plným názvem Internet Protocol Security, je standardizovaná skupina protokolů pro zabezpečení IP komunikace mezi dvěma koncovými systémy. Obsahuje obousměrnou autentizaci a vyjednání kryptografických metod a klíčů. IPsec pracuje na IP vrstvě, to znamená na Layer 3 OSI modelu, a doplňuje IPv4 protokol (v IPv6 je povinnou součástí protokolu).

IPsec nejprve zařídí to, že se obě strany navzájem identifikují (autentizují) a následně šifruje veškerou komunikaci pomocí domluveného algoritmu. Komunikujícím stranám říkáme peers. V rámci IPsecu můžeme používat velké množství standardních protokolů a algoritmů. IPsec neurčuje, jaké algoritmy se musí použít pro komunikaci, ale definuje mechanismy vyjednávání a základní množinu algoritmů.

IPsec režimy funkce

IPsec může pracovat ve dvou módech (host-to-host) Transport a (network) Tunnel Mode (defaultní), rozdíl je v tom, co se šifruje.

  • Tunnel mode - šifruje celý paket (včetně hlavičky) a doplňuje novou hlavičku. Tento mód se může použít pro IPsec proxy, klient posílá data, router je šifruje a posílá dál. Z komunikace se nedá odhalit adresa klienta.
  • Transport mode - šifruje pouze data, IP hlavička se ponechá a doplní se pouze IPsec hlavička. Někteří klienti podporují pouze transport mode, například L2TP/IPsec klient ve Windows.

IPsec protokoly

IPsec využívá tři hlavní protokoly:

  • Authentication Header (AH) - zajišťuje integritu a autentizaci zdroje dat, využívá hashovací funkce (jako MD5 či SHA1) a společný klíč (který si na začátku domluví), v hlavičce obsahuje pořadové číslo paketu, pro komunikaci používá protokol IP číslo 51, dnes se téměř nepoužívá
  • Encapsulating Security Payload (ESP) - zajišťuje důvěrnost, autentizaci zdroje a integritu, využívá šifrovací algoritmy (jako DES či AES), pro komunikaci používá protokol IP číslo 50
  • Security Association (SA) - skupina algoritmů, které poskytují parametry pro bezpečnou komunikaci pomocí AH a ESP, používá ISAKMP Framework (Internet Security Association and Key Management Protocol) a nějaký protokol, většinou IKE (Internet Key Exchange), pro vyjednání atributů, atributy obsahují zvolený šifrovací algoritmus, dobu platnosti klíče, kompresi a způsob zapouzdření, komunikace probíhá šifrovaně

Navázání IPsec VPN

Běžně IPsec VPN komunikace probíhá:

  1. pomocí IKE se na UDP portu 500 vyjedná SA, používá certifikáty (klientský a serverový) nebo PSK
  2. z parametrů SA se naváže na IP 50 šifrovaná komunikace pomocí ESP

IKE - Internet Key Exchange

Často se na začátku IPsec komunikace používá IKE protokol pro vyjednání Security Association. IKE používá pro komunikaci UDP port 500 a pro autentizaci certifikáty nebo Pre-Shared Key (PSK). Pro výměnu klíčů se používá metoda Diffie-Hellman (vytvoří shared session secret a z něj se odvodí šifrovací klíče). Takže komunikace je šifrována a IKE může sloužit jako část autentizace (musíme mít certifikát nebo znát PSK). Nověji se používá také IKEv2.

IKE pracuje ve dvou fázích:

  • Phase 1 - autentizují se účastníci a vyjedná se IKE SA (pomocí Diffie-Hellman), díky tomu se vytvoří bezpečný kanál pro vyjednání IPsec SA ve fázi 2, pracuje v režimu main mode (chrání identitu komunikujících stran) nebo aggressive mode
  • Phase 2 - vyjedná IPsec SA parametry a nastaví odpovídající SA, pouze režim quick mode

Perfect Forward Secrecy (PFS) - volitelné rozšíření zabezpečení fáze 2. Standardně při IPsec vyjednávání jsou klíče fáze 2 odvozeny od klíčů fáze 1. PFS využije novou výměnu klíčů pomocí Diffie-Hellman.

Rozšíření IKE protokolu XAUTH (Extended User Authentication) dovoluje použít autentizaci uživatele vůči RADIUS serveru. Nejde o náhradu, ale o rozšíření. Standardně IKE podporuje ve fázi 1 pouze autentizaci počítače. XAUTH přidává další fázi (po fázi 1 a před fází 2), kdy dojde k autentizaci uživatele (pomocí AAA metod).

NAT-T - Network Address Translation - Traversal

Pakety posílané s IPsec jsou chráněny hashem, aby nemohl být jejich obsah změněn. Pokud je v cestě NAT, tak ten modifikuje IP hlavičku, potom nesouhlasí hash a takový paket je zahozen. Řešením, aby komunikace fungovala, je využití NAT-T. Ten doplní paketu novou UDP hlavičku (provede zapouzdření paketu do UDP), ta může být cestou modifikována. Na druhé straně se hlavička odstraní a příchozí paket je OK. Vyjednávání během IKE může domluvit UDP zapouzdření. Komunikace používá UDP port 4500 a označuje se jako IPsec over UDP nebo IPsec over NAT-T.

U Cisca je možné zapouzdření nejen do UDP, ale také do TCP a stanovení portu. Cisco také používá různá označení, třeba Transparent Tunneling či NAT Transparent.

L2TP over IPsec

Layer 2 Tunneling Protocol (L2TP) je tunelovací protokol pro podporu VPN. Sám o sobě neobsahuje žádné šifrování, pouze vytváří tunel. Komunikuje na UDP portu 1701. Často se používá dohromady s IPsec, který zajišťujte důvěrnost (šifrování) a autentizaci. Mluvíme pak o L2TP/IPsec.

Proces navazování spojení může probíhat:

  1. pomocí IKE se na UDP portu 500 vyjedná SA, používá certifikáty (klientský a serverový) nebo PSK
  2. z parametrů SA se naváže na IP 50 šifrovaná komunikace pomocí ESP v transportním módu
  3. vyjedná se a naváže L2TP tunel mezi koncovými body, komunikace probíhá přes UDP 1701, ale to je zabalené v IPsec, takže v paketu jde o IP 50

Další vlastnosti

Split Tunneling - pouze část komunikace od klienta jde do VPN (firemní rozsah adres) a zbytek jde přímo do internetu. Běžný způsob je, že veškerá komunikace je směrovaná do VPN tunelu.

Parametry pro některé IPsec VPN klienty

Když vytváříme VPN, tak potřebujeme znát, jaké algoritmy a protokoly podporuje určitý klient, aby nám výsledná komunikace fungovala.

Cisco VPN client

Cisco VPN client podporuje většinu možností a téměř vše, co můžeme nastavit na Cisco ASA. IPsec musí být v tunnel mode a není podporován L2TP. Můžeme použít IPsec ESPNAT-T jako IPsec/UDP či IPsec/TCP. Zabezpečení ESP šifrování DES, 3DES (56/168-bit) a AES (128/256-bit), pro integritu hashovací funkce MD5 a SHA, IKE s digitálními certifikáty, Diffie-Hellman (DH) Groups 1,2 a 5 s PFS. Kompresi dat LZS. Pro autentizaci RADIUS, ale nepodařilo se mi rozchodit autentizaci uživatelským certifikátem.

Windows XP či Windows 7

Microsoft má v řadě svých klientů zabudovaného IPsec VPN klienta (ve Windows 7 je také podpora SSTP a IKEv2, nezkoušel jsem). Podporuje i NAT-T, ale pokud je server za NATem, tak se na klientovi musí povolit v registrech.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters\"NegotiateDh2048"=dword:1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec\"AssumeUDPEncapsulationContextOnSendRule"=dword:2

Ve Windows 7 se druhá hodnota nachází na jiném místě.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent\"AssumeUDPEncapsulationContextOnSendRule"=dword:2

Standardní klient je L2TP/IPsec, takže L2TP je potřeba, a musí jít o transport mode. Zabezpečení je podporováno ESP šifrování DES a 3DES, integritu MD5 nebo SHA a D-F group 1, 2, 2048. Není zde problém s využitím EAP smartcard, tedy autentizace uživatelským certifikátem.

Google Android

V OS pro mobilní telefony Google Android je integrovaný VPN klient (údajně) již od verze 1.6. Volíme mezi L2TP/IPsec PSK VPN (pro IKE se použije PSK) a L2TP/IPsec CRT VPN (pro IKE máme certifikát). Nikde jsem nenašel popis vlastností, ale z praktických testů vyplívá, že podpora je podobná jako ve Windows XP. Tedy L2TP/IPsectransportním módu, ESPDES a 3DES, MD5 a SHA1.

zobrazeno: 74145krát | Komentáře [15]

Autor:

Související články:

Cisco VPN - Virtual Private Network

Série článků, která začíná obecným popisem technologie VPN a rozebírá jednotlivé typy VPN. Dále se řeší různé konfigurace VPN na zařízeních Cisco, primárně na Cisco ASA.

VPN - Virtual Private Network

Série článků, která obsahuje obecný popis technologie VPN. Rozebírá jednotlivé typy VPN, jako je Site to Site VPN a Remote Access VPN. A popisuje konfigurace na různých zařízeních.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] Jech

    Velmi pěkné shrnutí základů VPN, díky.

    Doplním zkušenosti s VPN klientem ve W7 - občas ho používám na L2TP over IPsec a moc bych ho jako nějaké stále řešení nedoporučoval. Krom toho, že se tam dá nastavit minimum možností, se občas prostě stane, že nefunguje a je třeba restartovat systém / případně zapnout manuálně služby. Navíc pokaždé když klienta zapnu, se nikdy nezdaří notebook následně uspat a dojde k zakousnutí.

    A ve chvíli, kdy do systému nainstalujete další VPN klient, ten integrovaný je pak z funkčností vyloženě na štíru ...

    Pondělí, 11.04.2011 10:44 | odpovědět
  2. [2] Samuraj

    odpověď na [1]Jech: Já používám nativního klienta ve Windows XP, později Windows 7, již asi 5 let. Naprosto bez problémů. Možná také záleží vůči jakému serveru. A teď mám dočasně dohromady toto řešení spolu s Cisco VPN clientem a také žádný problém.

    Pondělí, 11.04.2011 11:24 | odpovědět
  3. [3] ViSte

    Když jsme u těch klientů. Používám ShrewSoft VPN Clienta proti ZyWALLům. Je to free i pro firmy a běží to jak na Windows tak na Linuxu. Mohu jen doporučit.

    Úterý, 12.04.2011 16:46 | odpovědět
  4. [4] Lobo

    A mate nejake zkusenosti s Androidim klientem proti VPN v IOSu v rezimu klasickeho IPsecu (nikoliv SSL)?

    Neděle, 15.05.2011 22:10 | odpovědět
  5. [5] Samuraj

    odpověď na [4]Lobo: Stačí si přečíst 3. díl seriálu :-), tam je to podrobně popsané.

    Pondělí, 16.05.2011 08:06 | odpovědět
  6. [6] Mikulas

    Snazim sa rozbehat vpn z HTC desire S, cize android. Po nastaveni adroid vpn, na asa dostanem stale chybu ...can't find a valid tunnel group aborting...

    Vie mi niekto pomoct ?

    Neděle, 27.11.2011 12:33 | odpovědět
  7. [7] Mikulas

    Chyba mi nastavenie group authentication name v adroid nastaveniach :(

    Pondělí, 28.11.2011 17:00 | odpovědět
  8. [8] Samuraj

    odpověď na [7]Mikulas: Já používám certifikát zařízení. Jinak tu mám podrobný návod, jak to s Androidem funguje.

    Pondělí, 28.11.2011 17:06 | odpovědět
  9. [9] Mikulas

    Takze PSK riesenie nemas zpojazdnene ? Ten podrobny navod je kde ;) ? Neviem ho najst :(

    Pondělí, 28.11.2011 19:47 | odpovědět
  10. [10] Samuraj

    odpověď na [9]Mikulas: Odpovídám na stejný dotaz zde v komentáři 5! 3. díl tohoto seriálu podrobně popisuje nastavení VPN pro různé klienty (včetně Androidu).

    Úterý, 29.11.2011 08:25 | odpovědět
  11. [11] Peter

    Riesil uz niekto spojenie Asus prime s androidom 4.x.x na ipsec.?Na druhej strane je zyxell usg 300.

    Čtvrtek, 17.05.2012 10:41 | odpovědět
  12. [12] Orbb

    odpověď na [3]ViSte: ViSte

    Diky, zachranil jsi mi zivot, pouzival jsem VPN klienta od Zyxelu ktery je placeny a asi 50 hodin resil proc pres to nejde synchronizace outlooku (se pripojil ale nestahl data). S tim klientem od shrewsoftu to jde jedna basen a jeste je zadarmo :-) Nadhera :-)

    Pátek, 22.06.2012 22:40 | odpovědět
  13. [13] Dave

    Zdravím lidi, máte někdo zkušenosti s nastavováním VPN na Macu (10.7 Lion), na druhé straně mám Cisco 4400n. Bohužel na Maca momentálně není žádný funkční VPN klient, který by fungoval ve 64-bitové verzi systému. Díky za případné informace.

    Pondělí, 23.07.2012 23:25 | odpovědět
  14. [14] Luboš

    Větší sra..,, než je VPN Cisco AnyConnect Secure Mobility jsem neviděl. Je to absolutně uživatelsky nepříjemný SW. Pokud se přes něj připojuji do více firem, tak si to nepamatuje absolutně nic. Jenom pořád první zadanou IP, a poslední zadané přihlašovací jméno. Fakt hrůza, kdo tohle vůbec může vymyslet. Žije jenom v tom, že se bude připojovat k jedné IP. Pokud spravujete vzdálené servery, a 10krát za den máte pořád dokola přepisovat IP, Group, jméno tak to je fakt zážitek. Jestli mi někdo poradí, jak v tom alespoň zapamatovat parametry připojení (bez hesla) - alespoň tak, jak to je v klasickém VPN Cisco, nebo jiných trochu rozumných SW (OpenVPN, SecureRemote), tak je u mě KING.

    Luboš

    Pátek, 31.05.2013 08:37 | odpovědět
  15. [15] Vencour

    Na win7 mam v cestě C:\Users\xxx\AppData\Local\Cisco\Cisco AnyConnect Secure Mobility Client konfigurák preferences.xml, teoreticky lze mít více takových templejtů ... pokud neni lepší řešení?

    Pátek, 06.09.2013 15:04 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách