Polski

Instalacja i konfiguracja UFW na VPS

2 min
Hosting VPS/VDS

Ten przewodnik pokazuje, jak zainstalować i skonfigurować UFW (Uncomplicated Firewall) — prosty, ale skuteczny firewall dla systemu Linux. UFW ułatwia zarządzanie regułami zapory na serwerze VPS.

📋 Wymagania wstępne

  • Serwer VPS z dostępem root lub sudo
  • Aktywne połączenie SSH
  • Ubuntu/Debian (polecenia dostosowane do tych dystrybucji)

📥 Instalacja UFW

Instalacja na Ubuntu/Debian

Bash
sudo apt update sudo apt install ufw -y

Weryfikacja instalacji

Bash
# Sprawdź status UFW sudo ufw status

Jeśli UFW nie jest włączony, zobaczysz komunikat: Status: inactive

⚙️ Podstawowa konfiguracja

Ważne: Przed włączeniem UFW upewnij się, że zezwoliłeś na port SSH (22), w przeciwnym razie stracisz dostęp do serwera.

Ustawienie reguł domyślnych

Bash
# Blokuj przychodzące, zezwalaj na wychodzące sudo ufw default deny incoming sudo ufw default allow outgoing

Zezwolenie na niezbędne połączenia

Bash
# SSH (22) sudo ufw allow 22/tcp # HTTP (80) sudo ufw allow 80/tcp # HTTPS (443) sudo ufw allow 443/tcp

🔧 Włączenie UFW

Po skonfigurowaniu podstawowych reguł włącz UFW:

Bash
# Włącz UFW sudo ufw enable # Sprawdź status sudo ufw status verbose

Ważne: Upewnij się, że zezwoliłeś na SSH przed włączeniem UFW, w przeciwnym razie stracisz dostęp!

📝 Reguły zaawansowane

Zezwolenie na konkretne adresy IP

Bash
# Zezwól na konkretny adres IP sudo ufw allow from 192.168.1.100 # Zezwól na konkretny IP na konkretnym porcie sudo ufw allow from 192.168.1.100 to any port 22

Zakresy portów

Bash
# Zezwól na zakres portów sudo ufw allow 8000:9000/tcp

Odrzucanie wybranych połączeń

Bash
# Odrzuć konkretny port sudo ufw deny 8080/tcp # Odrzuć konkretny adres IP sudo ufw deny from 192.168.1.200

🔍 Zarządzanie regułami

Lista wszystkich reguł

Bash
# Lista numerowana sudo ufw status numbered # Szczegółowy status sudo ufw status verbose

Usuwanie reguł

Bash
# Usuń regułę po numerze sudo ufw delete 3 # Usuń regułę po treści sudo ufw delete allow 80/tcp

Reset wszystkich reguł

Bash
# Reset UFW do stanu domyślnego (wyłączenie i usunięcie reguł) sudo ufw reset

💡 Typowe przykłady

Konfiguracja serwera WWW

Bash
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable

Konfiguracja serwera pocztowego

Bash
sudo ufw allow 25/tcp # SMTP sudo ufw allow 587/tcp # SMTP submission sudo ufw allow 465/tcp # SMTPS sudo ufw allow 993/tcp # IMAPS sudo ufw allow 995/tcp # POP3S

Konfiguracja serwera bazy danych

Bash
sudo ufw allow from 192.168.1.0/24 to any port 3306 # MySQL z sieci lokalnej sudo ufw allow from 192.168.1.0/24 to any port 5432 # PostgreSQL z sieci lokalnej

✅ Weryfikacja

Sprawdź, czy UFW działa poprawnie:

Bash
# Status sudo ufw status verbose # Aktywne reguły (numerowane) sudo ufw status numbered # Test połączenia z innej maszyny # (telnet lub nc do testu portów)

🚫 Wyłączenie UFW

Jeśli chcesz tymczasowo wyłączyć UFW:

Bash
# Wyłącz UFW sudo ufw disable # Włącz ponownie sudo ufw enable

📚 Dobre praktyki

  1. Zawsze zezwalaj na SSH przed włączeniem UFW
  2. Testuj reguły przed wdrożeniem na produkcji
  3. Używaj konkretnych adresów IP, gdy to możliwe, zamiast otwierać porty dla wszystkich
  4. Przeglądaj reguły regularnie i usuwaj nieużywane
  5. Dokumentuj reguły dla łatwiejszego utrzymania
  6. Twórz kopię zapasową konfiguracji przed większymi zmianami

🆘 Rozwiązywanie problemów

Brak połączenia SSH po włączeniu UFW

Bash
# Połącz się przez konsolę dostawcy (jeśli dostępna) # Reset UFW sudo ufw reset sudo ufw allow 22/tcp sudo ufw enable

Reguły UFW nie działają

Bash
# Czy UFW jest aktywny sudo ufw status # Przeładuj UFW sudo ufw reload # Sprawdź iptables (UFW korzysta z iptables) sudo iptables -L -n

Port nadal zablokowany po dodaniu reguły

Bash
# Czy reguła istnieje sudo ufw status numbered # Czy reguła deny nie ma pierwszeństwa sudo ufw status verbose # Usuń i dodaj regułę ponownie sudo ufw delete allow 80/tcp sudo ufw allow 80/tcp sudo ufw reload

📚 Dodatkowe zasoby

❓ Najczęstsze pytania

P: Czy mogę używać UFW razem z innymi narzędziami firewall?
O: Nie — UFW zarządza bezpośrednio iptables. Jednoczesne użycie z firewalld itp. może powodować konflikty.

P: Jak zezwolić na port dla konkretnej usługi?
O: Po numerze portu: sudo ufw allow 3306/tcp lub po nazwie usługi, jeśli jest zdefiniowana: sudo ufw allow mysql.

P: Czy UFW działa na CentOS/RHEL?
O: UFW jest przeznaczone głównie dla Debian/Ubuntu. Na CentOS/RHEL lepiej użyć firewalld.

P: Jak zobaczyć otwarte porty?
O: sudo ufw status verbose pokazuje aktywne reguły i porty.

P: Czy UFW w kontenerze Docker?
O: UFW działa na poziomie hosta. W kontenerach korzystaj z sieci i zabezpieczeń Dockera.

Bądź na bieżąco z najnowszymi ofertami, zniżkami i promocjami specjalnymi.

Zobacz promocje

Używamy plików cookie

Używamy plików cookie analitycznych, aby ulepszać nasz serwis. Nie sprzedajemy danych stronom trzecim. Więcej w polityce prywatności.