Zamknij menu
    Nowe
    Koncepcja protokołu sieci prywatnej wirtualnej (VPN) Ręka człowieka używająca tabletu cyfrowego z ikoną vpn na ekranie VR

    Jak skonfigurować zaporę sieciową UFW w Ubuntu – reguły, porty i zabezpieczenia

    2026-02-19

    apt-get update – aktualizacja list pakietów w systemach opartych na Debianie

    2026-02-13

    Grep – Jak efektywnie korzystać z polecenia w systemach uniksopodobnych?

    2026-02-12
    Facebook X (Twitter) Instagram
    Linuksowo
    • Główna
    • Dystrybucje
    • Tematy
      • Administracja
      • Bezpieczeństwo
      • Instalacja
      • Oprogramowanie
      • Podstawy
      • Wybór systemu
      • Rozszerzenia plików
    • Pozostałe
    Linuksowo
    Główna»Administracja»Jak skonfigurować zaporę sieciową UFW w Ubuntu – reguły, porty i zabezpieczenia
    Administracja

    Jak skonfigurować zaporę sieciową UFW w Ubuntu – reguły, porty i zabezpieczenia

    Norbert BarwickiNorbert BarwickiBrak komentarzy8 min. czyt.
    Koncepcja protokołu sieci prywatnej wirtualnej (VPN) Ręka człowieka używająca tabletu cyfrowego z ikoną vpn na ekranie VR
    Udostępnij
    Facebook Twitter LinkedIn Pinterest E-mail

    Zapora sieciowa to pierwsza i jedna z najważniejszych linii obrony przed nieautoryzowanym dostępem do serwerów i systemów komputerowych. UFW (Uncomplicated Firewall) upraszcza zarządzanie zaporą na Linuksie, szczególnie w Ubuntu, eliminując złożoność iptables i oferując intuicyjny interfejs CLI. Ten przewodnik omawia konfigurację UFW: od podstaw, przez reguły i porty, po zaawansowane funkcje, monitorowanie i najlepsze praktyki bezpieczeństwa.

    Spis treści pokaż
    1 Fundamenty UFW – czym jest i dlaczego warto go stosować
    2 Instalacja i przygotowanie UFW do pracy
    3 Domyślne zasady i konfiguracja bazowa
    4 Zarządzanie połączeniami SSH przed włączeniem zapory
    5 Otwieranie i zamykanie portów
    6 Profile aplikacji i zarządzanie usługami
    7 Reguły oparte na adresach IP i białe listy
    8 Blokowanie i odrzucanie połączeń
    9 Zaawansowana konfiguracja – rate limiting i ochrona przed atakami
    10 Obsługa IPv6 w UFW
    11 Monitorowanie i rejestrowanie zdarzeń zapory
    12 Usuwanie i modyfikacja reguł
    13 Wyłączanie i resetowanie UFW
    14 Zaawansowane funkcje – przekierowanie portów i NAT
    15 Docker i UFW – obsługa kontenerów
    16 Zabezpieczanie SSH – zaawansowane praktyki
    17 Optymalizacja wydajności UFW
    18 Integracja z Fail2ban
    19 Wyświetlanie statusu i konfiguracji
    20 Graficzny interfejs – GUFW
    21 Najlepsze praktyki i rekomendacje bezpieczeństwa

    Fundamenty UFW – czym jest i dlaczego warto go stosować

    UFW to przyjazny interfejs do zarządzania regułami iptables. Minimalizuje ryzyko błędów konfiguracyjnych dzięki prostym, czytelnym poleceniom. Zamiast skomplikowanych komend iptables, używasz krótkich, zrozumiałych instrukcji.

    Netfilter w jądrze Linuksa odpowiada za filtrowanie pakietów w czasie rzeczywistym. UFW abstrahuje złożoność iptables, oferując rozsądne ustawienia domyślne i prosty interfejs wiersza poleceń. Nie pokrywa całego zakresu iptables, ale jest idealny dla szybkiej, bezpiecznej konfiguracji serwerów.

    Instalacja i przygotowanie UFW do pracy

    UFW jest dostępny w repozytoriach Ubuntu, więc instalacja jest prosta. Poniżej znajdziesz rekomendowaną ścieżkę przygotowania:

    1. Zainstaluj UFW: sudo apt install ufw;
    2. sprawdź status i szczegóły: sudo ufw status verbose;
    3. przed włączeniem dodaj regułę SSH (patrz sekcja poniżej), aby nie odciąć sobie dostępu;
    4. włącz UFW, gdy reguły są gotowe: sudo ufw enable.

    Domyślnie UFW blokuje wszystkie połączenia przychodzące i zezwala na wszystkie wychodzące. To bezpieczna strategia „deny by default”.

    Domyślne zasady i konfiguracja bazowa

    Na starcie ustaw domyślne polityki oraz (jeśli używasz) włącz IPv6:

    • domyślne polityki – sudo ufw default deny incoming oraz sudo ufw default allow outgoing;
    • włączenie IPv6 – w pliku /etc/default/ufw ustaw IPV6=yes, a następnie sudo ufw reload;
    • bezpieczna baza – domyślne reguły stanowią fundament, na którym budujesz precyzyjne wyjątki dla usług..

    Zarządzanie połączeniami SSH przed włączeniem zapory

    Zanim włączysz UFW, dodaj regułę SSH, inaczej odetniesz sobie zdalny dostęp. Użyj: sudo ufw allow ssh lub równoważnie sudo ufw allow 22/tcp.

    Jeśli SSH działa na porcie niestandardowym (np. 8822), otwórz go: sudo ufw allow 8822/tcp. Zmiana domyślnego portu ogranicza skanowanie botów i „szum” w logach.

    Otwieranie i zamykanie portów

    Kontroluj dostęp do usług przez reguły portów. Podstawowe polecenia wyglądają tak: sudo ufw allow [port], sudo ufw allow [port]/tcp lub sudo ufw allow [port]/udp. Na przykład dla HTTP użyj sudo ufw allow 80/tcp. Wskazanie protokołu (TCP/UDP) zwiększa precyzję reguł.

    Możesz korzystać z nazw usług (mapowanych w /etc/services): sudo ufw allow http, sudo ufw allow https, itp.

    Aby otworzyć zakresy portów dla aplikacji wielokanałowych, użyj: sudo ufw allow 7100:7200/tcp oraz sudo ufw allow 7100:7200/udp. Zakresy upraszczają konfigurację i redukują liczbę reguł.

    Dla szybkiej orientacji w popularnych usługach i portach, skorzystaj z poniższej listy:

    • HTTP – 80/TCP;
    • HTTPS – 443/TCP;
    • OpenSSH – 22/TCP;
    • MySQL – 3306/TCP;
    • DNS – 53/UDP (często także 53/TCP do transferów stref).

    Profile aplikacji i zarządzanie usługami

    Wiele pakietów dostarcza profile UFW w /etc/ufw/applications.d. To ułatwia otwieranie portów bez pamiętania numerów.

    1. Wyświetl dostępne profile: sudo ufw app list;
    2. sprawdź szczegóły profilu: sudo ufw app info 'NazwaProfilu';
    3. zastosuj profil (np. OpenSSH): sudo ufw allow OpenSSH.

    Profile pozwalają utrzymać spójność i skracają czas konfiguracji.

    Reguły oparte na adresach IP i białe listy

    Zawężaj ekspozycję usług, dopuszczając tylko zaufane adresy IP lub całe podsieci. To szczególnie ważne dla SSH, baz danych i paneli administracyjnych.

    Przykłady:

    • dostęp z jednego IP do wszystkich portów – sudo ufw allow from 203.0.113.100;
    • dostęp z IP do konkretnego portu – sudo ufw allow from 87.197.5.125 to any port 22;
    • ograniczenie do interfejsu – sudo ufw allow in on eth0 from 203.0.113.102;
    • podsiec (CIDR) do usługi – sudo ufw allow from 203.0.113.0/24 to any port 3306.

    Blokowanie i odrzucanie połączeń

    Do kontrolowania niepożądanego ruchu użyj akcji deny lub reject. Różnica: deny milczy, reject odsyła informację o odrzuceniu. Poniżej krótkie porównanie:

    Akcja Zachowanie Kiedy używać
    deny brak odpowiedzi do nadawcy ukrywanie powierzchni ataku, utrudnianie rozpoznania usług
    reject wysyła pakiet odrzucenia gdy klient powinien szybko wiedzieć, że usługa jest niedostępna

    Przykłady: sudo ufw deny 25, sudo ufw reject 113, blokada z IP/na port: sudo ufw deny from 192.4.5.3 to any port 22, blokada całej podsieci: sudo ufw deny from 203.0.113.0/24.

    Zaawansowana konfiguracja – rate limiting i ochrona przed atakami

    Rate limiting ogranicza liczbę nowych połączeń z jednego IP w krótkim czasie. sudo ufw limit ssh domyślnie pozwala na maks. 6 nowych połączeń w 30 s, ograniczając ataki brute force.

    Po przekroczeniu progu źródło jest tymczasowo ograniczane. Limity można dostroić w plikach konfiguracyjnych UFW.

    Integracja z Fail2ban podnosi ochronę: narzędzie monitoruje logi (np. nieudane logowania SSH) i dynamicznie dodaje blokady w UFW.

    Obsługa IPv6 w UFW

    UFW wspiera IPv4 i IPv6. Aby włączyć IPv6, edytuj /etc/default/ufw i ustaw IPV6=yes, następnie przeładuj UFW: sudo ufw reload lub sudo ufw disable i sudo ufw enable.

    Zapewnij spójność reguł IPv4 i IPv6, aby uniknąć luk. sudo ufw status verbose pokaże reguły dla obu stosów (wpisy z oznaczeniem v6).

    Monitorowanie i rejestrowanie zdarzeń zapory

    Logowanie pomaga wykrywać ataki i diagnozować problemy. Włącz je poleceniem: sudo ufw logging on. Poziomy logowania i ich zastosowanie:

    • low – podstawowe zdarzenia, dobre na start;
    • medium – więcej szczegółów, zwykle rekomendowany kompromis;
    • high – wysoka szczegółowość do analiz incydentów;
    • full – maksymalna werboza, tylko tymczasowo ze względu na objętość.

    Użyteczne polecenia do przeglądania logów:

    • journalctl – sudo journalctl -u ufw -n 200 --no-pager;
    • plik logu – sudo tail -f /var/log/ufw.log;
    • zmiana poziomu – sudo ufw logging medium.

    Pamiętaj o rotacji logów, aby nie przepełnić dysków.

    Usuwanie i modyfikacja reguł

    Gdy reguły się dezaktualizują, usuń je bezpiecznie. Najprościej robić to po numerze:

    1. Wyświetl reguły z numeracją: sudo ufw status numbered;
    2. usuń regułę po numerze: sudo ufw delete [numer] (wymaga potwierdzenia);
    3. alternatywnie usuń po treści: sudo ufw delete allow 8069.

    Usuwając reguły na serwerze produkcyjnym, upewnij się, że nie utracisz dostępu (zwłaszcza SSH).

    Wyłączanie i resetowanie UFW

    Do chwilowego wyłączenia użyj: sudo ufw disable. Reguły pozostają zapisane i wrócą po sudo ufw enable.

    Reset do ustawień fabrycznych: sudo ufw reset (wyłącza UFW, usuwa reguły, przywraca domyślne polityki). Operacja wymaga potwierdzenia i może przerwać sesję SSH — stosuj ostrożnie.

    Zaawansowane funkcje – przekierowanie portów i NAT

    Przekierowania i NAT wymagają edycji plików UFW. Włącz przekazywanie pakietów w /etc/ufw/sysctl.conf (linia net/ipv4/ip_forward=1), a w /etc/ufw/before.rules dodaj reguły sekcji *nat. Przykład przekierowania portu 70 na 8600:

    *nat
    :PREROUTING ACCEPT
    :POSTROUTING ACCEPT
    -A PREROUTING -p tcp --dport 70 -j REDIRECT --to-port 8600
    COMMIT

    Po zmianach przeładuj UFW: sudo ufw disable && sudo ufw enable.

    Docker i UFW – obsługa kontenerów

    Docker modyfikuje iptables bezpośrednio, co może obchodzić UFW. Aby ograniczyć ten efekt, rozważ poniższe działania:

    • włącz iptables w Dockerze – upewnij się, że demon nie pomija reguł systemowych;
    • zmień politykę forwardowania UFW – w /etc/default/ufw ustaw DEFAULT_FORWARD_POLICY="DROP" i dodaj selektywne reguły routingu (ufw route);
    • kontroluj publikowane porty – np. sudo ufw route allow proto tcp from any to any port 80 dla usług na porcie 80.

    Dzięki temu UFW zachowuje kontrolę nad połączeniami przychodzącymi także dla usług kontenerowych.

    Zabezpieczanie SSH – zaawansowane praktyki

    SSH to newralgiczny punkt dostępu — jego twarde zabezpieczenie jest priorytetem po uruchomieniu serwera. Stosuj następujące rekomendacje:

    • klucze zamiast haseł – wyłącz logowanie hasłem, włącz uwierzytelnianie kluczami;
    • niestandardowy port – zmiana z 22 zmniejsza liczbę automatycznych skanów;
    • białe listy IP – np. sudo ufw allow from 203.0.113.10 to any port 2222 proto tcp;
    • rate limiting – sudo ufw limit ssh ogranicza szybkie próby logowania;
    • Fail2ban – dynamiczne bany po nieudanych logowaniach.

    Optymalizacja wydajności UFW

    UFW działa w jądrze i zwykle nie obciąża systemu. Przy bardzo dużym ruchu pomagają poniższe praktyki:

    • konsoliduj reguły – używaj zakresów portów i podsieci (CIDR) zamiast wielu pojedynczych wpisów;
    • grupuj adresy – rozważ ipset do dużych list blokad;
    • ogranicz logowanie – ustaw poziom na low lub medium;
    • czyść stare reguły – regularne przeglądy minimalizują narzut.

    Integracja z Fail2ban

    Fail2ban monitoruje logi i automatycznie blokuje źródła ataków. Integracja z UFW jest prosta:

    1. Zainstaluj: sudo apt install fail2ban;
    2. w /etc/fail2ban/jail.local ustaw banaction = ufw w odpowiednich „jails” (np. sshd);
    3. zrestartuj usługę: sudo systemctl restart fail2ban.

    Fail2ban + UFW zapewniają dynamiczną, skuteczną ochronę przed brute force i skanami.

    Wyświetlanie statusu i konfiguracji

    Do przeglądu konfiguracji użyj: sudo ufw status lub sudo ufw status verbose (domyślne polityki, poziom logowania, pełne reguły). Numery reguł uzyskasz przez sudo ufw status numbered. Przykładowe wyjście:

    Status: active
    To Action From
    -- ------ ----
    22/tcp ALLOW Anywhere
    80/tcp ALLOW Anywhere
    443/tcp ALLOW Anywhere

    Graficzny interfejs – GUFW

    Dla preferujących GUI dostępny jest GUFW. Zainstaluj: sudo apt install gufw, uruchom: gufw. Dostępne profile: Dom, Biuro, Publiczny, Custom.

    GUFW umożliwia intuicyjne dodawanie prostych i zaawansowanych reguł bez pamiętania komend.

    Najlepsze praktyki i rekomendacje bezpieczeństwa

    Poniższa lista ułatwia utrzymanie bezpiecznej, przejrzystej konfiguracji UFW:

    • przygotuj reguły SSH przed włączeniem UFW – zapobiegniesz utracie dostępu do serwera;
    • stosuj politykę „deny incoming, allow outgoing” – bezpieczna baza pod wyjątki dla usług;
    • regularnie przeglądaj i porządkuj reguły – usuwaj zbędne wpisy i zbędnie otwarte porty;
    • integruj z monitorowaniem – Fail2ban i logowanie UFW zwiększają wykrywalność ataków;
    • włącz i nadzoruj logi – szybciej reagujesz na anomalie i próby włamań;
    • zadbaj o spójne reguły dla IPv6 – unikniesz niezamierzonych luk bezpieczeństwa.

    Prawidłowo skonfigurowany UFW, wsparty monitorowaniem i dobrymi praktykami operacyjnymi, znacząco podnosi bezpieczeństwo serwerów Linux.

    Norbert Barwicki
    • WWW

    Norbert Barwicki pracuje z systemami Linux od 2007 roku, kiedy to zainstalował swoją pierwszą dystrybucję Ubuntu 7.04. Przez lata eksperymentował z ponad 15 różnymi dystrybucjami, w tym Fedora, Debian, Arch Linux i Gentoo, a od 2015 roku specjalizuje się w administracji serwerami opartymi na CentOS i Red Hat Enterprise Linux. Jako certyfikowany administrator Linux (RHCSA od 2018 roku) dzieli się swoją wiedzą na Linuksowo.pl, gdzie opublikował już ponad 100 artykułów pomagających użytkownikom w przejściu na świat open source.

    Pozostałe poradniki

    Jak sprawdzić, na którym porcie nasłuchuje usługa w Debianie?

    3 min. czyt.

    Jak zdalnie zarządzać serwerem Linux przez SSH w Debianie?

    3 min. czyt.

    Jak zdalnie zarządzać serwerem Ubuntu przez połączenie SSH?

    3 min. czyt.

    Jak zablokować lub zezwolić na ping w zaporze sieciowej Ubuntu?

    3 min. czyt.

    Jak sprawdzić otwarte porty sieciowe w systemie Debian?

    3 min. czyt.
    Telnet

    Telnet: jak działa klasyczny protokół komunikacyjny i jakie niesie zagrożenia?

    16 min. czyt.
    Dodaj komentarz
    Odpowiedz Anuluj


    Poradniki
    Koncepcja protokołu sieci prywatnej wirtualnej (VPN) Ręka człowieka używająca tabletu cyfrowego z ikoną vpn na ekranie VR

    Jak skonfigurować zaporę sieciową UFW w Ubuntu – reguły, porty i zabezpieczenia

    2026-02-19

    apt-get update – aktualizacja list pakietów w systemach opartych na Debianie

    2026-02-13

    Grep – Jak efektywnie korzystać z polecenia w systemach uniksopodobnych?

    2026-02-12

    Fedora czy Ubuntu? Jak wybrać najlepszą dystrybucję Linuksa?

    2026-02-07
    Artykuły
    turned on laptop on table

    Jak korzystać z GPG do szyfrowania i podpisywania danych? Generowanie kluczy, algorytmy i konfiguracja

    2026-02-03
    WPS Office

    WPS Office – wszechstronny pakiet biurowy. Funkcje, bezpieczeństwo i interfejs użytkownika

    2026-02-02
    Project Libre

    Project Libre – ułatwia zarządzanie projektami dzięki wykresom Gantta i PERT

    2026-01-30
    O Linuksowo

    Linuksowo.pl to kompendium wiedzy dla wszystkich zainteresowanych systemami operacyjnymi opartymi na jądrze Linux. Oferujemy eksperckie artykuły obejmujące dystrybucje, instalację, bezpieczeństwo oraz oprogramowanie open source. Naszym celem jest dostarczanie praktycznych porad zarówno dla początkujących, jak i zaawansowanych użytkowników.

    © 2026 Linuksowo – Wszelkie prawa zastrzeżone.
    • Strona główna
    • O Linuksowo
    • Polityka prywatności i cookies
    • RSS
    • Kontakt

    Type above and press Enter to search. Press Esc to cancel.