Kiedy zaczynamy przygodę z własnym serwerem na Raspberry Pi 5, temat bezpieczeństwa często schodzi na dalszy plan w obliczu ekscytacji, że „nasza strona w końcu działa”. To błąd. Podłączając maszynę do publicznego Internetu, wystawiasz ją na ciągły ostrzał: zautomatyzowane skanery podatności, ataki brute-force, próby wstrzyknięcia złośliwego kodu czy włączenia serwera do botnetu.
W tym artykule przejdziemy przez architekturę Obrony w Głąb (Defense in Depth). Pokażę Ci, jak zabezpieczyć serwer na kilku niezależnych warstwach, korzystając z nowoczesnych standardów.
Wyimaginowane bezpieczeństwo hostingów
Wiele osób rezygnuje z własnego serwera np. na Raspberry Pi, sądząc, że sobie nie poradzi, a wykupienie konta hostingowego (Shared Hosting) lub serwera VPS magicznie załatwi sprawę. To niebezpieczny mit.
Kupując VPS, dostajesz dokładnie to samo: „goły” system operacyjny z publicznym adresem IP. Spoczywa na Tobie identyczna odpowiedzialność administracyjna jak w przypadku Raspberry Pi. Z kolei na tanich hostingach współdzielonych nie masz pojęcia, jakie zabezpieczenia faktycznie wdrożył operator. Ponieważ serwer obsługuje tysiące różnych klientów, zabezpieczenia są często „rozluźnione”, aby nie psuć starych, nieaktualizowanych skryptów. Mając własną maszynę, możesz i powinieneś wdrożyć rygorystyczne zasady typu Zero Trust (Ograniczonego Zaufania).
Warstwa 1: Router i Zapora Brzegowa (NAT)
Pierwszą linią obrony nie jest Twój serwer, ale domowy router. Złota zasada inżynierii sieciowej brzmi: Wystawiaj na świat tylko to, co jest absolutnie niezbędne.
Przekierowanie portów (Port Forwarding): Na routerze przekieruj wyłącznie porty 80 (HTTP) oraz 443 (HTTPS). Jeśli musisz mieć zdalny dostęp do konsoli z zewnątrz, przekieruj port SSH, ale nigdy nie używaj standardowego portu 22 na zewnątrz (zmień go np. na 52222).
Kwarantanna usług wewnętrznych: Usługi takie jak baza danych (MariaDB), serwery cache (Redis) czy systemy plików (Samba/NFS) mają bezwzględny zakaz komunikacji z publicznym Internetem. W ich konfiguracji zawsze wymuszaj nasłuchiwanie tylko na lokalnym interfejsie (bind 127.0.0.1 lub wewnętrznym IP).
Warstwa 2: Web Application Firewall (ModSecurity)
Skoro otworzyliśmy porty 80 i 443, nasza zapora sieciowa przepuści każdy ruch na stronę WWW. Co jednak, jeśli haker prześle w formularzu kontaktowym złośliwy kod SQL? Tu do gry wchodzi WAF (Web Application Firewall) dla serwera Apache.
Zainstalujemy ModSecurity. To potężny silnik, który w locie analizuje wszystkie nagłówki i treści przesyłane do serwera, blokując ataki typu SQL Injection (SQLi) czy Cross-Site Scripting (XSS).
Zaloguj się na serwer i wydaj polecenia:
sudo apt install libapache2-mod-security2
sudo a2enmod security2
sudo systemctl restart apache2
ModSecurity wykorzystuje globalne reguły bezpieczeństwa OWASP (Core Rule Set). Domyślna konfiguracja instalowana z pakietem jest wystarczająca i bezpieczna dla większości standardowych stron na WordPressie czy PrestaShop. Jeśli używasz panelu ISPConfig, upewnij się, że dyrektywy bezpieczeństwa w ustawieniach strony nie nadpisują głównych reguł serwera.
Warstwa 3: Ochrona przed botami i DDoS (Nowoczesne podejście)
W starych poradnikach w tym miejscu zalecano by instalację modułu ModEvasive oraz konfigurację Fail2Ban. W nowoczesnych, wysokowydajnych środowiskach (stan na 2026 rok) odradzam używanie obu tych narzędzi.
ModEvasive jest przestarzały, często blokuje legalnych użytkowników (tzw. False Positives) przy ładowaniu stron z dużą ilością zdjęć.
Fail2Ban opiera się na powolnym, archaicznym skanowaniu logów, co przy zmasowanym ataku potrafi „zabić” procesor Raspberry Pi.
Zamiast tego używamy CrowdSeca (którego instalację omówiłem w niniejszym artykule). CrowdSec działa na poziomie jądra systemu i korzysta z globalnej bazy wiedzy CTI. Aby upewnić się, że CrowdSec chroni Twój serwer Apache przed atakami BruteForce i skanerami, wystarczy zainstalować dla niego dedykowaną kolekcję parsowania logów:
sudo cscli collections install crowdsecurity/apache2
sudo systemctl reload crowdsec
Dzięki temu, jeśli CrowdSec zauważy, że ktoś skanuje Twojego Apache’a w poszukiwaniu luk, odetnie go na poziomie firewalla operacyjnego, zdejmując cały ciężar z serwera WWW.
Warstwa 4: Cloudflare (Tarcza w Chmurze)
Cloudflare to serwer pośredniczący (Reverse Proxy/CDN). Jeśli połączysz swoją domenę z Cloudflare i włączysz „pomarańczową chmurkę” w strefie DNS, zyskujesz potężną warstwę anonimowości.
Ukrywanie IP: Hakerzy atakujący Twoją domenę nie uderzają w domowy adres IP Twojego Raspberry Pi, lecz w potężne serwery Cloudflare.
Ochrona DDoS: Cloudflare odfiltruje proste ataki wolumetryczne, zanim te dotrą do Twojego łącza.
Tryb „Under Attack”: W przypadku ciężkiego ataku na warstwę aplikacji, możesz włączyć ten tryb w panelu Cloudflare, co wymusi na odwiedzających rozwiązywanie wyzwań JS/Captcha.
haczyk (SFTP/FTP):
Protokół proxy Cloudflare (w darmowym planie) obsługuje wyłącznie ruch HTTP/HTTPS (porty 80 i 443). Nie możesz połączyć się ze swoim serwerem FTP, wpisując domenę ukrytą za proxy. Aby wgrać pliki, musisz w kliencie FTP (np. FileZilla) podać bezpośredni, fizyczny adres IP swojego routera, lub stworzyć w Cloudflare specjalną subdomenę (np. sftp.twojadomena.pl) z wyłączoną pomarańczową chmurką (tzw. DNS Only).
Złote zasady administratora
Logowanie SSH kluczem, nie hasłem: Całkowicie wyłącz logowanie hasłem do konta root. Wygeneruj klucze kryptograficzne (Ed25519) i to nimi autoryzuj połączenia z konsolą.
Zasada najmniejszych uprawnień: Aplikacje internetowe nigdy nie powinny działać z prawami administratora. Każda strona WWW powinna być przypisana do własnego, izolowanego użytkownika systemowego (chroot).
Aktualizacje to obowiązek: Luki bezpieczeństwa (tzw. 0-day) pojawiają się codziennie. Przynajmniej raz w tygodniu aktualizuj jądro systemu i pakiety:
sudo apt update && sudo apt upgrade -y
Analiza Logów: Narzędzia takie jak htop czy btop pozwalają monitorować parametry na żywo. Jeśli z dnia na dzień zużycie CPU rośnie do 100%, a ruch na stronie się nie zmienił, nie ignoruj tego – prawdopodobnie odpierasz atak lub (co gorsza) ktoś wykorzystuje Twój serwer do kopania kryptowalut. Sprawdzaj logi serwera Apache.
Nie ma w branży IT czegoś takiego jak „serwer w 100% bezpieczny”. Twoim zadaniem jako administratora jest nałożenie na siebie tak wielu warstw ochronnych, aby ewentualny atak stał się dla hakera po prostu nieopłacalny czasowo. Odrzucenie przestarzałych rozwiązań na rzecz nowoczesnego WAF i analityki CrowdSec to w 2026 roku najlepsza droga do tego celu.

[Wstęp] Własny serwer na Raspberry Pi 5: Kompletny przewodnik krok po kroku
[Część 1] Wybór akcesoriów i przygotowanie sprzętu
[Część 2] Instalacja LAMP (Apache, MariaDB, PHP)
[Część 3] Konfiguracja domeny i DNS dla serwera
[Część 4] Panel ISPConfig 3: Instalacja i zarządzanie hostingiem
[Część 5] Optymalizacja wydajności: Jak przyspieszyć strony WWW
[Część 6] [Jesteś tutaj] Bezpieczeństwo serwera: Jak skutecznie zabezpieczyć Raspberry Pi 5
[Część 7] Cloudflare: Darmowy SSL i dodatkowa ochrona
[Część 8] Monitorowanie serwera: Instalacja Monit