Tunelem do wolności - cd.

Metod na nawiązywanie komunikacji dwustronnej z dowolnym serwisem w Internecie wciąż przybywa. Rosnąca liczba restrykcji i coraz ściślejsza kontrola prywatności wyzwala coraz to bardziej nieszablonowe pomysły.

Metod na nawiązywanie komunikacji dwustronnej z dowolnym serwisem w Internecie wciąż przybywa. Rosnąca liczba restrykcji i coraz ściślejsza kontrola prywatności wyzwala coraz to bardziej nieszablonowe pomysły.

W trosce o bezpieczeństwo sieci administratorzy stosują cały arsenał środków - od prostych filtrów wbudowanych w najtańsze routery, poprzez zaawansowane filtry typu iptables w systemie Linux, a skończywszy na bardzo kosztownych zaporach aplikacyjnych wyposażonych dodatkowo w systemy antywirusowe, a niekiedy nawet w systemy zapobiegające włamaniom. Pomimo tej ochrony, większość sieci nie jest jednak zabezpieczona przed niepożądanym ruchem wychodzącym.

Klasycznym rozwiązaniem stosowanym do omijania ograniczeń na zaporze jest zastosowanie tunelowania SSH, OpenVPN czy sesji SSL. Czasami można spotkać tunelowanie za pomocą zapytań HTTP (http://www.nocrew.org/software/httptunnel.html ). Nawiązanie połączenia jest możliwe nawet wtedy, gdy firma korzysta z bardzo restrykcyjnego serwera proxy, co wykorzystują lokalni administratorzy zmuszeni przez zagraniczną centralę do zastosowania skrajnie restrykcyjnych reguł na zaporze sieciowej.

W CW 39/2004 opisałem kilka sposobów na nawiązanie połączenia ze światem pomimo obostrzeń. Techniki te są dobrze znane zarówno administratorom, jak i włamywaczom. Obecnie wszelkie połączenia na typowe porty (22, 443, 80) są standardowo przedmiotem analizy, wskutek czego tunel "IP over HTTP" jest już stosunkowo łatwy do wykrycia. Ten spokój jest pozorny, bowiem ci, którzy potrzebują "wyjścia na świat" pomimo ograniczeń, są skłonni do eksperymentowania.

Przecieki z DNS

Katalog możliwości cały czas się rozszerza. Przykładowo, nikt w zasadzie nie sprawdza ruchu na porcie 53 (usługa DNS). Co więcej, w wielu firmach połączenia z dowolnego IP w sieci lokalnej są możliwe do dowolnego hosta właśnie na jego port 53 (zwykle zarówno po TCP, jak i UDP). Uruchomienie na maszynie docelowej serwera SSH na porcie 53 otwiera drogę do zestawienia tunelu za pomocą programu takiego jak popularny Putty. Aby temu zapobiec, należy koniecznie skonfigurować filtr pakietów, tak by połączenia do zewnętrznych serwerów na port 53 były możliwe tylko z korporacyjnego serwera DNS, a nie bezpośrednio ze stacji roboczych.

Sprytniejsi użytkownicy mogą próbować sztuczek, np. podłączać laptopy do firmowej sieci, tak by móc skorzystać z darmowego łącza do Internetu. W firmach, które limitują uprawnienia użytkownika w systemie operacyjnym stacji roboczych, chęć podłączenia laptopa (albo punktu dostępowego WiFi) może być nęcącą alternatywą. Upilnowanie, by skorzystanie z sieci nie było możliwe przy wykorzystaniu obcych urządzeń, jest w praktyce bardzo trudne.

Pierwszą linią obrony są restrykcje na adresy sprzętowe ustawiane na przełącznikach sieciowych. Ominięcie tych ograniczeń nie jest trudne, niemniej wymaga odpowiedniej wiedzy i sprzętu. Niektóre routery (D-Link, Asmax) dają możliwość dowolnego ustawienia adresu sprzętowego i w ten sposób mogą posłużyć do podłączenia obcego urządzenia.

Zapobiegliwy administrator może zablokować połączenia wychodzące bezpośrednio do Internetu, nakazując użycie serwera pośredniczącego (proxy), zwykle połączonego z buforem treści (w3cache), a niekiedy także z filtrem treści. Usługa proxy/w3cache bardzo często realizowana jest na serwerze Squid dostępnym w zasadzie z każdą dystrybucją Linuxa, a także dla systemów BSD. Jako filtr treści sprawdza się Squid-guard. Przy zastosowaniu uwierzytelnienia użytkownika na tym serwerze, mechanizmy obronne sieci są nieporównywalnie lepsze niż przy bezpośrednim połączeniu do Internetu.

Mały ping, duży problem

Są jednak ataki, dla których nawet takie zabezpieczenia nie stanowią przeszkody. Mało administratorów zwraca uwagę na ruch ICMP - zazwyczaj nie jest on filtrowany, gdyż umożliwia łatwe sprawdzenie działania sieci za pomocą polecenia ping. Ograniczanie możliwości tego protokołu mniej doświadczonym administratorom z reguły nie przychodzi do głowy.

To błąd. ICMP nadaje się do nawiązania niekontrolowanego połączenia z sieci LAN do Internetu. Tunel ICMP jest łatwy do uruchomienia, stabilny i trudny do wykrycia przez zapory, a nawet systemy IDS/IPS. Połączenie TCP/IP jest przenoszone w pakietach (ICMP_ECHO, ICMP_ECHOREPLY, ICMP_TIMESTAMP i in.).

Wystarczy uruchomić program icmptunnel lub ipoverping (oba programy działają na platformie Linux, zazwyczaj w połączeniu z serwerem proxy) "gdzieś w Internecie" i łączyć się z nim z sieci LAN. Cały ruch związany z odwiedzaniem stron WWW jest przenoszony w ICMP - komputer nie wysyła w kierunku Internetu pakietów TCP/IP. Jeśli w sieci nie monitoruje się ruchu ICMP, jest on całkowicie niewidoczny dla systemów detekcji intruzów. Aplikacja, która nie wysyła wiele danych (np. komunikator internetowy), może z powodzeniem pracować za pomocą tego tunelu.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200