Fail2Ban i Nginx - pełna konfiguracja blokowania ataków
Nginx sam w sobie oferuje mechanizmy ograniczania liczby żądań i filtrowania adresów IP, ale nie zawsze wystarcza to przy bardziej zaawansowanych atakach brute force i skanowaniach. W takich sytuacjach warto użyć Fail2Ban. To narzędzie monitoruje logi, wykrywa podejrzane zachowania i dynamicznie blokuje adresy IP. Poniżej przedstawiamy kompletną konfigurację integracji Fail2Ban z Nginx.Instalacja Fail2Ban
Na Debian/Ubuntu:
sudo apt update
sudo apt install fail2ban -y
Na CentOS/RHEL:
sudo yum install epel-release -y
sudo yum install fail2ban -y
Struktura Fail2Ban
jail - definiuje reguły blokowania i powiązane filtry
filter - określa wzorce w logach, które uznawane są za atak
action - określa, co zrobić z podejrzanym adresem (np. zablokować w iptables)
Konfiguracja logów Nginx
Fail2Ban analizuje logi Nginx, np. /var/log/nginx/error.log lub logi dostępu.
Upewnij się, że włączone jest logowanie prób logowania w Twojej aplikacji (np. WordPress, panel admin).
Przykładowy filter dla logowania WordPress
Plik: /etc/fail2ban/filter.d/nginx-wp-login.conf
[Definition]
failregex =
ignoreregex =
Definicja jail dla WordPress
Plik: /etc/fail2ban/jail.local
[nginx-wp-login]
enabled = true
port = http,https
filter = nginx-wp-login
logpath = /var/log/nginx/access.log
maxretry = 5
findtime = 600
bantime = 3600
maxretry - ile prób logowania jest dozwolone
findtime - w jakim czasie są liczone próby (sekundy)
bantime - na ile sekund adres zostaje zablokowany
Blokowanie skanowania adresów URL
Można też stworzyć filtr blokujący boty skanujące nieistniejące strony.
[Definition]
failregex =
Monitorowanie Nginx 404 i 403
Dodanie jail do blokowania zbyt wielu błędów 404 w krótkim czasie:
[nginx-404]
enabled = true
port = http,https
filter = nginx-404
logpath = /var/log/nginx/access.log
maxretry = 10
findtime = 300
bantime = 600
Testowanie konfiguracji
Po zapisaniu plików zrestartuj Fail2Ban:
sudo systemctl restart fail2ban
sudo fail2ban-client status
sudo fail2ban-client status nginx-wp-login
Możesz ręcznie sprawdzić, czy IP zostało zbanowane:
sudo iptables -L -n | grep
Najlepsze praktyki
logi muszą być dokładne i aktualne, inaczej Fail2Ban nie wykryje ataku
testuj filtry na małej liczbie prób, aby uniknąć fałszywych blokad
stosuj różne jail dla różnych aplikacji (WordPress, phpMyAdmin, API)
integruj Fail2Ban z firewallem UFW lub iptables/nftables
używaj dynamicznego bantime (np. rosnącego przy kolejnych atakach)
Podsumowanie
Połączenie Nginx z Fail2Ban to skuteczny sposób na ochronę przed brute force, skanowaniem i automatycznymi botami. Fail2Ban monitoruje logi i samodzielnie blokuje problematyczne IP, dzięki czemu administrator zyskuje dodatkową warstwę bezpieczeństwa. To rozwiązanie lekkie, elastyczne i proste w konfiguracji.
08 wrz 2025 • 12 min czytania Jak analizować logi Nginx i Apache - narzędzia i przykłady
Logi serwera WWW to jedno z najważniejszych źródeł informacji o działaniu aplikacji i ruchu użytkowników. Nginx i Apache generują...
Zobacz więcej
19 wrz 2025 • 14 min czytania Jak wykrywać malware na serwerze Linux i usuwać zainfekowane pliki?
Serwery Linux uważane są za stabilne i bezpieczne, jednak nie oznacza to, że są odporne na malware. Ataki cyberprzestępców często...
Zobacz więcej
06 wrz 2025 • 10 min czytania Podstawy hardeningu systemu Linux - lista kontrolna administratora
Hardening systemu Linux polega na wzmacnianiu jego bezpieczeństwa poprzez ograniczanie zbędnych usług, stosowanie właściwych uprawnień...
Zobacz więcej
06 wrz 2025 • 9 min czytania Redis vs Memcached - które rozwiązanie cache wybrać dla aplikacji webowe
Cache to jeden z najprostszych i najskuteczniejszych sposobów na przyspieszenie aplikacji webowych. Dzięki niemu dane są przechowywane w...
Zobacz więcej
02 wrz 2025 • 7 min czytania Serwer VPS - dlaczego to najlepszy wybór dla sklepów internetowych?
Dynamiczny rozwój e-commerce sprawia, że wybór odpowiedniej infrastruktury serwerowej staje się jednym z kluczowych czynników sukcesu...
Zobacz więcejTutaj znajdziesz odpowiedzi na najważniejsze pytania dotyczące naszych usług i wsparcia.
FAQ
Jakie usługi administracji serwerami oferujecie?
Świadczymy kompleksową obsługę - od konfiguracji i monitoringu, przez optymalizację wydajności, aż po pełne wsparcie techniczne 24/7.
Czy zajmujecie się migracją danych i systemów?
Tak, wykonujemy bezpieczne migracje plików, baz danych i aplikacji - bez przestojów i bez dodatkowych kosztów.
Czym różni się serwer dedykowany od VPS?
Serwer dedykowany to pełna maszyna tylko dla Ciebie, a VPS to jej podział na wirtualne środowiska - tańsze, ale współdzielone.
Czy mogę liczyć na pomoc przy awarii?
Tak, monitorujemy serwery całodobowo i natychmiast reagujemy w przypadku awarii, minimalizując ryzyko przestoju.
Czy Wasze rozwiązania są skalowalne?
Oferujemy infrastrukturę, która rośnie razem z Twoim biznesem - łatwo zwiększysz zasoby wtedy, gdy tego potrzebujesz.
Czy oferujecie wsparcie przy budowie infrastruktury?
Tak, projektujemy i wdrażamy środowiska IT dopasowane do potrzeb – od małych firm po duże, złożone systemy.
Jak zabezpieczacie serwery przed atakami i utratą danych?
Stosujemy firewalle, systemy anty-DDoS, regularne backupy i aktualizacje, aby zapewnić maksymalne bezpieczeństwo.
Jakie gwarancje SLA zapewniacie?
Oferujemy SLA na poziomie 99.99% dostępności, co oznacza niezawodne działanie infrastruktury i szybki czas reakcji przy ewentualnych problemach.
Chcesz dowiedzieć się więcej o naszej ofercie?
Wyślij zapytanie