IPsec, nastavení, konfigurace

Datum: 15.08.2009 Autor: Jindřich Křivohlávek Přečteno: 1265
/images/clanky/1250326306_ipsec-image6.gif

IPsec (IP security) je rozšíření pro IP protokol, které zajišťuje bezpečnou komunikaci mezi dvěma uzly (peer to peer). Toto rozšíření má na starosti ověřování identity (authentication), neporušenost (integrity) a důvěryhodnost (confidentiality) komunikace. Jelikož jde o rozšíření IP protokolu, tak se nachází na stejné vrstvě jako IP (tedy síťové vrstvě OSI modelu). To má své výhody. Tou hlavní je nezávislost na vyšších protokolech (např. TCP/UDP). Z pohledu aplikace je tedy IPsec transparentní, díky tomu může i nezabezpečená aplikace komunikovat zabezpečeným kanálem.




Vznik tohoto rozšíření se datuje k roku 1992 a byl vyvinut pro nový standard IPv6. IPsec byl později implementován i pro stávající IPv4 standard. Prvního použití se však dočkal v roce 1995 v BSDI. V této době začaly vznikat i první zmínky v RFC (RFC 1825 - Security Architecture for the Internet Protocol). Podrobnosti o současné verzi lze nalézt v RFC 2401 a 2411.

Teorie IPsec


SA


Pro komunikaci je vytvořen logický kanál, který se nazývá Security Association (SA). Tento kanál je jednosměrný, pro duplexní komunikaci jsou tedy zapotřebí dva kanály. Každý kanál je definován zdrojovou a cílovou IP adresou, IPsec protokolem (AH nebo ESP), algoritmem pro šifrování, tajným klíčem a SPI (Security Parametr Index). SPI je 32 bitové identifikační číslo SA.

Informace a parametry těchto kanálu jsou pak uloženy v databázi, která se nazývá SAD (Security Association Database). V této databázi pak mohou být uloženy další informace jako například IPsec mód (tunelový nebo transportní), velikost okna a doba existence SA.

SP


V SA jsou definovány pouze informace o tom, jak má být datový provoz chráněn. SP (Security Policy) zajišťuje to, jaký datový provoz má být chráněn. V SP je uložena zdrojová a cílová adresa, v případě transportního módu jsou uloženy stejné informace jako v SA, u tunelového módu jsou adresy rozdílné. Zaznamenána je i informace o tom, které SA se má použít pro ochranu paketů. Dále je uveden protokol a port, jenž má být chráněn. Tyto informace u některých implementací není možné nastavit, v tom případě je chráněn veškerý datový provoz mezi danými uzly. Souhrn SP je pak uložen v příslušné databázi SPD (Security Policy Database).
IKE protokol (ISAKMP - Internet Security Association and Key Management Protocol)

Jakákoliv chyba či překlep v nastavení SA znamená nefunkčnost spojení. Tento problém řeší právě IKE protokol, který se snaží minimalizovat ruční nastavení. Po ověření IKE protokol zajistí naplnění SAD příslušnými SAs. IKE protokol většinou běží v podobě uživatelského démona, protože není implementován OS. Protokol je podrobně popsán v RFC 2408.

AH - Authentication Header


Tento protokol má přiřazené číslo 51 a slouží k ověřování integrity dat ve hlavičce a autentizaci odesílatele a příjemce. To je prováděno za pomocí HMAC (Hash Message Authentication Code), což je hash kód vypočtený na základě daného hash algoritmu (MD5 a SHA), tajného klíče a některých částí IP datagramu. Jelikož do použité části IP datagramu patří zdrojové i cílové IP adresy (kvůli autentizaci), neprojde tento protokol přes NAT. Toto řeší NAT-Traversal. Samotná data nejsou šifrována.

ESP - Encapsulated Security Payload


Protokol s číslem 50 zajišťuje ověřování integrity dat a jejich šifrování. Takto odchycená data jsou pro útočníka bez znalosti tajného klíče nečitelná a tudíž bezcenná. U této varianty již není použit HMAC na hlavičku IP datagramu, což znamená lepší průchodnost přes NAT. Případně může být tento protokol kombinován s předchozím, čímž se zajistí integrita hlavičky IP datagramu.

Transportní mód (transport)


Transportní režim umožňuje propojení dvou PC přes Internet či lokální síť. V tomto případě jsou zašifrována pouze data, hlavička IP datagramu zůstává beze změny.

Tunelovací mód (tunnel)


Tento režim slouží k propojení dvou sítí pomocí dvou bran. Mezi bránami probíhá komunikace v zašifrované podobě, od brány do vnitřní sítě je pak komunikace dešifrována. Původní data včetně hlavičky IP datagramu jsou zašifrována a následně je přidána nová hlavička IP datagramu.

NAT-Traversal


NAT-Traversal je technika, která umožňuje provoz na sítích, kde je používán NAT. Průchod přes NAT je realizován zapouzdřením šifrovaného paketu do UDP paketu s portem 4500. Pakliže je tato volba povolena, automaticky se aktivuje v případě potřeby.

Samotný průběh spojení pak probíhá ve dvou částech. Před samotným přenosem dat probíhá main mod, který ověří obě komunikující strany a následně ustanoví politiku šifrování. Po té následuje quick mod, jenž slouží k samotnému přenosu dat.

Existuje i agressive mod, ten kombinuje výše uvedené a používá se klientů, kteří nemají stálou IP adresu.

Instalace IPsec


Jelikož jde o otevřený standard, k dispozici je více různých implementací a podporována je většina operačních systémů. IPsec je zahrnut v jádře od verze 2.5.47, u distribucí se starším jádrem je nutný patch. Mezi populární implementace pro Linux patří například IPsec-Tools a Openswan. Samotná instalace může probíhat z příslušných balíčků, či kompilací ze zdrojových kódů. Druhá varianta je doporučována odborníkům, jelikož sebou může nést bezpečnostní rizika, proto se budu věnovat variantě první.

Jako vzorové operační systémy byly použity Debian 5.0 a Ubuntu 8.10, v nichž je instalace balíčku jednoduchá pomocí následujícího příkazu:

sudo apt-get install ipsec-tools

V případě ruční instalace bude postup následující:
stáhnutí archívu ipsec-tools, nejlépe z adresy http://sourceforge.net/projects/ipsec-tools/
po té stačí rozbalit pomocí příkazu tar zxf ipsec-tools-x.y.z.tar.gz
dále vstoupíme do rozbaleného adresáře cd ipsec-tools-x.y.z
nastavíme cesty ./configure --prefix=/usr --sysconfdir=/etc
nakonec spustíme příkazu make a make install

Konfigurace IPsec


Možností nastavení je větší množství a u každé konfigurace se může mírně lišit. Pro správnou funkci je také zapotřebí vhodná konfigurace firewallu. Jako ukázka je zde uvedena ruční konfigurace transportního režimu. V našem příkladě použijeme příkaz setkey a námi vytvořený soubor /etc/setkey.conf. Tento soubor by měl být přístupný pouze pro roota (chmod 600 /etc/setkey.conf). Obsah souboru je náseldující:

#!/usr/sbin/setkey -f
 
# Configuration for 192.168.1.100
 
# Flush the SAD and SPD
flush;
spdflush;
 
# Attention: Use this keys only for testing purposes!
# Generate your own keys!
 
# AH SAs using 128 bit long keys
add 192.168.1.100 192.168.2.100 ah 0x200 -A hmac-md5
0xc0291ff014dccdd03874d9e8e4cdf3e6;
add 192.168.2.100 192.168.1.100 ah 0x300 -A hmac-md5
0x96358c90783bbfa3d7b196ceabe0536b;
 
# ESP SAs using 192 bit long keys (168 + 24 parity)
add 192.168.1.100 192.168.2.100 esp 0x201 -E 3des-cbc
0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831;
add 192.168.2.100 192.168.1.100 esp 0x301 -E 3des-cbc
0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df;
 
# Security policies
spdadd 192.168.1.100 192.168.2.100 any -P out ipsec
  esp/transport//require
  ah/transport//require;
 
spdadd 192.168.2.100 192.168.1.100 any -P in ipsec
  esp/transport//require
  ah/transport//require;

Příkazy flush a spdflush zajistí vyčištění SAD a SPD databáze. Následuje konfigurace AH SAs a ESP SAs. Pomocí příkazu add se přidá SA do SAD, vyžadována je zdrojová a cílová IP adresa, IPsec protokol (ah či esp), SPI, algoritmus (-A pro ověřování, -E pro šifrování nebo -C pro kompresi) a klíč.
Mezi podoporované algoritmy patří hmac-md5 a hmac-sha, des-cbc a 3des-cbc. U novějších implementací se můžete setkat i se silnějšími algoritmy (blowfish-cbc, aes-cbc, hmac-sha2-256 a hmac-sha2-512).

Klíč může být zadán v podobě ASCII řetězce uzavřeného do uvozovek (“ASCII“), nebo pomoci hexadecimálního zapisu začínajícího 0x.

Tajný klič lze vygenerovat následujícícho příkazu:

dd if=/dev/random count=16 bs=1| xxd -ps

Jehož výstup může vypadat takto:

16+0 Records in
16+0 Records out
cd0456eff95c5529ea9e918043e19cbe

Dále následuje příkaz spdadd pro přidání SP do SPD. Mezi parametry je uvedena zdrojová a cílová IP adresa; protokol či port, který má být chráněn (any slouží pro vešekrý provoz); -P s příslušnou politikou. Politika je složena ze směru (in, out), aplikované akce (ipsec/discard/none), protokolu (ah/esp/ipcomp), módu (transport, tunnel) a úrovně (use/require).

Pakliže je vše správně vloženo, stačí spustit příkaz s danými parametry:
setkey -f /etc/setkey.conf

K otestování správné konfigurace mohou posloužit příkazy setkey -D a setkey -DP.

Aby bylo spojení funkční, musí se na druhé straně spojení zaměnit položky -P in a -P out.

V případě tunelového módu vypadá přidání SA a SP následovně:

add 192.168.1.100 192.168.2.100 esp 0x201 -m tunnel -E 3des-cbc
0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831
-A hmac-md5 0xc0291ff014dccdd03874d9e8e4cdf3e6;
spdadd 172.16.1.0/24 172.16.2.0/24 any -P out ipsec
  esp/tunnel/192.168.1.100-192.168.2.100/require;

Pakliže po aplikování IPsec přestane fungovat datová komunikace mezi hosty, nejpravděpodobněji je chyba v samotné konfiguraci IPsec.

Podrobné návody s vysvětlením lze nalézt na stránkách, které jsou uvedeny v poslední části Použitá literatura a zdroje.

Software

Jelikož je IPsec podporován na většině platforem, uvádím zde pár aplikací a nástrojů pro nejpoužívanější platformy.
Linux - IPsec-Tools ukázka konfigurace je v této prezentaci; Openswan je nástupcem FreeS/WAN, konfigurace probíhá přes příkazovou řádku
Windows – od Windows 2000 součástí systému, podrobný návod naleznete na této adrese: http://www.windowsecurity.com/articles/Securing_Data_in_Transit_with_IPSec.html; Cisco VPN Client nabízí přehledné GUI
Mac OS X - KAME má podobnou konfiguraci jako IPsec-Tools; VaporSec je GUI ipsec klient
*BSD - KAME má podobnou konfiguraci jako IPsec-Tools

Cisco – implementováno v IOS

Závěr IPsec


Mezi výhody IPsecu patří především podpora velkého množství platforem a transparentnost pro aplikace. Vývojáři P2P aplikací tak nemusí vymýšlet a složitě vyvíjet nové způsoby zabezpečení. Budoucnost IPsec je zajištěna jeho přítomností ve standardu IPv6.
   

 

Doporučujeme navštívit

Hubneme cvičením.cz 

Jednoduchý a rychlý způsob, jak na trvalo zhubnout. Rady a tipy jak správně cvičit.  

Stavební rozpočty - Josef Kulda 

Stavební rozpočty a kalkulace staveb vám vytvoří rozpočtář Josef Kulda.

E-shop za skvělou cenu

Profesionální nástroj na správu internetových obchodů. Možnost pronájmu nebo odkoupení e-shopu.

Levná dovolená u moře

Přijďte si vybrat z nabídky více než 150 zemí svojí pohodovou a levnou dovolenou u moře.

Webtown.cz

Vytvoříme pro vás www stránky, eshop nebo systém na míru. To vše za lidové ceny.

Nejnovější články

Firemní identita

Firemní identita neboli Corporate Identity je základní nezaměnitelný vizuální styl firmy nebo společnosti.

Přeměna půdy na obytný prostor

Mnoho majitelů domů uvažuje o přeměně staré půdy využívané pouze jako skladiště na komfortní obytný prostor.

Ortopedická pracovní obuv

Mnoho lidí nemůže nosit standardní bezpečnostní obuv kvůli problémům s chodidly. Aby nemuseli používat drahou, na míru vyrobenou obuv, přichází uvex s produktem uvex motion 3XL.

Rekonstrukce panelových domů

Životnost domů a stavebních materiálů není věčná. Stárnutí a poškození se po určité době týká i panelových domů. Kvalitní rekonstrukcí lze nejen prodloužit životnost budovy, ale i zkvalitnit komfort bydlení.

Ochranná obuv se systémem uvex xenova®

Systém uvex xenova® je vysoce výkonný bezpečnostní systém zcela bez kovů pro ochranu chodila v ochranné obuvi.

Proč vlastně používat CRM systém?

CRM systém je každodenním nepostradatelným pomocníkem, bez kterého se žádná firma v rámci svého životního cyklu dříve nebo později neobejde. Díky CRM systému tak získáte přehlednou centralizovanou databázi, kde můžete...

Marketing nemusíte řešit svépomocí

Marketing je nedílnou součástí každého podnikání. I ti podnikatelé, kteří si myslí, že marketing nepotřebují, se bez něj neobejdou.

Zasklené lodžie zvyšují komfort bydlení

Možnost využívat balkony a lodžie i za nepříznivých povětrnostních podmínek umožnuje jejich zasklení. Zasklením balkonu zvýšíte komfort svého bydlení.

Podpořte nás

Přidejte na vaše stránky ikonku e-článků a podpořte tak kvalitu zdejšího obsahu.

<a href="http://www.e-clanky.cz" title="e-články.cz - kvalitní zpětné odkazy zdarma"><img src="http://www.webtown.cz/bannery/banner_88_31.gif" alt="e-články.cz - kvalitní zpětné odkazy zdarma" /></a>

e-články.cz - kvalitní zpětné odkazy zdarma

Novinky a Aktuality

Konečně...

23.01.2011 Tak konečne jsme zpracovali všechny čekající články na schválení :) Snad to takhle pujde i v budoucnu

Pomalé schvalování

29.08.2010 Omlouváme se všem, za mezeru ve schvalování článků, jenž je způsobena našim válením se na pláži :). Tento týden dáme vše do pořádku

Soutěž o banner na hlavní stránce

26.08.2009 Připravili jsme pro vás soutěž o umístění banneru na hlavní stránce