abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 18:22 | Komunita

V září proběhla každoroční konference Akademy komunity KDE. Nyní jsou záznamy přednášek dostupné online. Témata se dotýkají aplikací a knihoven KDE, jejich adaptaci pro různá speciální použití (vestavěná zařízení či rozšířená realita) i obecně vývoje a distribuce softwaru.

Fluttershy, yay! | Komentářů: 0
dnes 09:11 | Zajímavý článek

Mozilla.cz informuje o vylepšování vlastních about: stránek Firefoxu, konkrétně o odstraňování volání funkce eval() z těchto stránek. Tyto stránky mají přístup k interním součástem Firefoxu, ale protože jsou napsané v HTML a JavaScriptu, mohou být cílem podobných útoků jako webové stránky zobrazované v prohlížeči (např. vložení cizího kódu nebo obsahu), jen s potenciálně závažnějším dopadem. Pokud by se někomu skutečně povedlo kód do

… více »
Ladislav Hagara | Komentářů: 3
dnes 08:55 | Zajímavý projekt

Uživatel GitHubu joeycastillo představil The Open Book Project, jehož cílem je vytvořit open-source čtečku elektronických knih. Projekt se zatím nachází v rané fázi vývoje, už nyní ale obsahuje použitelný návrh hardware prototypu „Feather Wing“, jehož cílem má být ověření konceptu na 4,2palcovém displeji. Tento koncept je postaven na kitu Adafruit Feather M4 Express, který ovládá hlavní desku s displeji a tlačítky. Po úspěšném ověření

… více »
Bystroushaak | Komentářů: 30
dnes 05:00 | Nová verze

Byla vydána verze 5.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.

Ladislav Hagara | Komentářů: 0
včera 20:33 | Zajímavý projekt

Byly zveřejněny schémata, firmware a instrukce pro sestavení trackballu Ploopy. Ten používá Arduino, senzor PMW3360 a 1,75palcovou kouli. Zdrojové soubory jsou šířeny pod open-hardware licencí CERN a GNU GPLv3. Tvar je inspirovaný klasickým trackballem Microsoft Trackball Explorer, jehož výroba byla ukončena kolem roku 2005 bez náhrady; projekt Ploopy se k tomu ale z právních důvodů nehlásí. Již vyrobené díly je možno objednat za 200 kanadských dolarů. Další podrobnosti v příspěvcích uživatele crop_octagon na Redditu.

Fluttershy, yay! | Komentářů: 21
včera 20:22 | Nová verze

Vyšlo desktopové prostředí KDE Plasma 5.17. Novinkou je např. „noční režim“ (pro X11, nejen Wayland), skrytí upozornění při prezentacích (když je připojena obrazovka se stejným obrazem), lepší podpora HiDPI, optimalizace využití zdrojů a mnoho drobných zlepšení a oprav.

Fluttershy, yay! | Komentářů: 1
včera 12:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 169. brněnský sraz, který proběhne v pátek 18. října od 19:00 v restauraci Racek (Jungmanova 5). Před srazem proběhne v 18:00 komentovaná prohlídka nových prostor hackerspacu base48 (přístup je z Mojmírova náměstí).

Ladislav Hagara | Komentářů: 8
včera 05:55 | Bezpečnostní upozornění

V příkazu sudo byla nalezena a ve verzi 1.8.28 byla již opravena bezpečnostní chyba CVE-2019-14287. V souboru /etc/sudoers lze nastavit, aby daný uživatel mohl konkrétní příkaz spouštět s právy libovolného uživatele (ALL) nebo libovolného uživatele kromě uživatele root (ALL, !root). Spustí-li tento uživatel daný příkaz se sudo s volbou -u#-1 nebo -u#4294967295, tj. pod uživatelem -1 nebo 4294967295, nebude vyžadována autentizace a příkaz se spustí pod právy roota.

Ladislav Hagara | Komentářů: 1
včera 01:33 | Nová verze

Po více než roce a čtvrt od vydání verze 3.7.0 byla vydána nová verze 3.8.0 programovacího jazyka Python. Přehled novinek v aktualizované dokumentaci. Podrobný přehled změn v Changelogu.

Ladislav Hagara | Komentářů: 15
14.10. 16:11 | IT novinky

Ke zhlédnutí na Invidious a YouTube je videozáznam rozborky a sborky mobilního telefonu Librem 5.

Ladislav Hagara | Komentářů: 53
Kdy jste naposledy viděli počítač s připojeným běžícím CRT monitorem?
 (19%)
 (4%)
 (11%)
 (39%)
 (24%)
 (2%)
Celkem 406 hlasů
 Komentářů: 22, poslední 23.9. 08:36
Rozcestník

www.AutoDoc.Cz

IPSec v kernelu 2.6 - I

3. 6. 2004 | Marek Červenka | Systém | 18387×

Nový seriál, jenž vám předvede principy šifrované komunikace na bázi IPSec a naučí vás jeho základům pod Linuxem.

Úvodem

Cílem tohoto článku je zasvětit běžného administrátora do možností, které nabízí kernel 2.6 v oblasti tvorby VPN. Zaměříme se na protokol IPSec, který je silnější a bezpečnější alternativou k protokolu pptp (www.poptop.org) a také umožňuje použít nativního klienta Windows XP/2000 pro přístup do intranetu.

Předpokládají se běžné znalosti z oblasti linuxu a síťování. Naopak neočekávejte vysoce sofistikované popisy protokolu, rozebírání jednotlivých hashovacích a šifrovacích algoritmů apod. Článek ani není koncipován jako detailní porovnání s ostatními IPSec implementacemi. Pro budování šifrovaných tunelů máme i další možnosti. Od CIPE, OpenVPN až po nějaké ssh tunelování.

PPTP

Kromě toho, že pptp je v oblasti šifrování slabší a méně bezpečné než IPSec, existuje také patentový problém, který nedovolí začlenit pptp přímo do distribucí.

Kompresní protokol MPPC (Microsoft Point-to-Point Compression) je patentován firmou Hifn Inc.. Protokol MPPE(Microsoft Point-to-Point Encryption) používá algoritmus RC4, který sice není patentovaný, ale je obchodní značkou firmy RSA Data Security Inc.

IPSec

Původní návrh IP protokolu neobsahoval žádné bezpečnostní prvky. Nový návrh IPv6 obsahuje zabezpečení jako součást protokolu. Pro toto zabezpečení se vžil název IPSec (IP Security). IPSec je dostupný i pro protokol IPv4.

IPSec obsahuje 2 základní služby:

  • AH (Authentication Header) - autentizace hlaviček paketů
  • ESP (Encapsulating Security Payload) - šifrování

přičemž nemusíme nutně používat obě (ESP navíc dokáže zastat i funkce AH).

IPSec můžeme používat ve 2 režimech:

  • transport (host - host)
  • tunnel (lan - host - host - lan)

Dalším pojmem, se kterým se u IPSec setkáme, je SAD (Security Association Database). SA nám vznikne ustanovením spojení a jsou v ní obsaženy veškeré informace o spojení (bezpečnostní protokol, šifrovací algoritmus, countery, atd.). SA jsou identifikovány pomocí SPI (Security Parametr Index), ten je obsažen v každém z paketů.

SPD (Security Policy Database) obsahuje pravidla, podle kterých se buď na pakety IPSec aplikuje, nebo jsou pakety zahazovány, nebo propouštěny.

Protože manuální správa SAD by byla ve větších sítích velmi problematická, byl navržen protokol, který se snaží tento problém eliminovat. ISAKMP (Internet Security Association and Key Management Protocol) je popsán v RFC2408.

Zjednodušeně můžeme říci, že obě strany se snaží dohodnout na stejných parametrech spojení (tzv. proposal). Iniciátor pošle sadu navrhovaných parametrů a responder si z nich vybere tu, která vyhovuje jeho konfiguraci. Pokud se obě strany neshodnou, spojení není možné navázat.

ISAKMP komunikace probíhá na UDP portu 500, ten je třeba mít povolený ve firewallu.

Ustanovení IPSec spojení je dvoufázové. V první fázi (Phase 1) se vytvoří základní ISAKMP SA, která se dále používá pro druhou fázi (Phase 2) a ustanovení dalších SA pro ESP/AH. Tyto SA jsou zaváděny do kernelu.

Průběh komunikace (winXP - Linux[racoon] )

2004-05-17 18:00:10: INFO: respond new phase 1 negotiation: 192.168.0.226[500]<=>192.168.0.227[500]
2004-05-17 18:00:10: INFO: begin Identity Protection mode.
2004-05-17 18:00:10: INFO: received Vendor ID: MS NT5 ISAKMPOAKLEY
2004-05-17 18:00:10: INFO: ISAKMP-SA established 192.168.0.226[500]-192.168.0.227[500]spi:dcd3d3d25bc29952:a14e34a6864a095f
2004-05-17 18:00:10: INFO: respond new phase 2 negotiation:192.168.0.226[0]<=>192.168.0.227[0]
2004-05-17 18:00:11: INFO: IPsec-SA established: ESP/Transport 192.168.0.227->192.168.0.226 spi=174567934(0xa67b1fe)
2004-05-17 18:00:11: INFO: IPsec-SA established: ESP/Transport 192.168.0.226->192.168.0.227 spi=3143250583(0xbb5a3297)

O výměnu klíčů v rámci ISAKMP frameworku se stará IKE (Internet Key Exchange) RFC2409. Jedním z kroků při navazování spojení je autentizace.

Autentizace může probíhat pomocí:

  1. sdíleného klíče
  2. X.509 certifikátů
  3. kerberosu
  4. plain RSA
  5. ...

NAT

Problémem ve stávajících IPv4 sítích je pro IPSec NAT. Řešením tohoto problému je návrh draft-ietf-ipsec-nat-t-ike-08.txt. Otázkou kompatibility se zabývá RFC3715.

Implementace IPSecu na Linuxu

Kernel

My se budeme dále zabývat druhou jmenovanou implementací, protože ta je standardně přítomna v kernelu 2.6 a enterprise distributoři provedli její downport i pro kernel řady 2.4 (např. RHEL3).

Pokud si kompilujeme vlastní jádro, musíme mít v konfiguraci následující položky:

CONFIG_NET_KEY=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_XFRM_USER=m

CRYPTO=y
CRYPTO_HMAC=m
CRYPTO_MD5=m
CRYPTO_NULL=m
CRYPTO_SHA1=m
CRYPTO_DES=m
CRYPTO_AES=m

IPSec-tools

Pokud máme připravený kernel, vrhneme se na instalaci ipsec-tools. Pokud máme distribuci SuSE 9.1, Fedora Core 2, Mandrake 10 nebo další aktuální distribuci, jsou tam již ipsec-tools většinou přítomné. IPSec-tools jsou sponzorovány společností SuSE (Novell). Pokud je v distribuci nemáme, stáhneme si je z http://ipsec-tools.sf.net a nainstalujeme standardní trojkombinací:

./configure
make
make install

ipsec-tools obsahují:

  • racoon - IKE daemon
  • setkey - nástroj na manipulaci a výpis kernelové SPD a SAD
  • libipsec - knihovna implementující PF_KEY_V2 socket interface (rfc2367)

Ukázka manuální konfigurace transport módu

Konečně se dostáváme k něčemu trochu užitečnému, i když ne příliš používanému. Mějme následující topologii:

router kryton (192.168.0.226) ---- Internet ---- router lister (192.168.0.227)

a chceme mít komunikaci mezi těmito routery šifrovanou.

Použijeme manuální konfiguraci pouze s ESP a jako šifrovací algoritmus použijeme 3des.

výpis souboru ipsec-kryton.cfg pro router "kryton"

#!/sbin/setkey -f
flush;
spdflush;

# ESP SAs using 192 bit long keys (168 + 24 parity)
add 192.168.0.226 192.168.0.227 esp 0x201 -E 3des-cbc 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831;
add 192.168.0.227 192.168.0.226 esp 0x301 -E 3des-cbc 0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df;

# Security policies
spdadd 192.168.0.226 192.168.0.227 any -P out ipsec
           esp/transport//require;
spdadd 192.168.0.227 192.168.0.226 any -P in ipsec
           esp/transport//require;

Pro router "lister" prohodíme v konfiguračním souboru v sekci "security policies"(prikazy spdadd) ip adresy na řádcích (tzn. tam kde je 192.168.0.226, dáme 192.168.0.227 a naopak) a uložíme jako ipsec-lister.cfg.

Na obou routerech potom aktivujeme nastavení pomocí příkazů

kryton#setkey -f ipsec-kryton.cfg
lister#setkey -f ipsec-lister.cfg

SAD a SPD můžeme vypsat pomocí příkazu

bash#setkey -D
192.168.0.227 192.168.0.226
        esp mode=transport spi=769(0x00000301) reqid=0(0x00000000)
        E: 3des-cbc  f6ddb555 acfd9d77 b03ea384 3f265325 5afe8eb5 573965df
        seq=0x00000000 replay=0 flags=0x00000000 state=mature
        created: Jun  1 01:13:14 2004   current: Jun  1 01:13:17 2004
        diff: 3(s)      hard: 0(s)      soft: 0(s)
        last:                           hard: 0(s)      soft: 0(s)
        current: 0(bytes)       hard: 0(bytes)  soft: 0(bytes)
        allocated: 0    hard: 0 soft: 0
        sadb_seq=1 pid=21880 refcnt=0
192.168.0.226 192.168.0.227
        esp mode=transport spi=513(0x00000201) reqid=0(0x00000000)
        E: 3des-cbc  7aeaca3f 87d060a1 2f4a4487 d5a5c335 5920fae6 9a96c831
        seq=0x00000000 replay=0 flags=0x00000000 state=mature
        created: Jun  1 01:13:14 2004   current: Jun  1 01:13:17 2004
        diff: 3(s)      hard: 0(s)      soft: 0(s)
        last:                           hard: 0(s)      soft: 0(s)
        current: 0(bytes)       hard: 0(bytes)  soft: 0(bytes)
        allocated: 0    hard: 0 soft: 0
        sadb_seq=0 pid=21880 refcnt=0

Tady vidíme dvě SA pro router kryton. První SA nám říká, že paket jdoucí z 192.168.0.227 na 192.168.0.226 se SPI=769 je dešifrován tímto klíčem: 0x0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df. Druhé SA nám říká, že paket jdoucí z 192.168.0.226 na 192.168.0.227 se SPI=513 je šifrován tímto klíčem: 0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831.

bash#setkey -DP
192.168.0.227[any] 192.168.0.226[any] any
        in ipsec
        esp/transport//require
        created: Jun  1 01:13:14 2004  lastused:
        lifetime: 0(s) validtime: 0(s)
        spid=1856 seq=1 pid=21881
        refcnt=1
192.168.0.226[any] 192.168.0.227[any] any
        out ipsec
        esp/transport//require
        created: Jun  1 01:13:14 2004  lastused:
        lifetime: 0(s) validtime: 0(s)
        spid=1849 seq=0 pid=21881
        refcnt=1

Tyto dvě SP na routeru kryton nastavují policy. První SP nám říká, že pro příchozí pakety jdoucí ze 192.168.0.227 na 192.168.0.226 má aplikovat ESP. U druhé SP je to analogické. Že je provoz šifrovaný se můžeme přesvědčit např. tcpdumpem na rozhraní, kterým pakety odchází do sítě.

Jak si můžeme domyslet, nebylo by zrovna ideální udržovat větší počet takovýchto manuálních SA a politik. Proto si příště ukážeme jak nám může pomoci IKE daemon. Také si povíme něco o L2TP, ukážeme si konfigurace pro sdílené klíče a X.509 certifikáty.

Za konzultace bych chtěl poděkovat jednomu z hlavních vývojářů ipsec-tools Michalu Ludvigovi.

Autor externě spolupracuje se společností IPEX a.s., která mu částečně umožnila práci na tomto článku.

O společnosti IPEX a.s.

Společnost IPEX a.s. (http://www.ipex.cz) je jedním z nejsilnějších poskytovatelů internetu a telekomunikačních služeb v České Republice. Celorepublikově nabízí bezdrátové i pevné připojení, ADSL, WiFi. Společnost IPEX a.s. poskytuje komplexní telekomunikační řešení.

Zdroje:

  • Pavel Satrapa - IPv6 (ISBN 80-86330-10-9)
  • www.ipsec-howto.org
  • www.kame.net
  • archív ipsec-tools-devel at list.sf.net
       

Hodnocení: 38 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

3.6.2004 09:15 JR
Rozbalit Rozbalit vše Paradni clanek
Dekuji autorovi za tento clanek. Uz se tesim na dalsi pokracovani. Jeste bych se chtel zeptat, zda jde pomoci ipsec prokolu udelat prihlasovani na zaklade prihlasovacich udaju. Tj. ne na zaklade IP adresy, ale na zaklade toho, ze zadam jmeno a heslo (tak jak je to v PPTP). Pokud ano, pak jestli se bude serial timto take zabyvat?
3.6.2004 09:59 Pavel
Rozbalit Rozbalit vše Re: Paradni clanek
IPSEC ve firmě uspěšně používáme více než rok (OpenSwan). Ověřování na základě jména a hesla patrně nastavit nelze, lze ale použít ověřování na základě certifikátů - certifikát je jiný pro každého oprávněného uživatele. Používáme to pro připojování mobilních klientů s Win2K/XP do fiemní sítě. Do Woken se naimportuje certifikát, nastaví se konfigurační soubor ipsec klienta a už to frčí - ověřování pomocí certifikátu je možná ještě šikovnější než ověřování pomocí uživatelského jména a hesla. Sice jsem to ještě nezkoušel, ale určitě to jde nastavit i pro komunikaci net - gateway - gateway1 - net1 s OpenSwan na obou branách.
3.6.2004 15:24 Kosac
Rozbalit Rozbalit vše Re: Paradni clanek
Nechcete sepsat jednoduche howto na to jak jste zprovoznili připojování mobilních klientů s Win2K/XP do fiemní sítě? Treba jen v bodech jak postupovat. Zkousim to s openvpn a nejak se tim nemuzu prokousat...
3.6.2004 15:41 Pavel
Rozbalit Rozbalit vše Re: Paradni clanek
Celkem povedený návod je na http://vpn.ebootis.de Pokud budete mít problémy (a budu znát řešení), rád Vám poradím.
3.6.2004 10:17 cervajs | skóre: 14
Rozbalit Rozbalit vše Re: Paradni clanek
IPSec jako takovy tuhle vec neumoznuje. Mozne to je pomoci protokolu l2tp, ktery bezi nad IPSecem a napr. winxp ho pouzivaji k tunelovani. Informace budou v dalsim dilu.
3.6.2004 09:34 AB
Rozbalit Rozbalit vše autentifikace???
IMHO slovo "autentifikace" neexistuje v ceskem slovniku
3.6.2004 10:05 B0biN | skóre: 21 | blog: B0biN bloguje
Rozbalit Rozbalit vše Re: autentifikace???
(lol) take neni v ceskem slovniku a casto se pouziva ...!!! kua ze si musi vzdycky nekdo rypnout ... grr
cd /pub | more beer
3.6.2004 10:25 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: autentifikace???
LOL není slovo, ale akronym ;) Česky je autentizace, a nevidím důvod, proč psát babydžka, když můžeme psát babička...
3.6.2004 10:22 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Dobrý článek.
Díky.
3.6.2004 12:00 petrxh
Rozbalit Rozbalit vše GPRS, t-mobile, NAT-T
Je IPSec pouzitelny i pro pristup z GPRS site T-Mobile? Pokud vim, zakaznici jsou pripojeni v jakesi "lokalni siti", ktere je umoznen pristup na internet pres NAT.
3.6.2004 15:48 Pavel
Rozbalit Rozbalit vše Re: GPRS, t-mobile, NAT-T
Na Eurotelu to funguje, kdysi (1.5 roku zpet) jsem to zkousel i na T-mobile, tusim ze byla potreba nekaka "pridana" sluzba od operatora. Nicmene mi to fungovalo.
4.6.2004 08:51 Hermelin
Rozbalit Rozbalit vše Re: GPRS, t-mobile, NAT-T
A povedlo se nekomu rozhejbat nat-t pres racoon ? ja uz se s tim peru docela dlouho a ne a ne to zprovoznit.
3.6.2004 12:33 Vskutečnosti Saýc | skóre: 7
Rozbalit Rozbalit vše Skvelej clanek
Skvelej clanek, proc jsem si ho jenom nevsiml driv nez na nej nekdo dal odkazl v linux@linux.cz ? :(

Doufam ze pokracovani bude brzo :)
3.6.2004 15:13 Vskutečnosti Saýc | skóre: 7
Rozbalit Rozbalit vše Re: Skvelej clanek
ehm, on je dnesni. tka nic :)
3.6.2004 17:58 Vskutečnosti Saýc | skóre: 7
Rozbalit Rozbalit vše Chybne odkazy
kdyztak pridejte tem odkazum na konci clanku http:// na zacatek, protoze adresa http://www.abclinuxu.cz/clanky/show/www.kame.net neni zrovna koser :)
6.6.2004 13:37 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše internet ???
Zdravim

Ponekud mi neni jasne jak mezi 192.168.0.226 a 192.168.0.227 muze byt internet. Ale to jiste chapavy ctenar dokaze prelousknout.

Ja budu za cas resit tunel skrz internet mezi dvema rozsahlyma sitema (verejna vs. verejna IP), doufam ze to bude v nasledujicim dilu. GRE tunel na tohle asi vhodny neni.

Zdenek
www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
18.6.2004 22:20 Predseda
Rozbalit Rozbalit vše POKRACOVANI ????
Zdravim, kdy se muzeme tesit na dalsi pokracovani ??? Zda se mi to uz docela dlouho. Diky
21.6.2004 12:24 cervajs | skóre: 14
Rozbalit Rozbalit vše Re: POKRACOVANI ????
clanek maji od konce minuleho tydne v redakci
24.6.2004 23:02 javes | skóre: 8 | Ostrava Poruba
Rozbalit Rozbalit vše Re: POKRACOVANI ????
Bomba clanek, vsimnul jsem si ho az ted, ale to je dobre, nebude se mi zdat, ze pokracovani je za dlouho :)

Diky Autorovi!

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.