Ogień pod kontrolą

W jądro systemu Linux, począwszy od wersji 1.1, a więc od 1994 roku, wbudowana jest zapora sieciowa napisana przez Rusty’ego Russella. Jej głównym zadaniem jest filtrowanie pakietów przychodzących oraz wychodzących. Program sprawdza nagłówki wszystkich wiadomości przechodzących przez połączenie sieciowe i na podstawie ustalonych przez administratora systemu reguł odrzuca pakiety uznane za niebezpieczne. Reguły filtra pakietów mogą dotyczyć IP nadawcy, portu, przez który zdalny komputer próbuje nawiązać z naszym pecetem kontakt, i związanego z nim protokołu lub ich kombinacji. Zapora wbudowana w jądro systemu Linux może być konfigurowana za pomocą programu iptables zarządzanego przez administratora systemu. Osoby ceniące swój czas i wygodę mogą korzystać z pracujących w trybie graficznym nakładek na iptables. Wśród nich warto zwrócić uwagę na pracujący w trybie graficznym, dostępny dla wszystkich popularnych dystrybucji Linuksa program Firestarter. Po właściwym zainstalowaniu i uruchomieniu będzie on stale monitorował działanie zapory systemowej. Pozwoli również na łatwą zmianę jej ustawień: w szczególności na dodawanie i usuwanie reguł filtra pakietów. Firestarter rejestruje także tzw. zdarzenia (lub inaczej: trafienia), tj. próby połączeń z zablokowanymi portami. Intuicyjny interfejs powoduje, że program ten może być z powodzeniem obsługiwany nawet przez początkującego użytkownika. W związku z wydaniem kolejnej wersji Firestartera (oznaczonej numerem 1.0.3), która znacznie różni się od opisanej przez Artura Pęczaka w CHIP Special 10/2003 wersji 0.9.2, chcielibyśmy pokazać użytkownikom, jak korzystać z tej niezwykle pomocnej nakładki.

Instalacja

Przed instalacją najnowszej wersji Firestartera należy się upewnić, czy w systemie obecny jest iptables (robimy to za pomocą polecenia

rpm -q iptables

). Używając dowolnej przeglądarki, wchodzimy na stronę projektu Firestarter, a więc http://firestarter.sourceforge.net lub http://www.fs-security.com/, znajdujemy odsyłacz do wersji przeznaczonej dla naszej dystrybucji i pobieramy pakiet RPM. Każdy z łatwością zainstaluje Firestartera na swojej maszynie, tym bardziej, że Linux oferuje aż trzy sposoby wykonania tej czynności. Możemy więc skorzystać z polecenia rpm -i nazwa pakietu w oknie terminala, uruchomić za pomocą Midnight Commandera skrypt instalacyjny INSTALL (umieszczony wewnątrz pobranego pliku) lub użyć graficznej nakładki na instalator rpm. W pierwszym wypadku należy uruchomić konsolę, a następnie za pomocą polecenia su zmienić użytkownika na root. Konieczne jest podanie hasła administratora. Przechodzimy do katalogu, w którym zapisaliśmy pakiet instalacyjny, i wpisujemy polecenie rpm -i firestarter*.rpm. Kiedy dokonujemy aktualizacji, powinniśmy użyć polecenia rpm -U firestarter*.rpm. Zgodnie z dokumentacją Firestartera po jego uruchomieniu utworzony automatycznie skrypt zapory sieciowej realizuje następujące reguły:

połączenia przychodzące z Sieci do komputera chronionego przez zaporę są blokowane,

połączenia wychodzące inicjowane przez komputer chroniony przez zaporę są w pełni dozwolone,

jeżeli komputer chroniony przez zaporę udostępnia połączenie sieciowe innym komputerom, mają one swobodę inicjowania połączeń wychodzących do wszystkich komputerów poza tym, na którym uruchomiona jest zapora, a wszystkie połączenia przychodzące do tych komputerów są blokowane.

Pomocny kreator

Podczas pierwszego uruchomienia programu Firestarter pojawi się prosty kreator, pozwalający na wstępną konfigurację zapory. Zawsze można go też uruchomić, wybierając polecenie Run wizard z menu Firewall. Kreator jest tylko w niewielkim stopniu przetłumaczony na język polski (zresztą podobnie jak cały Firestarter).

Na ekranie powitalnym kreatora klikamy przycisk Naprzód. W kolejnym kroku z rozwijalnej listy

Wykryto urządzenia

(zawiera ona wszystkie odnalezione karty sieciowe i modemy) wybieramy urządzenie, za pomocą którego łączymy się z Internetem. Jeśli dysponujemy kartą sieciową, powinniśmy wybrać eth0, a w wypadku modemu –

ppp0

. Jeżeli adres IP naszego komputera jest przydzielany dynamicznie, zaznaczamy opcję Adres IP przydzielany za pomocą DHCP. W trzecim kroku możemy ustawić funkcje związane ze współdzieleniem łącza. Na koniec upewniamy się, że zaznaczyliśmy opcję

Start firewall now

(Natychmiast uruchom zaporę) i klikamy przycisk Zapisz. Opisany kreator pozwala tylko na wstępne skonfigurowanie Firestartera i obsługiwanej przez niego zapory systemu Linux. Nie wyczerpuje jej wszystkich możliwości – przede wszystkim pozostaje nam jeszcze określenie reguł filtra.

Kreator konfiguracji w najnowszej wersji Firestartera nie obejmuje wyboru usług serwerowych, które są akceptowane przez zaporę w wypadku połączeń przychodzących. Nie znajdziemy ich również w oknie ustawień. Obecnie jedyną metodą kontroli portów jest tworzenie reguł filtra pakietów na zakładce Policy. Generowanie takich zasad obejmuje źródła pakietów, porty, do których pakiety są adresowane, oraz usługi udostępniane przez komputery korzystające ze współdzielonego łącza. Te trzy obszary kontroli danych są reprezentowane w programie przez specjalne panele, które zmieniają się w zależności od kierunku naszych działań, tzn. od tego, czy określamy reguły ruchu wychodzącego (

Outbound traffic policy

) czy też przychodzącego (

Inbound traffic policy

).

Ikony na pasku narzędzi uaktywnią się dopiero po wybraniu panelu. Skupmy się na początku na kontroli portów w połączeniach przychodzących. W menu Editing wybierzmy Inbound traffic policy, a następnie klikamy środkowy panel (pod nagłówkiem

Allow service

). Możemy otworzyć port, tj. udostępnić go wszystkim pakietom (bez względu na ich nadawcę), lub ukryć go – wówczas port dostępny jest jedynie dla wskazanego przez nas komputera lub ich grupy. Ideę otwierania i ukrywania portów zilustrujemy prostymi przykładami.

Więcej:bezcatnews