Zapory sieciowe pod Linuksem oparte są przeważnie na strukturze jądra o nazwie Netfilter [1], wprowadzonej w 2001 roku. System ten ma zostać zastąpiony przez Nftables [2], ale do tego czasu pozostaje nam Iptables [3], który jest domyślnym narzędziem wspierającym konfiguracje skomplikowanego Netfiltera.
Jednak praca z Iptables nie jest zbyt intuicyjna. Jeśli nie wykonujemy takich zadań często, łatwo jest zapomnieć wymagane w wierszu poleceń parametry. Ponieważ Iptables nie jest łatwy do opanowania dla mniej doświadczonych administratorów, wiele dystrybucji ma własne narzędzia zarządzające zaporą sieciową. Konfiguracja filtrowania pakietów z wiersza poleceń może bardzo łatwo wyrządzić wiele szkód z powodu błędów użytkownika.
Dlatego właśnie wiele zapór sieciowych ma interfejsy graficzne (GUI), dzięki którym to uciążliwe zadanie staje się trochę łatwiejsze. W tym artykule zrecenzujemy rozwiązania takie jak: Firewalld [4], Fwbuilder [5], Gufw [6] i Shorewall [7]. Przyjrzymy się też narzędziu PeerGuardian [8], blokującemu IP, który nie jest tradycyjną zaporą sieciową (ramka „PeerGuardian”). Ze względu na to, że część dostępnych aplikacji jest przestarzała, zdecydowaliśmy, że je pominiemy (ramka „Poza obiegiem”).
PeerGuardian
PeerGuardian (Rysunek 1) [8] nie jest standardową zaporą sieciową, ale aplikacją blokującą adresy IP – pojedynczo i całymi blokami. Pierwotnie narzędzie zaprojektowano do ochrony połączeń P2P, korzystających z protokołów takich jak BitTorrent czy FastTrack, ale teraz blokuje też adresy IP, pod którymi znajdziemy odnośniki do stron z nielegalną zawartością, spamem i związanych z phishingiem. Korzysta z reguł Netfiltera i Iptables dostępnych na hoście. Blokowanie odbywa się na podstawie listy zawierającej spis adresów IP, o których wiemy, że są powiązane z malware’em. Możemy dodawać do niej własne wpisy.
Rysunek 1: PeerGuardian blokuje adresy IP oraz ich zakresy.
Kod źródłowy PeerGuardiana dostępny jest do własnoręcznej kompilacji. Program znajdziemy też w repozytoriach większych dystrybucji Linuksa. Zarządzanie listą blokowanych adresów ułatwia GUI. Dzięki aplikacji szybko zablokujemy niechciane adresy IP, bez konieczności konfigurowania złożonych serwerów proxy.
Program rozpowszechniany jest na licencji GNU GPL. Po uruchomieniu widzimy pustą przestrzeń w zakładce Control, w której dostępny będzie dziennik sesji. Aplikacją zarządzamy za pomocą przycisków ponad tym obszarem. Listy blokowanych adresów znajdują się w zakładce Configure. Dostępny jest tu obszar Whitelist, gdzie podajemy adresy, których nie chcemy blokować. Na górze znajdują się opcje umożliwiające uruchomienie oprogramowania razem z systemem oraz automatyczną aktualizację listy blokowanych adresów.
Częstotliwość aktualizacji dostosujemy w tym samym miejscu, w którym sprawdzimy zakres adresów do zablokowania. Możemy dodać więcej stron i obszarów, wybierając symbol plusa pod listą. Przy pierwszym uruchomieniu powinniśmy zaktualizować tę listę, wybierając przycisk Update w zakładce Control. Aktualizację możemy obserwować w mały oknie dziennika, który wywołujemy z menu View | View pglcmd’s log. Po zakończeniu tego procesu uruchamiamy zaporę sieciową, wciskając Start w zakładce Control. Okno dziennika wypełni się teraz zablokowanymi adresami IP, związanymi z nimi portami i informacjami o typie połączenia (Rysunek 2).
Rysunek 2: PeerGuardian wyświetla w oknie zablokowane adresy IP.
W przypadku PeeGuardiana istnieją również, oprócz naszych własnych list, kolekcje adresów zbierane przez zewnętrzne serwisy [9]. Podzielone na kategorie, dostępne są w Internecie. Część z nich można zakupić w drodze subskrypcji. Dodajemy je do PeerGuardiana, wklejając ich adresy w odpowiednim oknie dialogowym. Po takiej operacji listy regularnie są aktualizowane. Adresy IP, których nie chcemy blokować, widoczne są w dzienniku. Klikając na danym wpisie, z pomocą menu kontekstowego, możemy czasowo lub na stałe zmienić przyporządkowanie danego adresu i portu.
Jeśli na temat danego adresu nie mamy zbyt wielu dostępnych informacji, z menu kontekstowego dostępne jest polecenie whois. Jego wynik wyświetlany jest w okienku, dzięki czemu łatwiej jest podjąć decyzję na temat blokady adresu.
Poza obiegiem
Oprócz interfejsów graficznych opisanych w tym artykule, w Internecie znaleźć można inne programy konfigurujące zapory sieciowe, takie jak FireStarter [10], Turtle Firewall [11] czy FireFlier [12]. Pewną popularność zyskał również Vuurmuur [13], napisany z wykorzystaniem ncurses. Wszystkie te aplikacje mają jednak jedną wspólną cechę: nie były aktualizowane od mniej więcej 10 lat i dlatego nie wspierają (lub nie wspierają w pełni) nowych standardów, takich jak IPv6.
W tym artykule wykluczyliśmy też systemy, takie jak IPFire [14], Untangle NG Firewall [15] i Alpine Linux [16]. Są to specjalistyczne dystrybucje, które nie opierają się na standardowym systemie Linux.
Kryteria
Dwie najważniejsze cechy, które profesjonalna zapora sieciowa powinna mieć, to wsparcie IPv4 i IPv6 oraz możliwość dynamicznej zmiany konfiguracji. W przeciwieństwie do statycznych zapór, nie każda modyfikacja powinna wymuszać restart oprogramowania i przerwanie połączenia z Internetem, co jest jedynym sposobem na wprowadzenie reguł dla aplikacji, które wymagają do działania konkretnych portów.
Innym ważnym kryterium przy ocenie zapór sieciowych jest dziennik. Przykładowo analiza dziennika transferu pakietów pomaga administratorom w konfiguracji systemu sygnalizacji włamań (IDS) lub systemu zapobiegania włamaniom (IPS). Listy filtrowanych i niedozwolonych aplikacji również poprawiają bezpieczeństwo, oczywiście pod warunkiem że administratorzy aktualizują je regularnie.
Firewalld
Firewalld [4] to domyślna zapora sieciowa w Red Hat Enterprise Linux (RHEL) od wersji 7, kiedy to zastąpiła Iptables. Chociaż aplikacja współpracuje z systemem Netfilter, to nie jest kompatybilna z Iptables. Zapora, która działa jako demon, dostępna też jest w Fedorze i w pochodnej RHEL-a, CentOS-ie, a także w repozytoriach większości popularnych dystrybucji Linuksa.
Firewalld wspiera IPv4 i IPv6. Wyróżnia go model strefowy. Umożliwia skonfigurowanie zapory sieciowej dla różnych stref, w każdej z innym zestawem reguł, dostosowując się do wymaganego poziomu bezpieczeństwa. Jest to szczególnie przydatna cecha w przypadku urządzeń mobilnych: w zależności od środowiska pracy, użytkownik może wybrać odpowiednią strefę, która zagwarantuje mu bezpieczeństwo.
Firewalld udowadnia swoją wartość również w dużych instalacjach ze strefą zdemilitaryzowaną (DMZ). Dzięki niemu administrator może skonfigurować zaporę, dostosowując się do interfejsu sieciowego. Ustawienia sieci bezprzewodowej i przewodowej będą więc zupełnie inne. Możemy postawić serwer w Intranecie lub w DMZ, wedle potrzeby zmieniając dla tych obszarów strefy definiowane w programie.
Firewalld posiada predefiniowane strefy oferujące cały zakres ustawień poziomu bezpieczeństwa, który waha się od strefy zaufanej (trusted), przekazującej dalej wszystkie przychodzące pakiety, przez kilka poziomów opartych na regułach, aż po strefę odrzucającą (drop), która nie przyjmuje żadnych pakietów, chyba że są związane z pakietami wychodzącymi. Aplikacja ma własną składnię, dzięki której możemy zarządzać strefami z wiersza poleceń.
Mniej doświadczonym administratorom, którzy chcieliby skonfigurować zaporę sieciową tak szybko, jak to możliwe, program dostarcza narzędzi graficznych zaprojektowanych głównie dla Gnome’a. Firewallda znajdziemy na dyskach z Fedorą, CentOS-em i RHEL-em, więc instalacja nie powinna stwarzać problemów. Pakiet nazywa się Firewall. Alternatywą jest wykonanie następującego polecenia:
yum install firewall-config
Po instalacji wywołujemy interfejs graficzny, wciskając Start w instalatorze lub wpisując firewall-config w terminalu. Jeśli jesteśmy zalogowani jako administrator, otworzy się bardzo przejrzysty interfejs aplikacji (Rysunek 3).
Rysunek 3: Interfejs Firewallda jest prostszy niż Iptables.
Lista znajdująca się z lewej strony okna programu, zatytułowana Active Bindings, pokazuje wszystkie aktywne połączenia, które fizycznie istnieją w systemie, oraz odpowiadające im strefy. Na prawo od listy znajdują się trzy zakładki (Strefy, Usługi, Zestawy adresów IP) uzupełnione przez mniejsze okno w prawym, dolnym rogu, dzięki któremu przejść możemy do innych opcji. Nad zakładkami znajdziemy opcje określające, czy zmiany w konfiguracji są trwałe (Trwałe), czy tymczasowe (Uruchamianie).
Strefy
W zakładce Strefy definiujemy reguły transferu pakietów dla wszystkich stref zapory sieciowej. Kolejne zakładki: Usługi, Porty i Protokoły, zawierają najważniejsze elementy konfiguracji. Przy podstawowych ustawieniach opcje im towarzyszące są takie same.
Usługi to zakładka, w której możemy udostępnić w sieci usługi dostępne na danej maszynie. W zależności od ustawień, przyznawany jest dostęp z intranetu lub Internetu. Do dyspozycji mamy duży wybór usług, które możemy udostępnić, zaznaczając je w odpowiednim polu. Jeśli zalogowani jesteśmy jako administrator, Firewalld wprowadzi zmiany bez konieczności restartu.
W zakładce Porty ręcznie odblokujemy poszczególne porty lub całe ich zakresy, umożliwiając dostęp do nich z zewnątrz. Jeśli chcielibyśmy, aby wybrane protokoły przechodziły przez zaporę, wybrać je możemy w zakładce Protokoły. Specjalnie dla IPv4 w programie znajdują się dwie zakładki: Maskarada oraz Przekierowanie Portów, z pomocą których skonfigurujemy komputer do pełnienia funkcji bramki dla intranetu. Jednak, aby to zrealizować, dana maszyna, na której znajduje się zapora sieciowa, powinna posiadać dwa interfejsy. Przekazywanie portów można wykorzystać na potrzeby lokalnego systemu lub zdalnego komputera.
Do zarządzania mniej powszechnymi usługami oraz do indywidualnej konfiguracji służy zakładka Usługi. Możemy skorzystać z Porty, aby przydzielić porty do predefiniowanych lub ręcznie dodanych usług, posiadających inną niż standardowa konfigurację. Możemy też określić adresy portów źródłowych i docelowych, jednak dostęp do tych opcji mamy jedynie w ustawieniach trwałych. Docelowe adresy można wybrać dla IPv4 i IPv6.
Ostatnia zakładka, Zestawy adresów IP, jest wykorzystywana do definiowania zakresów oraz pojedynczych adresów IP blokowanych lub przepuszczanych przez zaporę. W tym celu możemy utworzyć dwie listy i odpowiednio przydzielać do nich adresy. Dodatkowo oprogramowanie przyjmuje numery portów i adresy MAC.
Żonglowanie strefami
Po instalacji Firewalld przydziela po jednej strefie do każdego interfejsu fizycznie istniejącego w systemie. Jednak statyczny podział stref jest bezużyteczny w systemach mobilnych, które często łączą się z Internetem w różnych, nieprzewidywalnych miejscach. Dlatego, w dowolnym momencie, możemy przydzielić różne strefy do każdego z interfejsów. Aby to zrobić, wybieramy Opcje | Zmień strefy połączeń… i ustawiamy nową strefę dla połączenia (Rysunek 4).
Rysunek 4: Dzięki różnym strefom możemy w dowolnym momencie, w zależności od sytuacji, zmienić poziom bezpieczeństwa zapory sieciowej.
Dodatkowo program umożliwia w dowolnym momencie zmianę domyślnej dla wszystkich interfejsów występujących w systemie strefy. Służy do tego pozycja w menu Opcje | Zmień domyślną strefę. Po jej wybraniu pojawi się okienko z listą stref. Klikamy na jedną z nich, następnie na OK i uwierzytelniamy się jako administrator, a program w locie zmieni domyślną strefę.
Tryb paniki i aplet
Po wybraniu z menu Opcje | Tryb paniki, Firewalld zablokuje wszystkie połączenia i zapora sieciowa nie przepuści żadnych przychodzących i wychodzących pakietów. Aplet, instalowany z pakietu firewall-applet, pozwoli nam kontrolować aplikację za pomocą kliknięcia myszki. Automatycznie umieszczany jest on w zasobniku systemowym: jest to ikona z czerwoną ścianą i pecetem. Jeśli zatrzymamy nad nią kursor, wyświetlany jest wykorzystywany interfejs sieciowy oraz domyślna i aktywna (jeśli jest inna niż domyślna) strefa. W przypadku połączeń wi-fi aplet wyświetla SSID (Rysunek 5).
Rysunek 5: Aplet Firewallda umożliwia szybki podgląd sytuacji.
Po kliknięciu na aplet możemy zmienić aktywną strefę. Wybieramy ją w okienku, które się pojawi, a cały proces nie wymaga restartu. Aby aplet wyświetlał dodatkowe informacje (na przykład zmianę strefy lub ustawienia zapory), w niektórych dystrybucjach należy zmienić plik konfiguracyjny /etc/firewall/aplet.conf. Wartości parametrów notifications oraz show-inactive należy ustawić na true.
W trybie paniki aplet wyświetla odpowiednią ikonę, dzięki czemu od razu widzimy, że zapora blokuje wszystkie pakiety.
Dziennik
W przeciwieństwie do konkurencji Firewalld praktycznie nie wspiera funkcji dziennika. Jedyną opcją jest analiza wsteczna pakietów. Możemy aktywować dziennik zapisujący wszystkie odrzucone pakiety. W tym celu wybieramy Opcje | Change Log Denied w opcjach konfiguracji i zaznaczamy pole all.
Fwbuilder
Firewall Builder (Fwbuilder) [5] to staruszek pośród narzędzi graficznych do zarządzania zaporą sieciową, mający za sobą ponad 10 lat ciągłego rozwoju. Z tego powodu oprogramowanie jest dobrze znane na rynku i można je znaleźć w repozytoriach prawie wszystkich większych dystrybucjach Linuksa. Fwbuilder zarządza systemami zapór na wielu platformach i dlatego doskonale nadaje się do wykorzystania w środowiskach niejednorodnych z zaporami Cisco, narzędziem Packet Filter (PF) BSD [17] oraz Iptables.
Pod Linuksem Fwbuilder konfiguruje Iptables z automatyczną weryfikacją reguł. Wspiera nawet IPv6. Instalacja dodaje program do menu danego środowiska. Przy pierwszym uruchomieniu pojawią się dwa okna: oprócz konfiguracji wywołane zostanie okienko szybkiego startu (Quick Start Guide), które przedstawi nowym administratorom sieci najważniejsze funkcje programu.
Na górze prostego okna konfiguracyjnego (Rysunek 6) znajduje się menu, a pod nim pasek z przyciskami, za pomocą których zrealizujemy szybkie uruchomienie najważniejszych funkcji aplikacji. Z lewej strony dostępna jest lista obiektów przedstawionych w formie drzewa. Z prawej dwa przyciski pozwalają stworzyć nowy lub zaimportować istniejący zestaw reguł. Trzeci przycisk wywołuje przeglądarkę internetową i otwiera przewodnik szybkiego uruchomienia (Quick Start Guide) [18] na stronie projektu.
Rysunek 6: Fwbuilder posiada intuicyjny interfejs.
Kreator
Kliknięcie na przycisk Create new firewall otwiera okno dialogowe, które umożliwia zdefiniowanie nowych reguł z pomocą kreatora. Kreator ten posiada szablony z przydatnymi ustawieniami dla domyślnych zapór. Implementacja dodatkowych reguł nie stwarza żadnych problemów.
Z lewej strony okna programu zgrupowane są zestawy reguł. Nazwane są obiektami i można je porządkować oraz rozszerzać do bibliotek. Interfejsy oraz usługi również są obiektami. Najpierw podajemy nazwę obiektu i określamy, jakiej zapory sieciowej (zwykle, w przypadku współczesnych dystrybucji Linuksa, Iptables) oraz jakiego systemu operacyjnego spodziewać się po stronie hosta. Ponieważ lista zapór sieciowych skorelowana jest z systemami operacyjnymi, oprogramowanie najczęściej prawidłowo i automatycznie wybiera system po wskazaniu zapory. W następnym kroku wybieramy, czy chcemy skorzystać ze zdefiniowanych już zestawów reguł.
Kliknięcie na Next przeniesie nas do kolejnego okna dialogowego. Jeśli chcemy ręcznie utworzyć obiekty, otrzymamy teraz informacje, jakie interfejsy sieciowe fizycznie dostępne są w systemie. Możemy je przeszukać poprzez SNMP, jeśli zainstalowany jest na hoście. Następnie definiujemy poszczególne interfejsy, wliczając w to tryb przydzielania adresów IP. Po kliknięciu na Finish oprogramowanie tworzy nową bibliotekę obiektów (Rysunek 7).
Rysunek 7: Graficzne przedstawienie reguł sprawia, że łatwiej jest zarządzać zaporą sieciową.
Okno programu jest teraz podzielone na trzy obszary, przy czym ten z prawej strony dzieli się na dwa panele: z zestawami reguł i z etapami przetwarzania. Możemy w nich zmienić poszczególne ustawienia dla interfejsów sieciowych. Zestaw reguł bazuje na składni Iptables. Możemy go rozszerzyć, klikając na zielonym plusie w lewym górnym rogu listy. Jak zwykle w przypadku Iptables nowe reguły wymagają, aby najpierw odrzucić wszystkie pakiety.
Możemy przeciągać poszczególne obiekty z obszaru z bibliotekami obiektów i umieszczać je wśród zestawów reguł. Fwbuilder automatycznie dostosuje wtedy daną regułę. Jeśli w bibliotece brakuje obiektów (na przykład kiedy użytkownik dodał nowe urządzenie do komputera), administrator może ją uzupełnić w późniejszym terminie.
Kiedy już powstanie gotowy zestaw reguł, należy go skompilować, aby składnia reguł odpowiadała danej zaporze sieciowej. Program wspiera szeroki wachlarz systemów, które mogą być zainstalowane na hoście: od Linuksa, przez pochodne BSD, po urządzenia Cisco i HP, wszystkie o różnej składni. Aby przejść dalej, klikamy na ikonie z młotkiem w prawym górnym rogu listy reguł. W ostatnim kroku skompilowana zapora jest transferowana do docelowego hosta, z wykorzystaniem SSH i SCP (Rysunek 8). Jednak jeśli Fwbuilder już działa w roli zapory w systemie hosta, możemy kliknąć na przycisk Compile and install this firewall.
Rysunek 8: Fwbuilder jest bardzo elastyczny, jeśli chodzi o wspierane systemy.
Możemy teraz porównać zmodyfikowane lub uzupełnione reguły, z oryginalnymi zestawami reguł, aby wykryć niespójności. Aby to zrobić, wybieramy Tools | Find Conflicting Objects in Two Files i podajemy pliki z zestawami reguł. Oprogramowanie automatycznie wykryje niespójne wpisy. Jest to szczególnie przydatna opcja w sytuacji występowania bardzo złożonych zestawów reguł i wzajemnych zależności mogących sprawić, że administrator nieświadomie wprowadzi błędną konfigurację obiektów podczas zmieniania reguł.
Gufw
Relatywnie nowy projekt o nazwie Gufw [6] to interfejs graficzny dla Uncomplicated Firewall (UFW) [19], domyślnej zapory w Ubuntu i jego pochodnych. Gufw i UFW są dostępne w większości głównych dystrybucji Linuksa i znaleźć je można w ich repozytoriach. Podobnie jak Fwbuilder, opisywany tutaj duet wspiera IPv4 i IPv6, a także wymaga, aby w systemie obecne były Netfilter oraz Iptables. W przeciwieństwie jednak do Fwbuildera, Gufw nie działa wieloplatformowo, chociaż samo GUI może być wykorzystane do zarządzania instancjami UFW na zdalnych komputerach.
Prostota
Okno programu jest proste i nie wymaga tłumaczeń (Rysunek 9). Zapora sieciowa jest włączana i wyłączana za pomocą suwaka, a aplikacja, podobnie jak Firewalld, opiera się na profilach zawierających różne zestawy reguł. Jest to szczególnie przydatne dla użytkowników laptopów, ponieważ wczytywane są różne profile, w zależności od rodzaju dostępu do Internetu.
Rysunek 9: Interfejs aplikacji Gufw.
W oknie programu, w poszczególnych zakładkach znajdują się dodatkowe funkcje: zakładka Reguły wymienia aktywne reguły, Raport nasłuchiwania podaje szczegóły na temat przesyłu danych, a Dziennik to dziennik zapory sieciowej, który w formie tabeli ukazuje historię jej wykorzystania.
Modyfikacja
Istniejące profile możemy zmieniać lub uzupełniać nowymi. Aby to zrobić, wybieramy Edycja | Preferencje. Pojawi się okno dialogowe, z pomocą którego utworzymy nowy profil i zmodyfikujemy odpowiadającą mu funkcję definiującą zakres zbieranej historii (Rysunek 10). Reguły dla poszczególnych profili określamy w zakładce Reguły, w głównym oknie programu.
Rysunek 10: Potrzeba jedynie kilku kroków, aby stworzyć profil w Gufw.
Nową regułę dodajemy, klikając na znak plusa w lewym dolnym rogu. Pojawi się okno, w którym znajduje się filtr aplikacji. Zdefiniowane są w nim przydatne ustawienia, w szczególności dla niektórych gier, które do działania wymagają odblokowania konkretnych portów. Informacje te są już dostępne w zaporze, więc możemy natychmiast wprowadzić w życie odpowiednie reguły.
Polecamy jednak, aby tworzyć własne profile dla aplikacji. Kiedy w domyślnym profilu występuje wiele reguł, jest to zagrożeniem dla bezpieczeństwa, ponieważ zapora sieciowa pozostawia przez cały czas otwarte porty dla przychodzących i wychodzących pakietów, nawet w przypadku rutynowych zadań.
Zmiany reguł również nie sprawiają problemów. Wybieramy regułę i klikamy na ikonie koła zębatego. W nowym oknie, z pomocą kilku pół, dostosowujemy wszystkie opcje. Po zakończeniu aktywujemy ustawienia za pomocą przycisku Dodaj i zamykamy okno.
Dane historyczne
W zakładce Dziennik Gufw wyświetla dziennik działania zapory. Można go zapisać, jeśli chcemy zachować te informacje lub potrzebujemy ich do testów. Klikając, kiedy zakładka Dziennik jest aktywna, na umieszczony na dole przycisk Kopiuj dziennik do schowka, kopiujemy historię do schowka. Teraz wystarczy wkleić ją do edytora i zapisać do pliku. Sąsiedni przycisk umożliwia kasowane wpisów w dzienniku.
Shorewall
Shorewall [7] również opiera się na Netfilterze i Iptables. Ten graficzny interfejs do filtrowania pakietów napisany został w Perlu. Program odnaleźć można w większości dużych dystrybucji Linuksa. Doskonale działa zarówno na pojedynczym hoście, jak i w systemach serwerowych, które mogą pełnić funkcję bramek, z dwoma połączeniami sieciowymi lub ze strefą zdemilitaryzowaną i trzema interfejsami sieciowymi. W Shorewallu rolę GUI odgrywa Webmin [20] lub, w przypadku pochodnych Mandrivy – Drakfirewall [21]. Aplikację skonfigurujemy w zaledwie kilku krokach (Rysunek 11).
Rysunek 11: W dystrybucjach opartych na Mandrivie Shorewall może być skonfigurowany za pomocą kilku kliknięć myszką.
W przypadku Webmina konfiguracja zawiera dużo większą ilości opcji obejmujących też administrację systemem, a nie tylko zaporę sieciową. Po zainstalowaniu wywołujemy Webmina, wpisując w przeglądarce adres 127.0.0.0.1:10000. Możliwe jest też określenie konkretnego adresu IP lub nazwy hosta w sieci lokalnej.
Po zalogowaniu widzimy okno konfiguracji. Z lewej dostępna jest lista. Po wybraniu pozycji Networking | Shoreline Firewall zobaczymy w obszarze z prawej strony opcje konfiguracji (Rysunek 12).
Rysunek 12: Webmin zawiera wiele opcji konfiguracyjnych Shorewalla.
Grupy konfiguracyjne
Najważniejsze opcje dla istniejącej struktury sieci możemy znaleźć w grupach konfiguracyjnych Network Zones i Network Interfaces. Oprócz nich są dostępne ustawienia w Default Policies, Firewall Rules i Blacklist Hosts. Opcje dotyczące ustalania trasowania znajdują się w Routing Rules, Additional Routing Providers, Masquerading i Static NAT.
We wszystkich grupach konfiguracyjnych znajdziemy jasno sprecyzowane ustawienia, zgrupowane w formie tabeli. Pod sekcją odpowiedzialną za wybór grupy możemy włączyć, za pomocą pojedynczego kliknięcia, różnego rodzaju opcje zarządzania. Po wybraniu Apply Configuration zapora jest restartowana w celu wprowadzenia nowych ustawień.
Przycisk Refresh Configuration aktualizuje listę zablokowanych adresów oraz tablice odpowiedzialne za przesył, dzięki czemu mamy pewność zachowania priorytetowości wybranych pakietów. Jeśli chcielibyśmy zresetować ustawienia zapory sieciowej, klikamy na Clear Firewall. Kliknięcie na Stop Firewall blokuje dostęp wszystkim hostom, z wyjątkiem wcześniej zdefiniowanych. Z kolei przycisk Show Status informuje o aktualnym stanie oprogramowania.
Check Firewall umożliwia weryfikację reguł. Wiele skomplikowanych reguł, opartych na Iptables, zawiera błędy wynikające ze swojej złożoności. W ten sposób można je wykryć i naprawić, zanim zostaną wykorzystane przez atakujących nasz system.
Dziennik
Shorewall tworzy dziennik, zachowując dane na temat przesyłów w katalogu /var/log/. Pliki dziennika możemy też odczytać za pomocą opcji View Module’s Logs w Webminie (Rysunek 13).
Rysunek 13: Pliki dziennika Shorewalla są bardzo pomocne.
Wnioski
Wszystkie opisywane tutaj interfejsy graficzne dla zapór sieciowych sprawdzą się przy zabezpieczaniu infrastruktury IT. Jednak poszczególne narzędzia skupiają się na różnych grupach docelowych i scenariuszach działania: Gufw wyróżnia się tym, że skierowany jest do systemów domowych. PeerGuardian nie jest klasyczną zaporą sieciową, a jego działanie ogranicza się do blokowania adresów IP. Nie mamy możliwości implementacji skomplikowanych reguł, ale jest to przydatny dodatek do zapory.
Fwbuilder, Firewalld oraz Shorewall skierowane są do systemów serwerowych i z tego powodu posiadają więcej opcji. Fwbuilder odnajduje się również w środowiskach niejednorodnych, z różnymi systemami operacyjnymi, a nawet dedykowanymi urządzeniami. Oprogramowanie to potrafi skompilować plik konfiguracyjny, opierając się na składni zapory sieciowej. Z drugiej strony Shorewall może zostać skonfigurowany z wykorzystaniem Webmina, dzięki czemu możliwe jest zdalne nim zarządzanie.
Jak widać, możliwości jest wiele (Tabela 1 zawiera zestawienie opcji). Ostatecznie jednak nasz wybór jest uzależniony od posiadanej dystrybucji i wymogów bezpieczeństwa.
Tabela 1: Przegląd intefejsów graficznych dla zapór sieciowych
Info
[1] Netfilter: http://www.netfilter.org
[2] Nftables: https://netfilter.org/projects/nftables/
[3] Iptables: https://netfilter.org/projects/iptables/
[4] Firewalld: http://www.firewalld.org
[5] Fwbuilder: http://www.fwbuilder.org
[6] Gufw: http://gufw.org
[7] Shorewall: http://shorewall.org
[8] PeerGuardian: https://sf.net/projects/peerguardian/
[9] Listy blokowanych adresów dla PeerGuardiana: https://www.iblocklist.com/lists
[10] FireStarter: https://sf.net/projects/firestarter/
[11] Turtle Firewall: http://turtlefirewall.sourceforge.net
[12] FireFlier: http://fireflier.sf.net
13] Vuurmuur: https://www.vuurmuur.org/trac/
[14] IPFire: http://www.ipfire.org
[15] Untangle NG Firewall: https://www.untangle.com/untangle-ng-firewall/
[16] Alpine Linux: https://alpinelinux.org
[17] BSD PF: http://www.openbsd.org/faq/pf/
[18] Przewodnik szybkiego uruchomienia: http://www.fwbuilder.org/4.0/quick_start_guide.shtml
[19] UFW: https://wiki.ubuntu.com/UncomplicatedFirewall
[20] Webmin: http://www.webmin.com
[21] Drakfirewall: https://doc.mageia.org/mcc/5/en/content/drakfirewall.html