Miklix

Jak skonfigurować zaporę sieciową na serwerze Ubuntu

Opublikowano: 15 lutego 2025 21:34:11 UTC
Ostatnia aktualizacja: 12 stycznia 2026 08:37:20 UTC

W tym artykule wyjaśniono i podano kilka przykładów, jak skonfigurować zaporę sieciową w systemie GNU/Linux przy użyciu ufw. Jest to skrót od Uncomplicated FireWall (Unkomplicated FireWall). Nazwa jest trafna, to naprawdę bardzo prosty sposób na upewnienie się, że nie masz otwartych większej liczby portów, niż to konieczne.


Ta strona została przetłumaczona maszynowo z języka angielskiego, aby była dostępna dla jak największej liczby osób. Niestety, tłumaczenie maszynowe nie jest jeszcze dopracowaną technologią, więc mogą wystąpić błędy. Jeśli wolisz, możesz wyświetlić oryginalną angielską wersję tutaj:

How to Set Up a Firewall on Ubuntu Server

Informacje w tym poście dotyczą Ubuntu Server 14.04 x64. Mogą, ale nie muszą, być aktualne dla innych wersji. (Aktualizacja: Mogę potwierdzić, że informacje w tym poście są zasadniczo nadal aktualne i funkcjonalne w Ubuntu Server 24.04, jednak w ciągu ostatnich 10 lat UFW stał się nieco „inteligentniejszy” dzięki dodaniu profili dla typowych aplikacji serwerowych (na przykład można włączyć opcję „Nginx full” zamiast portów 80 i 443 osobno), a wyłączanie/włączanie całej zapory w celu zastosowania nowych reguł nie jest już konieczne).

Kiedy zaczynałem pracę z serwerami GNU/Linux (Ubuntu), konfiguracja zapory sieciowej wymagała ręcznego tworzenia i utrzymywania potencjalnie skomplikowanego pliku konfiguracyjnego dla iptables. Jednak niedawno odkryłem ufw, co jest skrótem od Uncomplicated Firewall (Uniwersalna Zapora Sieciowa) – i rzeczywiście tak jest :-)

W mojej instalacji Ubuntu Server 14.04 ufw jest już zainstalowany, ale jeśli nie, wystarczy zainstalować go z repozytoriów:

sudo apt-get install ufw

UFW to w rzeczywistości narzędzie upraszczające konfigurację iptables – w rzeczywistości to iptables i zapora sieciowa jądra Linuxa filtrują, więc ufw nie jest ani mniej, ani bardziej bezpieczny niż one. Jednak ponieważ ufw znacznie ułatwia poprawną konfigurację zapory sieciowej, może zmniejszyć ryzyko błędu ludzkiego i dlatego jest potencjalnie bezpieczniejszy dla niedoświadczonych administratorów.

Jeśli Twój serwer jest skonfigurowany zarówno z IPv6, jak i IPv4, upewnij się, że jest on również włączony dla UFW. Edytuj plik /etc/default/ufw i poszukaj wiersza z informacją IPV6=yes. W mojej instalacji już tam był, ale jeśli go nie ma lub wyświetla się komunikat „no”, powinieneś go edytować.

Następnie wystarczy użyć wiersza poleceń, aby włączyć porty, które chcesz otworzyć. Jeśli łączysz się z serwerem przez SSH, upewnij się, że zezwalasz również na to połączenie, w przeciwnym razie może ono zostać przerwane i zablokowane po aktywacji – w zależności od tego, czy masz fizyczny dostęp do serwera, czy nie, może to być dość uciążliwe ;-)

Na przykład, jeśli używasz protokołu SSH na standardowym porcie 22 i konfigurujesz serwer WWW, który obsługuje zarówno połączenia nieszyfrowane (HTTP na porcie 80), jak i szyfrowane (HTTPS na porcie 443), musisz wydać następujące polecenia, aby skonfigurować ufw:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Jeśli potrzebujesz więcej reguł, po prostu dodaj je jak powyżej.

Jeśli masz statyczny adres IP i chcesz móc łączyć się przez SSH tylko z jednej lokalizacji, możesz także ograniczyć połączenia SSH do jednego adresu źródłowego w następujący sposób:

sudo ufw allow from 192.168.0.1 to any port 22

Oczywiście, zamiast tego wpisz swój adres IP.

Po zakończeniu włącz ufw, wpisując:

sudo ufw enable

I gotowe! Zapora działa i uruchomi się automatycznie po ponownym uruchomieniu serwera :-)

Jeśli wprowadzisz zmiany w konfiguracji ufw, może zaistnieć konieczność jej wyłączenia i ponownego włączenia, aby zmiany zaczęły obowiązywać, w następujący sposób:

sudo ufw disable
sudo ufw enable

Aby zobaczyć aktualną konfigurację, wystarczy wpisać:

sudo ufw status

Jeśli ufw nie jest włączony, zostanie wyświetlony jedynie komunikat „nieaktywne”, w przeciwnym razie wyświetlone zostaną aktualnie zdefiniowane reguły.

Udostępnij na BlueskyUdostępnij na FacebookuUdostępnij na LinkedInUdostępnij na TumblrUdostępnij na XUdostępnij na LinkedInPrzypnij na Pintereście

Mikkel Christensen

O autorze

Mikkel Christensen
Mikkel jest twórcą i właścicielem miklix.com. Ma ponad 20-letnie doświadczenie jako profesjonalny programista komputerowy / programista oprogramowania i jest obecnie zatrudniony na pełny etat w dużej europejskiej korporacji IT. Kiedy nie bloguje, poświęca swój wolny czas na szeroki wachlarz zainteresowań, hobby i aktywności, co może w pewnym stopniu znaleźć odzwierciedlenie w różnorodności tematów poruszanych na tej stronie.