VPN i Linux II

W poprzednim rozdziale utworzyliśmy na bazie Linuxa 2.4 i pakietu IPsec Free S/WAN ( http://www.freeswan.org ) bramę bezpieczeństwa VPN. Dzięki instalacji łaty X.509 ( http://www.strongsec.com/freeswan/ ) można było dodatkowo wyposażyć bramę w mocne uwierzytelnianie i szyfrowanie z zastosowaniem certyfikatów. W ten sposób zakończyliśmy konfigurację po stronie serwera; dysponujemy również niezbędnymi certyfikatami dla bramy i klienta.

W poprzednim rozdziale utworzyliśmy na bazie Linuxa 2.4 i pakietu IPsec Free S/WAN ( http://www.freeswan.org ) bramę bezpieczeństwa VPN. Dzięki instalacji łaty X.509 ( http://www.strongsec.com/freeswan/ ) można było dodatkowo wyposażyć bramę w mocne uwierzytelnianie i szyfrowanie z zastosowaniem certyfikatów. W ten sposób zakończyliśmy konfigurację po stronie serwera; dysponujemy również niezbędnymi certyfikatami dla bramy i klienta.

Pozostaje zatem sprawdzić funkcjonalność całego rozwiązania i dokonać odpowiedniej konfiguracji klienta, umożliwiającej dostęp za pomocą VPN. Potrzebne w tym celu narzędzia znajdziemy przede wszystkim w Windows 2000 oraz XP. Oba te systemy są wyposażone w mechanizmy do tworzenia i zarządzania połączeniami IPsec.

Trzeba jednak wziąć pod uwagę, że z połączeń VPN będą też chcieli korzystać użytkownicy wersji domowej XP lub starszych notebooków z Windows 9x/Me. W takich przypadkach na komputerach trzeba zainstalować dodatkowe oprogramowanie klienckie IPsec. Rozwiązanie powszechnie stosowane w tym względzie to darmowy dla użytkowników prywatnych program PGP. Współpracuje on nie tylko z domowymi wersjami Windows, lecz również z NT i 2000.

Windows 2000 oraz XP

Narzędzie systemowe - Windows 2000 i XP wyposażone są w narzędzie do zarządzania połączeniami IPsec.

Narzędzie systemowe - Windows 2000 i XP wyposażone są w narzędzie do zarządzania połączeniami IPsec.

Ze względu na zintegrowaną obsługę IPsec do roli klientów IPsec predestynowane są szczególnie Windows 2000 oraz XP. Oprócz tego, że dysponują odpowiednią usługą ("Usługi IPsec"), oba systemy mogą też zarządzać dyrektywami bezpieczeństwa IP. Aby utworzyć tunelowane połączenie VPN, użytkownik musi jedynie uruchomić usługi IPsec i przypisać połączeniu odpowiednią dyrektywę bezpieczeństwa.

Wymaga to jednak, by odpowiednia dyrektywa bezpieczeństwa już funkcjonowała. Aby użytkownik nie miał zbyt łatwego życia, Microsoft rozwiązał problem w typowy dla siebie sposób - utworzenie jej wymaga ustawień w trzech oknach i dwóch kreatorach. Na szczęście, społeczność tworząca oprogramowanie z otwartym dostępem do kodu oferuje rozwiązanie, dzięki któremu również mniej doświadczeni użytkownicy mogą zestawić połączenie VPN w ciągu kilku minut.

Narzędzia VPN Marcusa Müllera

Wczytywanie - na drugim etapie użytkownik importuje przygotowany certyfikat.

Wczytywanie - na drugim etapie użytkownik importuje przygotowany certyfikat.

Narzędzia VPN Marcusa Müllera ( http://vpn.ebootis.de/ ) do Windows 2000/XP to wypróbowany i łatwy w obsłudze środek do konfiguracji połączenia. Archiwum zip o wielkości zaledwie 39 KB zawiera właściwe narzędzie konfiguracyjne (ipsec.exe). Jest to przykładowy plik konfiguracyjny i wtyczka do konsoli MMC.

Można wykorzystać to archiwum jako podstawę dystrybucji parametrów połączenia, uzupełniając je o niezbędne pliki dodatkowe. Pierwszym takim plikiem jest cyfrowy certyfikat użytkownika (user.p12), który już przerabialiśmy w pierwszej części warsztatów. Po drugie, użytkownik musi otrzymać plik tekstowy z hasłem, które nadaliśmy podczas generowania certyfikatu PKCS#12 - export key.

W przypadku komputera z systemem Windows 2000 należy dodać narzędzie IPsecpol ( http://agent.microsoft.com/windows2000/techinfo/reskit/tools/existing/ipsecpol-o.asp ) z zasobów Microsoftu dla Windows 2K. Na komputerach z systemem Windows XP potrzebne jest natomiast narzędzie IPsecCmd. Aby zainstalować ten program, potrzebna jest kompletna instalacja narzędzi wspomagających z płyty instalacyjnej Windows XP (katalog \SUPPORT\TOOLS).

Konfiguracja ipsec.conf

Teraz należy dostosować ipsec.conf IPsec archiwum do swoich potrzeb. Składnia jest zbliżona do pliku o identycznej nazwie z pakietu Free-S/WAN. Najpierw w sekcji conn %default należy wskazać połączenie dial-up, które będzie automatycznie uruchamiane przy próbie nawiązania połączenia z bramą bezpieczeństwa.

Najpierw mamy sekcję conn- z parametrami połączenia VPN. Potrzebny tu adres lokalny należy zdefiniować jako left=%any - w ten sposób automatycznie zostanie przejęty adres klienta.

W sekcji right należy wpisać adres IP bramy VPN; parametr rightsubnet zawiera adres IP i maskę sieci LAN, z którą trzeba się połączyć. Tu można zastosować zarówno notację uproszczoną (172.16.0.0/16), jak i pełną (172.16.0.0/255.255.0.0).

rightca to ten urząd certyfikacji, który podpisał certyfikat użytkownika. Parametr network wskazuje, czy do nawiązania połączenia ma być zastosowane połączenie dial-up (network=ras), LAN (network=lan), czy też zależnie od dostępności jedno z dwóch (network=both).

W naszym przypadku to klient inicjuje połączenie (auto=start) i posługuje się Perfect Forwarding Secrecy (pfs=yes).

Opcjonalnie ipsec.conf może jeszcze zawierać parametry (mniej bezpiecznego) nawiązywania połączenia za pomocą Preshared Keys. Można je w razie potrzeby znaleźć w objaśnieniach do pliku konfiguracyjnego.

Konfiguracja klienta

Przygotowanie - dodanie certyfikatu przygotowujemy za pomocą konsoli MMC.

Przygotowanie - dodanie certyfikatu przygotowujemy za pomocą konsoli MMC.

Archiwum zip, uzupełnione o certyfikat użytkownika, narzędzia MS-IPsec i zmodyfikowany plik ipsec.con należy teraz przesłać do klienta w bezpieczny sposób, na przykład za pomocą zaszyfrowanego e-maila.

Tam Użytkownik może rozpakować go do - zasadniczo dowolnego - katalogu. Jeżeli jednak umieszczone w nim łącze (e.bootis VPN.lnk) ma być stosowane bez modyfikacji, pliki należy rozpakować do katalogu C:\Program Files\IPsec.

Obecnie należy uruchomić konsolę MMC i w menu File | Add/Remove Snap-in dodać nową wtyczkę typu certyfikat. Powinna ona zarządzać kontem na komputerze lokalnym. Następnie klikamy Add | OK, nowa wtyczka pojawia się w oknie konsoli MMC.

Tam też użytkownik przechodzi w menu kontekstowym własnych certyfikatów do All tasks | Import. Pojawia się okno powitalne asystenta importu. Po kliknięciu Next można zaimportować plik certyfikatu z właśnie założonego katalogu VPN. Na koniec należy podać hasło, które zostało ustalone w trakcie generowania certyfikatu PKCS#12 jako export key i zapisane w pliku tekstowym w archiwum. Następnie użytkownik zaznacza opcję automatycznego wyboru certyfikatu i wreszcie importuje certyfikat poleceniem End.

Kontrola funkcjonalności

Tak utworzoną konsolę MMC należy na zakończenie zapisać. Teraz trzeba wywołać narzędzie ipsec.exe - za pośrednictwem łącza e.bootis VPN.lnk albo bezpośrednio z wiersza poleceń. W ten sposób aktywuje się "policy" zdefiniowaną w ipsec.conf i tworzy połączenie z bramą VPN. Jej działanie można sprawdzić od razu za pomocą polecenia ping.

Alternatywa - zamiast uruchamiać ipsec.exe, można włączyć lub wyłączyć VPN za pomocą dyrektywy.

Alternatywa - zamiast uruchamiać ipsec.exe, można włączyć lub wyłączyć VPN za pomocą dyrektywy.

Jeżeli użytkownik życzy sobie dodatkowej kontroli, może z menu Programs | Management | Local Security Directives konsolę zarządzania ustawieniami bezpieczeństwa. Tu znajdzie wśród Dyrektywy bezpieczeństwa IP na lokalnym komputerze nowa dyrektywę o nazwie FreeSwan.

Podwójne kliknięcie powoduje wyświetlenie właściwości - w naszym przypadku ipsec.exe wpisał automatycznie za pomocą IPsecPol lub IPsecCmd odpowiednie reguły filtrowania połączenia.

Warianty startowe

W przyszłości można tworzyć połączenia VPN na dwa sposoby. Można uruchomić połączenie przez ponowne wywołanie ipsec.exe, bezpośrednio lub za pośrednictwem łącza.

Alternatywnie można uruchomić lub zakończyć sesję VPN przez wywołanie konsoli MMC i odpowiednie polecenie w menu kontekstowym dyrektywy FreeSwan. Usługi IPsec Windows uruchamiają się automatycznie, jeśli nie zostały uruchomione już w czasie startu systemu.


Zobacz również