Tunel w budowie

Zdalny dostęp do firmowych systemów to nie ekstrawagancja, ale biznesowa konieczność. Zapewnić pracownikom zdalny dostęp to dziś jednak nie sztuka - prawdziwym wyzwaniem jest stworzenie rozwiązania wygodnego, a jednocześnie bezpiecznego

Zdalny dostęp do firmowych systemów to nie ekstrawagancja, ale biznesowa konieczność. Zapewnić pracownikom zdalny dostęp to dziś jednak nie sztuka - prawdziwym wyzwaniem jest stworzenie rozwiązania wygodnego, a jednocześnie bezpiecznego.

Jeszcze do niedawna najbardziej rozpowszechnioną metodą dostępu było wdzwanianie się do zdalnej sieci LAN za pośrednictwem modemu. Ze względu na koszty połączeń i dostępność łączy stałych czy mobilnych technologii dostępu (GPRS, HSCSD), bezpośrednie połączenie modemowe staje się coraz rzadszym sposobem dostępu. Co prawda połączenie jest łatwe do wykonania i relatywnie bezpieczne, jednak z punktu widzenia kosztów nie jest to już rozwiązanie optymalne.

Połączenia modemowe zastępują dziś połączenia z serwerem udostępnionym w publicznej sieci TCP/IP. Za jego pośrednictwem połączenie jest przekazywane do serwerów docelowych, bądź też aplikacje uruchamiane są wprost w jego środowisku. W praktyce takie rozwiązania przyjmują formę serwerów terminalowych, bramek terminujących kanały VPN lub innych rozwiązań, np. specjalnie skonfigurowanych serwerów aplikacyjnych.

W powyższych scenariuszach zakłada się, że połączenie inicjuje pracownik zdalny, w pewnych sytuacjach wygodnie jest inicjować połączenie wewnątrz firmy, np. klient mający publiczny adres IP uruchamia oprogramowanie klienckie, a połączenie jest inicjowane wewnątrz firmy na adres IP zdalnego klienta. To dobry pomysł, np. na potrzeby doraźnego wsparcia technicznego. Można to także traktować jako niskobudżetowe, bezpieczne rozwiązanie ogólnego stosowania, przy założeniu, że łączność odbywa się w godzinach, w których działa biuro.

Ze względu na to, że każda metoda połączenia ma pewne wady, wyjściem może być zastosowanie kilku metod łącznie. W najprostszym scenariuszu zestawia się połączenie TCP/IP poprzez bezpieczny kanał VPN - OpenVPN, IPSec lub SSH. Jest jeszcze jedna możliwość. Klienta aplikacji uruchamia się w jednej sieci lokalnej, serwer - w innej. Połączenie jest nawiązywane za pośrednictwem brokera działającego w sieci publicznej. Obie strony odpowiedzialne za połączenie nie przyjmują połączeń zewnętrznych, zaś same tylko inicjują połączenie do brokera.

Ekrany w tunelu

Tunel VPN jest inicjowany przez klienta, który nawiązuje połączenie z serwerem VPN, uruchamia połączenie między interfejsem loopback a komputerem docelowym i ewentualnie odpowiednio ustawia zasady routingu (tak może działać tunelowanie SSH). Niektóre rozwiązania uruchamiają dodatkowy interfejs sieciowy, przydzielając mu adres IP z sieci docelowej (LAN). Rozwiązania działające w ten sposób to m.in. CheckPoint VPN-1, Cisco VPN, tunele PPTP i IPSec stosowane w środowiskach Unix (np. FreeS/WAN, CIPE) oraz Windows (klient IPSec), a także OpenVPN - wieloplatformowa aplikacja open source.

Wykorzystanie implementacji OpenVPN jest o tyle wskazane, że jest ona odporna na zrywanie połączenia (znacznie bardziej odporna niż np. rozwiązania VPN Cisco), dzięki przetrzymywaniu sesji umożliwia stabilną pracę nawet przy znacznej utracie pakietów w łączu WAN i zapewnia wystarczające bezpieczeństwo w prostych zastosowaniach.

Wśród zalet OpenVPN można wymienić obsługę wielu platform oraz bardzo prostą i szybką konfigurację przy użyciu współdzielonego tajnego klucza (skopiowanie dwóch przygotowanych plików - klucza i konfiguracji), a także obsługę SSL. OpenVPN można skonfigurować tak, by serwer wykorzystywał dowolny port TCP lub UDP, pracując w trybie bridge lub tunelu, uzyskując dzięki temu elastyczność nieosiągalną w innych rozwiązaniach. Oczywistym argumentem "za" jest brak opłat licencyjnych. Wadą OpenVPN jest trudność w integracji z istniejącymi systemami uwierzytelnienia, chociaż działa np. z Apple Password Server i certyfikatami.

W przypadku skrajnie restrykcyjnych ustawień zapór firewall można skorzystać z projektu httptunnel umożliwiającego tunelowanie połączenia TCP/IP wewnątrz sesji http (POST i GET), zaś wewnątrz tego ruchu pracuje OpenVPN, zapewniając stosowne szyfrowanie. Nie ma pakietu komercyjnego zapewniającego jednocześnie obie te funkcje.

Siedząc na terminalu

Mając zestawione w ten czy inny sposób połączenie TCP/IP, trzeba mieć możliwość połączenia się z maszyną docelową, tak by pracować na niej zdalnie. Wydajną i bezpieczną formą komunikacji zdalnej jest wykorzystanie serwera terminalowego, np. Microsoft Terminal Services, Citrix MetaFrame XP, Jetro (Jetro Platforms) oraz podobnych rozwiązań unixowych, a także np. wieloplatformowego rozwiązania Tarantella.

Usługi terminalowe polegają na tym, że w środowisku serwera jest uruchamiana sesja klienta z równoczesnym przekierowaniem klawiatury, ekranu, myszki i drukarek do zdalnego użytkownika. W porównaniu z rozwiązaniami tunelującymi konfiguracja usług terminalowych nie jest trudna i umożliwia szybkie scentralizowanie dostępu praktycznie do wszystkich firmowych aplikacji. Są przy tym niezbyt wymagające pod względem pasma sieciowego - do komfortowej pracy jednego użytkownika wystarczy 20-25 Kb/s, w skrajnym przypadku można więc zastosować łącza GSM/HSCSD lub GSM/GPRS.

Jetro CockpIT. Szczególnie godny uwagi jest produkt Jetro CockpIT małej amerykańskiej firmy Jetro Platforms. Możliwości jego najnowszej wersji są podobne do Citrix MetaFrame XP, przy czym pakiet ten jest od rozwiązania Citrixa znacznie łatwiejszy w utrzymaniu i tańszy. Konfiguracja jest naprawdę nieskomplikowana, proste jest także tworzenie farm równoważących obciążenie, co w przypadku Citrixa, mimo postępu, wciąż nastręcza pewnych problemów.

Bardzo sprytnie rozwiązano kwestię drukowania - nie wymaga to nawet instalowania sterownika drukarki na serwerze. Zaletą Jetro jest stosunkowo niewielka - w porównaniu z Citrixem - ingerencja w jądro systemu operacyjnego serwera Windows. Jedyną poważniejszą wadą Jetro CockpIT jest konieczność zastosowania serwera IIS. Oznacza to, iż rozwiązanie Jetro powinno być konfigurowane przez osoby znające dokładnie słabości IIS i potrafiące je skutecznie eliminować.

Tarantella. Najbardziej rozbudowaną i dającą największe możliwości platformą usług terminalowych jest Tarantella. Jest ona tym bardziej interesująca, że działa na serwerach zarówno Windows, jak i Unix. Klient Tarantella łączy się z serwerem, na którym po poprawnym zalogowaniu się użytkownika jest udostępniany z opublikowanymi aplikacjami.

Najważniejszą cechą systemu Tarantella jest możliwość publikacji aplikacji w heterogenicznych środowiskach serwerowych. Przykładowo, można na jednym pulpicie udostępnić aplikację pracującą w środowisku Windows, np. Microsoft Excel XP (serwerem jest Windows Server 2003 z usługami terminalowymi) oraz typową aplikację Unix, np. xclock albo GIMP w wersji dla systemów Unix (serwerem jest system Unix). Tarantella działa praktycznie ze wszystkimi przeglądarkami - tej zalety nie mają usługi terminalowe Microsoftu ani nawet Citrix czy Jetro.


TOP 200