Miesięcznik informatyków i menedżerów IT sektora publicznego

Kamil Folga

Zapora sieciowa dla każdego

UFW to prosta w obsłudze zapora sieciowa dla systemu Linux. Z kolei GUFW to nakładka graficzna, która pozwala zarządzać firewallem UFW z wykorzystaniem intuicyjnego interfejsu graficznego.

Jądro systemu Linux ma implementację filtracji pakietów o nazwie Netfilter, która po raz pierwszy pojawiła się w wersji jądra 2.4. Dostępna jest też zupełnie odseparowana wersja Netfilter do obsługi protokołów IPv4 oraz IPv6. Do konfiguracji filtracji pakietów w systemie Linux służy narzędzie iptables, które jest standardowym elementem Netfilter. Choć konfiguracja iptables nie jest skomplikowana, to wymaga utrzymania pewnych zasad. Praca z zaporą sieciową Linux jest znacznie przyjemniejsza, gdy możemy skorzystać z programu oferującego linię komend lub graficzny interfejs użytkownika. Przykładem takiej aplikacji jest UFW (Uncomplicated Firewall) wraz z nakładką GUFW (Graphical Uncomplicated Firewall). W praktyce UFW/GUFW jest nakładką na iptables, która pozwala uprościć poziom skomplikowania reguł iptables. Jedynym minusem rozwiązania jest to, że zastosowanie uproszczonych narzędzi wyklucza wykorzystanie wszystkich funkcji Netfilter.

Jak działa zapora w systemach Linux

Konfiguracja Netfilter jest zestawieniem tablic zawierających łańcuchy reguł. Istnieją cztery wbudowane tablice. Pierwszą jest tablica FILTER, w której znajdziemy reguły filtrowania pakietów. Kolejne tablice – NAT oraz MANGLE – służą do przeprowadzania manipulacji na poziomie pakietów. Czwartą tablicą jest RAW z konfiguracją INPUT dla przychodzących pakietów, OUTPUT dla wychodzących pakietów oraz FORWARD dla pakietów przesyłanych przez lokalną maszynę. Łańcuch INPUT jest używany do kontroli przychodzących połączeń. Przykładowo, jeżeli użytkownik zamierza się połączyć z serwerem SSH udostępnianym przez nasz komputer, iptables będzie dopasowywało to połączenie do reguł znajdujących się w łańcuchu INPUT. Łańcuch FORWARD jest używany dla przychodzących połączeń, które nie są dostarczane lokalnie, czyli w pewnym sensie realizuje funkcje filtracji tras routera. Wykorzystywany jest w przypadku trasowania (routingu) czy translacji adresów NAT. Z kolei łańcuch OUTPUT obsługuje połączenia wychodzące z naszej maszyny. Jeżeli próbujemy się łączyć ze zdalnym serwerem z lokalnej maszyny, pakiet przed opuszczeniem karty sieciowej trafia do łańcucha OUTPUT.

Każdy łańcuch Netfilter zawiera określoną liczbę reguł, a domyślna polityka to akceptacja pakietów. Reguły określają, co zrobić z pakietem, jeśli warunek realizowany przez parametry zostanie spełniony. Najczęściej wykorzystywana jest akceptacja (ACCEPT), odrzucenie z informacją (REJECT) lub odrzucenie bez informacji (DROP).

Podstawy iptables

Aby sprawdzić, jak domyślnie wygląda traktowanie pakietów przez Netfilter, wystarczy wydać polecenie <iptables –L>. Domyślna polityka dopuszcza wszystkie pakiety dla każdego łańcucha. Jeżeli zamierzamy blokować nieznany ruch i dopuszczać tylko ruch określony przez reguły, wystarczy wydać polecenia:

iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP

Jeżeli mamy skonfigurowaną domyślną politykę, możemy rozpocząć dodawanie reguł iptables, w których definiujemy różne metody odpowiedzi na pakiet dochodzący do naszej maszyny. Jak wspomniano wcześniej, odpowiedź ACCEPT pozwala zaakceptować połączenie, które w rezultacie nie jest blokowane. Odpowiedź DROP odrzuca połączenie i nie przekazuje odpowiedzi do systemu źródłowego. Odpowiedź REJECT odrzuca połączenie i odsyła informacje o błędzie. Powiadamiamy wówczas system źródłowy o błędzie, czyli o istnieniu zapory sieciowej.

[...]

Autor zawodowo zajmuje się informatyką ze specjalizacją w zakresie sieci bezprzewodowych oraz systemów transmisji głosu. Publikuje w magazynach komputerowych.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma. Zapraszamy do składania zamówień na prenumeratę i numery archiwalne.
 
 

Polecamy

Biblioteka Informacja Publiczna

Specjalistyczne publikacje książkowe dla pracowników administracji publicznej

więcej