Konfiguracja firewalla Linux (UFW/IPTables) – kompleksowy przewodnik
Bezpieczeństwo systemu operacyjnego to nie tylko silne hasła i aktualne oprogramowanie. Kluczowym elementem ochrony przed atakami z sieci jest konfiguracja firewalla Linux (UFW/IPTables) – czyli zapory sieciowej kontrolującej, które połączenia sieciowe są dozwolone, a które blokowane.
Linux oferuje kilka sposobów na kontrolę ruchu sieciowego. Najpopularniejsze to:
- UFW (Uncomplicated Firewall) – prosty interfejs dla iptables, idealny dla początkujących i administratorów, którzy chcą szybkiej konfiguracji.
- iptables – potężne narzędzie do filtrowania pakietów, dające pełną kontrolę nad ruchem sieciowym.
W tym artykule poznasz oba narzędzia – ich możliwości, konfigurację i praktyczne zastosowanie.
1. Dlaczego warto skonfigurować firewall w Linuxie?
System bez firewalla jest jak dom bez drzwi. Nawet jeśli usługi są zablokowane, brak kontroli nad połączeniami zwiększa ryzyko:
- nieautoryzowanych prób połączeń (np. brute-force)
- ataków typu DDoS
- skanowania portów i wykrywania usług
- niechcianych połączeń wychodzących (np. malware)
Firewall pozwala precyzyjnie określić, kto i z jakiego adresu może się łączyć z naszym systemem.

2. Czym różni się UFW od iptables?
| Cecha | UFW | iptables |
|---|---|---|
| Poziom trudności | Łatwy | Zaawansowany |
| Przeznaczenie | Szybka konfiguracja | Pełna kontrola |
| Format reguł | Prosty, intuicyjny | Wymaga znajomości składni |
| Obsługa IPv6 | Tak | Tak |
| Obsługa logów | Tak | Tak, ale wymaga konfiguracji |
3. Instalacja i uruchomienie UFW
Instalacja (jeśli nie jest domyślnie dostępna):
sudo apt update
sudo apt install ufw
Podstawowe komendy:
sudo ufw enable # włącza firewall
sudo ufw disable # wyłącza firewall
sudo ufw status # pokazuje aktywne reguły
4. Konfiguracja UFW – przykłady
Zezwalanie na ruch:
sudo ufw allow 22 # SSH
sudo ufw allow 80 # HTTP
sudo ufw allow 443 # HTTPS
Blokowanie portu:
sudo ufw deny 21 # FTP
Zezwalanie z konkretnego adresu IP:
sudo ufw allow from 192.168.1.10 to any port 22
Ograniczenie – np. do ochrony przed brute-force:
sudo ufw limit ssh
Reguły dla aplikacji:
UFW potrafi wykrywać znane usługi:
sudo ufw app list
sudo ufw allow 'OpenSSH'
5. Zaawansowana konfiguracja UFW
Usuwanie reguły:
sudo ufw status numbered
sudo ufw delete 2
Włączenie logowania:
sudo ufw logging on
Obsługa IPv6:
W pliku /etc/default/ufw ustaw:
IPV6=yes
6. IPTables – pełna kontrola nad ruchem sieciowym
iptables to zaawansowane narzędzie używane przez system do filtrowania pakietów.
Podstawowa składnia:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT– dodaj do łańcucha INPUT-p tcp– protokół TCP--dport 22– port 22 (SSH)-j ACCEPT– akcja: akceptuj
7. Przykładowe reguły IPTables
Zezwolenie na połączenia z lokalnego hosta:
sudo iptables -A INPUT -i lo -j ACCEPT
Zezwolenie na połączenia ustanowione:
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Odrzucenie całego ruchu:
sudo iptables -P INPUT DROP
Zezwolenie tylko na SSH i HTTP:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
8. Zapisywanie reguł iptables
W zależności od dystrybucji:
- Ubuntu/Debian:
sudo apt install iptables-persistent
sudo netfilter-persistent save
- RHEL/CentOS:
sudo service iptables save
9. Sprawdzanie aktualnych reguł
sudo iptables -L -n -v
10. Blokowanie adresu IP
sudo iptables -A INPUT -s 123.45.67.89 -j DROP
11. Tworzenie zapory „od zera” – schemat
- Zezwól na lokalne połączenia (
lo) - Zezwól na połączenia ustanowione
- Odrzuć wszystko inne (
DROP) - Dodaj wyjątki dla portów (SSH, HTTP, HTTPS itp.)
12. Automatyzacja i narzędzia GUI
Dla tych, którzy wolą GUI:
- GUFW – graficzna nakładka na UFW
- Firewalld – alternatywa do iptables, popularna w Red Hat/CentOS
Instalacja GUFW:
sudo apt install gufw
13. Różnice między UFW, iptables a firewalld
| Narzędzie | Najlepsze dla | Tryb działania |
|---|---|---|
| UFW | Początkujący | Interfejs do iptables |
| iptables | Zaawansowani admini | Bezpośrednie reguły |
| firewalld | Dystrybucje RPM | Dynamiczne strefy |
14. Diagnostyka firewalla
sudo ufw status verbosesudo iptables -L -n -vsudo dmesg | grep -i ufwjournalctl -xe | grep ufw
15. Backup i przywracanie reguł
UFW:
sudo cp /etc/ufw/user.rules backup.rules
IPTables:
sudo iptables-save > /root/firewall-backup.rules
sudo iptables-restore < /root/firewall-backup.rules
16. Skrypty startowe dla iptables
Utwórz plik /etc/network/if-pre-up.d/iptables:
#!/bin/sh
iptables-restore < /etc/iptables/rules.v4
Nadaj uprawnienia:
sudo chmod +x /etc/network/if-pre-up.d/iptables
17. Podsumowanie
Konfiguracja firewalla Linux (UFW/IPTables) to fundament bezpieczeństwa każdego systemu opartego na Linuksie. UFW jest doskonałym wyborem dla początkujących i tych, którzy potrzebują szybko wdrożyć podstawową ochronę. Z kolei iptables daje ogromne możliwości dla zaawansowanych użytkowników i administratorów sieci.
Niezależnie od narzędzia, które wybierzesz, pamiętaj o:
- zezwalaniu tylko na niezbędne porty
- monitorowaniu połączeń
- aktualizacji reguł w miarę zmieniających się potrzeb
- tworzeniu backupu konfiguracji
Firewall nie jest jedynym środkiem ochrony, ale jego brak może szybko doprowadzić do poważnego naruszenia bezpieczeństwa.






