RSS

Szyfrowanie ruchu w sieci LAN z IPSec

30 Paźdź

Częstym problemem występującym w sieciach LAN jest brak szyfrowania ruchu lub zbyt słabe zabezpieczenia dostępne w tanich urządzeniach takich jak np routery. Jednym ze sposobów poradzenia sobie z tym jest zastosowanie sieci VPN którą opisałem w poprzednim wpisie lub wprowadzenie szyfrowania całego ruchu w oparciu o dostępny w Windowsie protokół IPSec. IPsec to zbiór protokołów służących implementacji bezpiecznych połączeń oraz wymiany kluczy szyfrowania pomiędzy komputerami. Protokoły tej grupy mogą być również wykorzystywane do tworzenia Wirtualnej Sieci Prywatnej (ang. VPN). IPsec składa się z dwóch kanałów komunikacyjnych pomiędzy połączonymi komputerami: kanał wymiany kluczy za pośrednictwem którego przekazywane są dane związane z uwierzytelnianiem oraz szyfrowaniem (klucze) oraz kanału (jednego lub więcej), który niesie pakiety transmitowane poprzez sieć prywatną. Kanał wymiany kluczy jest standardowym protokołem UDP (port 500). Kanały przesyłu danych oparte są na protokole ESP (protokół numer 50) opisanym w dokumencie RFC 2406. Więcej do poczytania na wikipedii http://pl.wikipedia.org/wiki/IPsec .

W tym wpisie pokażę jak zainstalować i skonfigurować połączenie oparte o IPSec pomiędzy Windowsem XP i Linuksem Ubuntu 9.04.

Instalacja Ubuntu :
# apt-get update
# apt-get install isakmpd

Jeżeli wszystko pójdzie dobrze to powinniśmy zobaczyć
Konfigurowanie isakmpd (20041012-5) ...
Starting OpenBSD isakmpd: done

Przechodzimy do konfiguracji isakmpd:
# cp /etc/isakmpd/isakmpd.conf /etc/isakmpd/isakmpd.conf.kopia
# echo > /etc/isakmpd/isakmpd.conf
# pico /etc/isakmpd/isakmpd.conf

Do pliku isakmpd.conf wklejamy :
[Phase 1]
Default= any

[any]
Phase= 1
Configuration= Default-main-mode
Authentication= TAJNE-HASLO

[Default-main-mode]
EXCHANGE_TYPE= ID_PROT
Transforms= AES-SHA,3DES-SHA

Następnie :
# cp /etc/isakmpd/isakmpd.policy /etc/isakmpd/isakmpd.policy.kopia
# echo > /etc/isakmpd/isakmpd.policy
# pico /etc/isakmpd/isakmpd.policy

i wklejamy :
KeyNote-Version: 2
Comment: This policy accepts ESP SAs from a remote that uses the right password
$OpenBSD: policy,v 1.6 2001/06/20 16:36:19 angelos Exp $
$EOM: policy,v 1.6 2000/10/09 22:08:30 angelos Exp $
Authorizer: "POLICY"
Licensees: "passphrase:TAJNE-HASLO"
Conditions: app_domain == "IPsec policy" &&
esp_present == "yes" &&
esp_enc_alg != "null" -> "true";

Na koniec restartujemy tunel :
# /etc/init.d/isakmpd restart

Konfiguracja Windowsa XP :
1. Start > uruchom > mmc
2. Gdy odpali się konsola mmc przechodzimy menu Plik > Dodaj/Usuń przystawkę.. > w zakładce Autonomiczna klikamy na Dodaj > na samym dole listy wybieramy Zarządzanie zasadami zabezpieczeń IP > Komputer lokalny
3. Prawy klik w miejscu gdzie są Zasady > Utwórz zasadę zabezpieczeń IP > nazwa IPSec
4. Dalej > Dalej > W miejscu gdzie jest możliwość wyboru metody autoryzacji wybieramy : Użyj tego ciągu do ochrony wymiany kluczy i wpisujemy tam nasze TAJNE-HASLO > dalej > edytuj właściwości
5. Dodaj > Ta reguła nie określa żadnego tunelu > Sieć LAN > Użyj tego ciągu do ochrony wymiany kluczy i wpisujemy tam nasze TAJNE-HASLO > dalej > w miejscu Listy filtrów IP dajemy DODAJ > DODAJ > Dalej > Mój adres IP > Dowolny adres IP > Dowolny > Zakończ > OK > na koniec zaznaczamy naszą regułę klikając na nią > dalej > zaznaczamy Wymagaj Zabezpieczeń > Zakończ > OK > Zakończ >
6. Na liście zasad klikamy na naszą zasadę IPSec prawym przyciskiem i wybieramy Przypisz

Przykład ruchu przed ustawieniem szyfrowania i po :
Przed ( ping na wp.pl z komputera 192.168.0.104 ) :
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
15:24:18.810670 IP 192.168.0.104 > http://www.wp.pl: ICMP echo request, id 512, seq 3328, length 40
15:24:18.810685 IP 192.168.0.104 > http://www.wp.pl: ICMP echo request, id 512, seq 3328, length 40
15:24:18.833136 IP http://www.wp.pl > 192.168.0.104: ICMP echo reply, id 512, seq 3328, length 40

Po ( ping na 192.168.0.103 z tego samego komputera ) :
15:43:55.230110 IP 192.168.0.104.500 > 192.168.0.103.500: isakmp: phase 1 I ident
15:43:55.231793 IP 192.168.0.103.500 > 192.168.0.104.500: isakmp: phase 1 R ident
15:43:55.261015 IP 192.168.0.104.500 > 192.168.0.103.500: isakmp: phase 1 I ident
15:43:55.293697 IP 192.168.0.103.500 > 192.168.0.104.500: isakmp: phase 1 R ident
15:43:55.304717 IP 192.168.0.104.500 > 192.168.0.103.500: isakmp: phase 1 I ident[E]
15:43:55.311441 IP 192.168.0.103.500 > 192.168.0.104.500: isakmp: phase 1 R ident[E]
15:43:55.320323 IP 192.168.0.104.500 > 192.168.0.103.500: isakmp: phase 2/others I oakley-quick[E]
15:43:55.321473 IP 192.168.0.103.500 > 192.168.0.104.500: isakmp: phase 2/others R oakley-quick[E]
15:43:55.329405 IP 192.168.0.104 > 192.168.0.103: ESP(spi=0x54ec7b59,seq=0x1), length 76
15:43:55.329431 IP 192.168.0.104.500 > 192.168.0.103.500: isakmp: phase 2/others I oakley-quick[E]
15:43:55.334433 IP 192.168.0.103 > 192.168.0.104: ICMP 192.168.0.103 protocol 50 unreachable, length 104
15:43:56.156008 IP 192.168.0.104 > 192.168.0.103: ESP(spi=0x54ec7b59,seq=0x2), length 76
15:43:56.162215 IP 192.168.0.103 > 192.168.0.104: ESP(spi=0x72c430f4,seq=0x1), length 76
15:43:57.155322 IP 192.168.0.104 > 192.168.0.103: ESP(spi=0x54ec7b59,seq=0x3), length 76
15:43:57.158452 IP 192.168.0.103 > 192.168.0.104: ESP(spi=0x72c430f4,seq=0x2), length 76

Reklamy
 
Dodaj komentarz

Opublikował/a w dniu Październik 30, 2009 w internet, it, linuks, Linux, ubuntu, windows, xp

 

Tagi: ,

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

 
%d blogerów lubi to: