Iptables vs UFW: Który firewall wybierze Twój serwer?




W świecie cyberbezpieczeństwa, gdzie zagrożenia online są coraz bardziej zaawansowane, ochrona serwerów przed nieautoryzowanym dostępem to absolutna konieczność. Jednym z kluczowych narzędzi w arsenale administratora są firewalle – systemy filtrujące ruch sieciowy i zapewniające, że tylko upoważnione połączenia osiągną cel. Firewalle służą jako pierwsza linia obrony, monitorując i kontrolując dane przesyłane do i z sieci. Ich rola jest kluczowa w ochronie przed atakami typu DDoS, próbami włamania czy nieautoryzowanym dostępem do zasobów. Jednak wybór odpowiedniego firewalla może być wyzwaniem, szczególnie dla osób rozpoczynających przygodę z administracją serwerów.

Bezpłatne szkolenie "Wykrywanie awarii i hakerów w sieci"!

Nie przegap okazji, by wzmocnić swoje umiejętności w ochronie systemów!
Termin: 17 stycznia 2024 r. o 13:00
Zapisz się już teraz i dowiedz się, jak wyprzedzać zagrożenia!

Zapisy na: https://asdevops.pl/warsztaty/

 

 

 


Czym są Iptables i UFW?

Wybór odpowiedniego narzędzia do zarządzania zaporą sieciową zależy od poziomu zaawansowania użytkownika oraz potrzeb projektu. W świecie Linuksa dwa najpopularniejsze rozwiązania to Iptables i UFW. Pierwsze z nich oferuje zaawansowane możliwości konfiguracji dla doświadczonych administratorów, podczas gdy drugie zostało stworzone z myślą o prostocie i użytkownikach początkujących. Poniżej przedstawiamy charakterystykę obu narzędzi, które mogą pomóc w podjęciu właściwej decyzji.

Iptables

Iptables to narzędzie niskopoziomowe, które służy do zarządzania regułami filtrowania ruchu sieciowego na poziomie jądra Linuksa. Działa jako interfejs dla podsystemu Netfilter, umożliwiając tworzenie precyzyjnych reguł kontrolujących ruch przychodzący, wychodzący i przechodzący przez serwer. Ze względu na swoją elastyczność i zaawansowane możliwości, Iptables jest narzędziem wybieranym przez doświadczonych administratorów, ale jego konfiguracja wymaga dogłębnej znajomości działania protokołów sieciowych i systemu Linux.

UFW (Uncomplicated Firewall)

UFW został zaprojektowany, aby uprościć proces konfiguracji reguł zapory sieciowej, opierając się na mechanizmach Iptables. Jest to narzędzie dedykowane przede wszystkim użytkownikom początkującym, którzy potrzebują skutecznej ochrony bez konieczności zagłębiania się w techniczne szczegóły. Dzięki intuicyjnym komendom i domyślnym ustawieniom, UFW pozwala na szybkie uruchomienie podstawowych reguł firewalla, co czyni go idealnym wyborem dla mniejszych serwerów lub środowisk testowych.

Poniższe porównanie uwzględnia kluczowe aspekty, takie jak złożoność konfiguracji, elastyczność oraz potencjalne zastosowania, aby ułatwić podjęcie decyzji dotyczącej tego, które narzędzie wybrać.

Złożoność konfiguracji

  • Iptables: Narzędzie dedykowane zaawansowanym użytkownikom, wymaga dogłębnej wiedzy o regułach sieciowych oraz znajomości interfejsu wiersza poleceń. Jego konfiguracja pozwala na precyzyjną kontrolę, ale może być czasochłonna.
  • UFW: Prostszy i bardziej intuicyjny interfejs, idealny dla początkujących administratorów. Domyślne ustawienia i przejrzyste komendy pozwalają na szybkie zabezpieczenie serwera bez konieczności nauki skomplikowanych struktur.

Elastyczność

  • Iptables: Oferuje większe możliwości dostosowania, co czyni go lepszym wyborem w przypadku zaawansowanych scenariuszy, takich jak obsługa złożonych reguł czy niestandardowych protokołów.
  • UFW: Choć mniej elastyczny, zapewnia wystarczające funkcjonalności dla standardowych zastosowań, takich jak blokowanie portów czy zezwalanie na ruch.

Zastosowania

  • Kiedy Iptables: Idealne dla serwerów produkcyjnych, gdzie wymagana jest zaawansowana kontrola ruchu sieciowego oraz niestandardowe konfiguracje. Nadaje się do dużych projektów wymagających wysokiej niezawodności.
  • Kiedy UFW: Polecany dla mniejszych projektów lub środowisk testowych, gdzie prostota i szybkość konfiguracji są priorytetem.




Praktyczne przykłady w Iptables

Pomimo że będę zalogowany na użytkowniku root to jednak wszędzie i tak wpisuję komendę sudo dla utrwalenia iż takie coś istnieje a na użytkowniku root najlepiej pracować jak najrzadziej i tylko wtedy gdy jest to naprawdę konieczne.

Iptables – podstawowe polecenia:

Wyświetlenie reguł zapory aby zobaczyć wszystkie reguły filtrowania ruchu sieciowego:


Aby uzyskać więcej szczegółów, takich jak liczba przesyłanych pakietów i numery linii:


Dodanie reguły:
Dodanie reguły zezwalającej na połączenia przychodzące na porcie 22 dla protokołu TCP.

-A: Opcja „append”, dodaje nową regułę na końcu łańcucha, w tym przypadku do łańcucha INPUT.

INPUT: Łańcuch przetwarzający pakiety przychodzące do lokalnej maszyny.

-p tcp: Określa protokół, na który ma wpływać reguła; w tym przypadku jest to TCP (Transmission Control Protocol).

–dport 22: Definiuje port docelowy, na który reguła ma wpływ; port 22 jest standardowym portem dla SSH.

-j ACCEPT: Opcja „jump”, która wykonuje akcję akceptacji pakietów spełniających powyższe kryteria.

Sprawdzamy czy powyższa reguła została poprawnie dodana:

Zapisywanie konfiguracji: Zapis aktualnych reguł do pliku konfiguracyjnego.

Aby reguły były trwałe po restarcie systemu należy zapisać ją do pliku konfiguracyjnego::

Można również sprawdzić zawartość pliku konfiguracyjnego, aby upewnić się, że reguła została zapisana:

Poniższe polecenia pozwolą na efektywne zarządzanie regułami zapory w systemie RHEL (Red Hat Enterprise Linux).

Instalacja iptables-services:

sudo dnf install iptables-services

Instaluje pakiet iptables-services, który umożliwia automatyczne ładowanie reguł iptables po restarcie systemu.

Zapis bieżących reguł:

sudo service iptables save

Zapisuje bieżące reguły iptables do plików konfiguracyjnych, co pozwala na ich trwałe przechowywanie.

Przeładowanie reguł:

sudo service iptables restart

Przeładowuje reguły zapory z plików konfiguracyjnych, stosując wszelkie zmiany bez restartu systemu.

Usuwanie reguły:

Aby usunąć konkretną regułę z listy:

sudo iptables -D INPUT <numer_reguly>

Aby sprawdzić, jaki numer ma konkretna reguła w iptables, można użyć opcji –line-numbers podczas wyświetlania reguł.

Jak widać reguła została poprawnie usunięta.

Blokowanie konkretnego adresu IP:


Zezwolenie na ruch z konkretnego adresu IP:

Od razu sprawdziliśmy czy regułą blokująca konkretny adres IP została poprawnie dodana.

Ograniczenie liczby połączeń z jednego adresu:

Wyczyszczenie wszystkich reguł:

Na koniec pozostaje pokazanie jak wyczyścić wszystkie zaimplementowane reguły.




Wybór odpowiedniego narzędzia pomiędzy Iptables a UFW zależy od poziomu wiedzy użytkownika oraz specyfiki projektu. Dla początkujących użytkowników lub mniej skomplikowanych zastosowań UFW jest idealnym rozwiązaniem, natomiast Iptables pozostaje bezkonkurencyjne w bardziej zaawansowanych scenariuszach wymagających precyzyjnej kontroli ruchu sieciowego. Zachęcamy do praktycznego wypróbowania obu narzędzi, aby lepiej zrozumieć ich możliwości i ograniczenia. Warto również wykorzystać dostępne zasoby, takie jak dokumentacja czy tutoriale, aby zoptymalizować konfigurację firewalla pod kątem własnych potrzeb.

 

Bezpłatne szkolenie "Wykrywanie awarii i hakerów w sieci"!

Nie przegap okazji, by wzmocnić swoje umiejętności w ochronie systemów!
Termin: 17 stycznia 2024 r. o 13:00
Zapisz się już teraz i dowiedz się, jak wyprzedzać zagrożenia!

Zapisy na: https://asdevops.pl/warsztaty/

 

 

 

 

Bezpłatny webinar "Wykrywanie awarii i hakerów w sieci"!

X