Konfiguracja zapory sieciowej ufw
, iptables
1. UFW: Uncomplicated Firewall
Po co nam zapora sieciowa?
Wyobraź sobie, że twój serwer to dom pełen wartościowych rzeczy (oczywiście danych). Jeśli zostawisz drzwi otwarte na oścież, każdy może wejść, podebrać twoje dane, a potem zostawić bałagan (albo gorzej). Zapora sieciowa to te drzwi, które możesz kontrolować: komu można wejść, przez jakie wejście i pod jakimi warunkami.
Linux oferuje dwa podstawowe narzędzia do konfiguracji zapory: ufw (Uncomplicated Firewall, czyli "nieskomplikowana zapora sieciowa") i iptables. Zobaczmy, jak działają i czym się różnią.
Co to jest UFW?
UFW to narzędzie do konfiguracji zapory sieciowej, stworzone z myślą o "prostej konfiguracji". Idealnie nadaje się dla tych, którzy chcą szybko skonfigurować podstawowe reguły dostępu, bez wchodzenia w złożone szczegóły.
Instalacja i włączanie UFW
UFW zazwyczaj jest preinstalowane w większości dystrybucji opartych na Debian/Ubuntu. Jeśli go brakuje, zainstaluj go:
sudo apt update
sudo apt install ufw
Włącz UFW:
sudo ufw enable
Sprawdź status:
sudo ufw status
Przy pierwszym uruchomieniu status najprawdopodobniej będzie "inactive". Po włączeniu zmieni się na "active".
Konfiguracja reguł UFW
Teraz najlepsza część — konfiguracja reguł, które określają, jaki ruch przepuszczać, a jaki blokować.
Zezwól na dostęp przez SSH (port 22):
sudo ufw allow 22
Otwórz dostęp do serwera WWW (port 80):
sudo ufw allow 80
Otwórz HTTPS (port 443):
sudo ufw allow 443
Zamknij dostęp do niepotrzebnego portu (np. 8080):
sudo ufw deny 8080
Usuń regułę:
Jeśli nagle zmienisz zdanie, usuń regułę po numerze podanym przez komendę sudo ufw status numbered
. Na przykład:
sudo ufw delete 1
Sprawdzanie i testowanie
Aby upewnić się, że wszystko działa jak należy, można jeszcze raz sprawdzić status:
sudo ufw status
Zobaczysz listę wszystkich aktywnych reguł.
2. IPTABLES: więcej kontroli, więcej możliwości
Co to jest iptables?
Jeśli UFW to "proste drzwi z zamkiem", to iptables to "inteligentny strażnik", który pozwala skonfigurować dosłownie wszystko. Daje pełną kontrolę nad ruchem, w tym routing, filtrowanie według różnych kryteriów, a nawet możliwość modyfikacji pakietów.
Główne pojęcia iptables
- Tabele — to zestawy funkcji do przetwarzania pakietów sieciowych.
filter
: przetwarzanie i filtrowanie pakietów (np. pozwolić lub zablokować).nat
: translacja adresów/portów (dla routerów, na przykład).
- Łańcuchy — to reguły stosowane do pakietów.
INPUT
: dla ruchu przychodzącego.OUTPUT
: dla ruchu wychodzącego.FORWARD
: dla ruchu przekazywanego.
- Cele (targets) — to działania wykonywane na pakiecie.
ACCEPT
: pozwolić na pakiet.DROP
: odrzucić pakiet.REJECT
: odrzucić pakiet, wysyłając powiadomienie.
Rzućmy okiem, jak skonfigurować reguły iptables.
Podgląd aktualnych reguł
Aby zobaczyć, jakie reguły są już skonfigurowane, wykonaj:
sudo iptables -L
Dodatkowo można dodać -v
lub -n
dla szczegółowych informacji o pakietach i adresach IP.
Tworzenie reguł z iptables
Prosta reguła: pozwolić na SSH (port 22):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Zablokować dostęp do portu 8080:
sudo iptables -A INPUT -p tcp --dport 8080 -j DROP
Ograniczenie dostępu według adresu IP:
Jeśli chcesz, żeby komputer z konkretnym IP mógł łączyć się z twoim serwerem, a reszta nie:
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
Usuwanie reguł
Aby usunąć regułę, musisz znać jej numer. Znajdź go za pomocą:
sudo iptables -L --line-numbers
A potem usuń:
sudo iptables -D INPUT <numer_reguły>
Zapisywanie reguł
Reguły iptables standardowo "zapominają się" po restarcie systemu. Aby tego uniknąć, zapisz je:
sudo iptables-save > /etc/iptables/rules.v4
Następnie reguły można przywrócić w ten sposób:
sudo iptables-restore < /etc/iptables/rules.v4
3. UFW kontra IPTABLES: co wybrać?
UFW i iptables robią to samo — chronią twój serwer. Więc które narzędzie wybrać?
- UFW — to proste narzędzie do podstawowej konfiguracji bezpieczeństwa. Jeśli nie chcesz zagłębiać się w niskopoziomowe szczegóły albo po prostu chcesz szybko skonfigurować firewall, wybierz UFW.
- Iptables — to potężne narzędzie do bardziej zaawansowanej konfiguracji. Jeśli masz skomplikowaną infrastrukturę (na przykład NAT, routing), będziesz potrzebować iptables.
Tak przy okazji, UFW w rzeczywistości działa "na bazie" iptables. Po prostu generuje dla ciebie reguły iptables. Więc jeśli opanujesz iptables, automatycznie rozumiesz wewnętrzne działanie UFW.
4. Praktyczne przykłady: ochrona serwera
Przykład 1: ochrona SSH i serwera WWW za pomocą UFW
- Upewnij się, że UFW jest zainstalowany i aktywowany:
sudo ufw enable
- Zezwól na dostęp do SSH i serwera WWW:
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
- Sprawdź aktywne reguły:
sudo ufw status
Przykład 2: blokowanie niepotrzebnego ruchu za pomocą iptables
- Zezwól na dostęp do SSH:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- Zezwól na ruch sieciowy WWW:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- Zablokuj wszystko inne:
sudo iptables -A INPUT -j DROP
Dziś dowiedziałeś się, jak chronić serwer za pomocą UFW i iptables. Oba narzędzia są potężne i przydatne, po prostu pamiętaj, że UFW to twój "przyjaciel na co dzień", a iptables to "potężne narzędzie w rękach mistrza". Konfiguruj firewalla, badaj swoje ustawienia i niech twój serwer pozostanie twierdzą, a nie przechodnią!
GO TO FULL VERSION