
Zabezpieczenie serwera VPS: firewall UFW i Fail2ban w pierwszej godzinie
Kupujesz VPS, dostajesz adres IP, logujesz się i zaczynasz instalować aplikację. Tymczasem w logach serwera dzieje się już coś zupełnie innego: automatyczne skanery przeszukują całą pulę adresów IPv4 i sprawdzają, czy pod Twoim adresem odpowiada SSH, panel bazy danych albo zapomniany serwer testowy. Nie chodzi o to, że ktoś wybrał właśnie Ciebie — chodzi o to, że skanowanie całego internetu jest dziś tanie i ciągłe.
Na hostingu współdzielonym o takie rzeczy dba dostawca. Na VPS-ie masz pełną kontrolę nad systemem — a razem z nią odpowiedzialność za to, co jest wystawione na świat. W tym poradniku pokazujemy, jak w niecałą godzinę ustawić trzy podstawowe warstwy ochrony: firewall UFW, Fail2ban i porządek z usługami.
Dlaczego firewall na VPS to Twoje zadanie
W ofercie serwerów VPS RapidDC wprost zaznaczamy w FAQ, że do publicznych adresów dostarczanych z VPS-ami nie jest dostarczany firewall. To świadoma decyzja: serwer z wirtualizacją KVM i własnym systemem ma działać tak, jak go skonfigurujesz, bez filtra, który po cichu blokuje porty potrzebne Twojej aplikacji. Konsekwencja jest prosta — każda usługa, którą uruchomisz i która nasłuchuje na publicznym interfejsie, jest od razu osiągalna z internetu.
Jeśli chcesz odświeżyć sobie, czym w ogóle jest zapora i jakie ma rodzaje, zajrzyj do wpisu Czym jest zapora sieciowa i czy musisz ją mieć. Tutaj przechodzimy od razu do praktyki.
Krok 1: sprawdź, co nasłuchuje na serwerze
Zanim cokolwiek zablokujesz, zobacz, co jest otwarte. Zaloguj się przez SSH (jeśli potrzebujesz przypomnienia, mamy poradnik jak połączyć się z serwerem VPS przez SSH) i wpisz:
sudo ss -tulpn
Dostaniesz listę portów TCP i UDP wraz z procesami, które je otworzyły. Zwróć uwagę na kolumnę adresu: 0.0.0.0 lub [::] oznacza, że usługa słucha na wszystkich interfejsach, a 127.0.0.1 — tylko lokalnie. Baza danych MySQL/MariaDB czy Redis zwykle nie muszą być dostępne z zewnątrz. Jeśli widzisz je na 0.0.0.0, przestaw je w konfiguracji na 127.0.0.1 albo wyłącz usługi, których nie używasz:
sudo systemctl disable --now nazwa-uslugi
Najlepszy port to taki, który w ogóle nie jest otwarty.
Krok 2: ustaw firewall UFW, nie odcinając sobie dostępu
UFW (Uncomplicated Firewall) to nakładka na reguły jądra Linux, domyślnie dostępna w Ubuntu i łatwa do doinstalowania w Debianie (sudo apt install ufw). Kolejność poleceń ma znaczenie — najpierw zezwól na SSH, dopiero potem włącz zaporę:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose
Porty 80 i 443 otwierasz tylko wtedy, gdy na serwerze działa strona lub aplikacja WWW. Jeśli SSH działa u Ciebie na niestandardowym porcie, zamiast OpenSSH wpisz sudo ufw allow NUMER/tcp. Dostęp do panelu bazy czy narzędzi administracyjnych możesz ograniczyć do własnego adresu IP: sudo ufw allow from TWOJE_IP to any port 3306.
Jeśli mimo wszystko odetniesz sobie SSH, nie panikuj — wróć do serwera przez konsolę w panelu klienta i popraw reguły. Typowe problemy z połączeniem opisaliśmy we wpisie najczęstsze błędy VPS i jak naprawić połączenie.
Krok 3: Fail2ban, czyli automatyczna blokada prób logowania
Firewall decyduje, które porty są otwarte. Ale SSH otwarte być musi — i właśnie na nie leci większość ataków brute force, czyli zgadywania haseł. Fail2ban czyta logi i po kilku nieudanych próbach logowania z jednego adresu dodaje regułę blokującą ten adres na określony czas.
Instalacja w Debianie i Ubuntu:
sudo apt install fail2ban
Konfigurację zapisuj w pliku /etc/fail2ban/jail.local (nie edytuj jail.conf, bo nadpisze go aktualizacja):
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
Następnie sudo systemctl restart fail2ban, a stan sprawdzisz poleceniem sudo fail2ban-client status sshd. Po dniu czy dwóch zobaczysz listę zablokowanych adresów — to dobra lekcja, jak wygląda codzienny ruch na publicznym IP.
Fail2ban najlepiej działa w parze z logowaniem kluczem zamiast hasła. VPS-y RapidDC obsługują klucze SSH, więc po ich skonfigurowaniu warto wyłączyć logowanie hasłem i bezpośrednie logowanie na konto root w /etc/ssh/sshd_config (PasswordAuthentication no, PermitRootLogin no lub prohibit-password).
Firewall na serwerze a ochrona antiDDoS — co za co odpowiada
Często pojawia się pytanie: skoro VPS ma ochronę antiDDoS, to po co firewall? To dwie różne warstwy. Ochrona antiDDoS w RapidDC działa na poziomie sieci i reaguje na ataki wolumetryczne — przy mniejszych atakach stosowane jest filtrowanie ruchu. Nie decyduje jednak, czy Twoja baza danych powinna być dostępna z internetu, ani nie powstrzyma bota, który spokojnie zgaduje hasło do SSH. Za to odpowiada konfiguracja samego serwera. Więcej o mechanizmach antiDDoS przeczytasz we wpisie hosting z ochroną przed atakami DDoS.
Podsumowanie
Podstawowe zabezpieczenie serwera VPS to trzy kroki, które zajmują mniej niż godzinę: zamknięcie lub ograniczenie zbędnych usług, firewall UFW z regułą domyślnego blokowania ruchu przychodzącego oraz Fail2ban pilnujący logowania. To nie jest pełny hardening, ale eliminuje większość automatycznych ataków, które trafiają na każdy publiczny adres.
Szukasz serwera, na którym masz pełną kontrolę nad systemem, klucze SSH i darmową ochronę antiDDoS? Sprawdź serwery VPS w RapidDC. A jeśli wolisz, żeby konfiguracją i bezpieczeństwem zajął się ktoś za Ciebie, zobacz serwery dedykowane z administracją.
FAQ – najczęściej zadawane pytania o zabezpieczenie serwera VPS
Czy VPS w RapidDC ma domyślnie włączony firewall?
Nie. Jak podajemy w FAQ oferty, do publicznych adresów dostarczanych z VPS-ami nie jest dostarczany firewall. Reguły zapory konfigurujesz samodzielnie w systemie, np. za pomocą UFW lub nftables, dzięki czemu sam decydujesz, które porty są dostępne z internetu.
Co zrobić, jeśli po włączeniu UFW nie mogę połączyć się przez SSH?
Zaloguj się do serwera przez konsolę dostępną w panelu klienta, dodaj regułę zezwalającą na port SSH (sudo ufw allow OpenSSH lub właściwy numer portu) i przeładuj zaporę. Na przyszłość zawsze dodawaj regułę dla SSH przed poleceniem ufw enable.
Czy Fail2ban wystarczy, jeśli loguję się hasłem?
Fail2ban mocno ogranicza ataki brute force, bo blokuje adresy po kilku nieudanych próbach. Najlepszą ochronę daje jednak połączenie go z logowaniem kluczem SSH i wyłączeniem logowania hasłem — wtedy nawet rozproszone próby zgadywania hasła nie mają szans powodzenia.
Czy ochrona antiDDoS zastępuje firewall na serwerze?
Nie. AntiDDoS działa na poziomie sieci i chroni przed zalewem ruchu, a firewall na serwerze decyduje, które usługi są w ogóle osiągalne z zewnątrz. Potrzebujesz obu warstw: jedna nie zastąpi drugiej.
Czy mogę zlecić zabezpieczenie serwera specjalistom?
Tak. Jeśli nie chcesz samodzielnie konfigurować systemu i pilnować bezpieczeństwa, rozważ serwer dedykowany z administracją, gdzie konfiguracją zajmuje się zespół techniczny. W przypadku VPS-a możesz też skontaktować się z działem technicznym w sprawie wyceny asysty.
Artykuł powstał z wykorzystaniem narzędzi sztucznej inteligencji (AI) pod nadzorem zespołu RapidDC. Grafika ilustracyjna została wygenerowana przez AI.
