VPN i Linux I

Zapewnienie pracownikom dostępu do sieci firmowej z domu czy w trakcie podróży służbowej wiązało się dotychczas ze znacznymi kosztami. Zdalny, bezpośredni dostęp przez dial-up pociąga za sobą ponadto spore inwestycje w sprzęt. Dodatkowo, szybko powstają kolejne koszty, gdyż połączenia rozliczane są według normalnych taryf telefonicznych. Już w średnim przedsiębiorstwie, mającym dziesięciu pracowników mobilnych, mogą to być sumy rzędu kilkunastu tysięcy złotych.

Zapewnienie pracownikom dostępu do sieci firmowej z domu czy w trakcie podróży służbowej wiązało się dotychczas ze znacznymi kosztami. Zdalny, bezpośredni dostęp przez dial-up pociąga za sobą ponadto spore inwestycje w sprzęt. Dodatkowo, szybko powstają kolejne koszty, gdyż połączenia rozliczane są według normalnych taryf telefonicznych. Już w średnim przedsiębiorstwie, mającym dziesięciu pracowników mobilnych, mogą to być sumy rzędu kilkunastu tysięcy złotych.

Dużo korzystniejszym wariantem są połączenia dial-up z wykorzystaniem pośrednictwa Internetu. Internet jest dostępny niemal wszędzie, a koszt dostępu mieści się w akceptowalnych granicach. W przypadku pracowników wykonujących swoje zadania w domu celowa byłaby instalacja usługi Neostrada; w przypadku pracowników mobilnych pozostaje dostęp przez jeden z ogólnopolskich numerów dostępowych lub pakietowa transmisja danych przez telefon komórkowy. Rolę przysłowiowej łyżki dziegciu odgrywa tu kwestia bezpieczeństwa. Dane przesyłane przez Internet mogą być nie tylko przechwycone, ale również zmodyfikowane. Rozwiązaniem problemu jest instalacja wirtualnej sieci prywatnej (VPN). Ochronę wierzytelności i integralności danych zapewnia Security Architecture for the Internet Protocol (RFC 2401), bardziej znany pod nazwą IPsec. Równie wydajną, a przy tym ekonomiczną platformę tworzy Duo Linux i Free S/WAN.

IPsec i Free S/WAN

Linux jest powszechnie znany jako platforma stabilna i bezpieczna; dzięki rozbudowanym mechanizmom firewalla tworzy doskonałą bazę dla bramy IPsec. Podstawowa instalacja nie zawiera jednak protokołu IPsec.

Zapewnia ją dopiero pakiet Linux Free S/WAN ( http://www.freeswan.org ), wspólny projekt kilkunastu ambitnych programistów i wolontariuszy. Free S/WAN składa się z dwóch głównych komponentów - KLIPS (jądro IPsec) implementuje niezbędne protokoły i mechanizmy w jądrze Linuksa. Demon Pluto odpowiada za tworzenie połączeń i wymianę kluczy. Szereg skryptów uzupełnia jądro Free S/WAN o interfejs administracyjny.

Niniejszy rozdział opisuje sposób działania IPsec, instalację w środowisku Linuksa za pomocą Free S/WAN oraz konfigurację sieci VPN. Opiszemy ponadto implementację infrastruktury uwierzytelniania o parametrach pozwalających na zastosowanie w przedsiębiorstwie z wykorzystaniem certyfikatów X.509. W następnym rozdziale omówimy konfigurację i współpracę klienta Windows z Free S/WAN.

IPsec - przegląd

IPsec, czyli jak chcą niektórzy, Secure Internet Protocol, jest w rzeczywistości pakietem różnych protokołów i technik, za pomocą których można tworzyć bezpieczne połączenia przez Internet. Ogólna budowa tej architektury, której oficjalna nazwa brzmi Internet Protocol Security, opisana jest w RFC 2401 do 2410 ( http://www.ietf.org/rfc.html ); rozszerzenia do zastosowań specjalnych opisano w RFC 2207, 2709, 3104 i 3193.

Bezpieczeństwo połączeń IPsec, czyli integralność i poufność danych, uzyskano przez zastosowanie uwierzytelniania i szyfrowania, a także równoległej kontroli dostępu na poziomie użytkownika. W tym celu na poziomie sieci zaimplementowano dwa tryby przesyłu i dwie przynależne do nich funkcje bezpieczeństwa.

Tryb transportowy kontra tryb tunelowania

W trybie transportowym dwa hosty komunikują się przez Internet bezpośrednio. W tym scenariuszu IPsec zapewnia uwierzytelnianie użytkowników i integralność danych. Każda ze stron ma więc nie tylko pewność, że kontaktuje się z właściwym partnerem, ale również może być spokojna o to, że dane nie zostały po drodze zmienione. Posługując się opcjonalnym szyfrowaniem można dodatkowo mieć pewność, że osoby niepowołane nie mają dostępu do przesyłanych treści. Ponieważ jednak w tym przypadku dwa komputery wymieniają dane przez ogólnie dostępną sieć, nie da się ukryć adresów nadawcy i odbiorcy.

Z trybem tunelowania mamy do czynienia dopiero wtedy, gdy co najmniej jeden z komputerów biorących udział w komunikacji nie bierze w niej udziału bezpośrednio, lecz wykorzystywany jest jako brama bezpieczeństwa. W takim przypadku przynajmniej jeden z partnerów - ten za bramą - pozostaje anonimowy. Jeżeli dane przesyłane są pomiędzy dwiema sieciami, z których każda ma bramę bezpieczeństwa, z zewnątrz nie da się już ustalić, kto naprawdę bierze udział w komunikacji. Oczywiście, w trybie tunelowania można również stosować uwierzytelnianie, weryfikację integralności i szyfrowanie.

Authentication Header (AH)

IP Authentication Header (AH, RFC 2402) daje pewność, że informacje o pochodzeniu danych i sama treść danych nie zostały w sposób niezauważony zmienione w przez osobę trzecią. W tym celu na podstawie statycznych danych nagłówka IP oraz wszystkich danych użytecznych oblicza się wartość hasz; jest ona następnie wstawiana wraz z innymi polami kontrolnymi za pierwotny nagłówek IP. Poprzez weryfikację tej wartości odbiorca może natychmiast ustalić, czy w trakcie przesyłu miały miejsce manipulacje danymi użytecznymi lub nagłówka. Zmienne dane nagłówka IP, a więc te, które mogą zmieniać się w trakcie transmisji, są siłą rzeczy wyłączone spod tej ochronny.

Nagłówek uwierzytelniający stosowany jest zarówno w trybie transportowym, jak i w trybie tunelowania. W wariancie transportowym znajduje się on pomiędzy pierwotnym nagłówkiem IP pakietu a danymi użytecznymi. W trybie tunelowania brama pakuje cały pakiet danych łącznie z danymi nagłówka w nowy pakiet IP. W tym przypadku nagłówek uwierzytelniający znajduje się pomiędzy nowymi danymi nagłówka a pierwotnym pakietem. W obu trybach zagwarantowane jest jedynie uwierzytelnianie i integralność danych, ale nie ich poufność - nie stosuje się żadnego szyfrowania.

Encapsulated Security Payload (ESP)

Poufność danych dzięki szyfrowaniu zapewnia IP Encapsulated Security Payload (ESP, RFC 2406). Protokół zamyka zaszyfrowane dane pomiędzy nagłówkiem a blokiem końcowym (trailer). Opcjonalne pole ESP-Auth na końcu pakietu może zawierać informacje o integralności zaszyfrowanych danych - podobnie, jak w przypadku nagłówka uwierzytelniającego.

W trybie transportowym nagłówek i blok końcowy ESP chronią jedynie czyste dane użytkowe; nagłówek pakietu nie jest chroniony w żaden sposób. W trybie tunelowania "danymi użytkowymi" staje się cały pierwotny pakiet nadawcy, który brama bezpieczeństwa zapakowała w nowy pakiet danych. W ten sposób możliwy jest jedynie wgląd w dane transportowe bramy. Cały pierwotny pakiet IP, łącznie z danymi nadawcy i odbiorcy, jest zaszyfrowany. W tym przypadku ESP zapewnia więc nie tylko poufność danych, ale również połączenia.

W obu przypadkach korzystne jest połączenie ESP i AH, który dodatkowo gwarantuje integralność i uwierzytelnianie najważniejszych danych nagłówka IP. Dopiero duet ESP/AH zapewnia perfekcyjną ochronę danych przez podsłuchem i manipulacją.


Zobacz również