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.
07 wrz 2025 • 12 min czytania Checklista migracyjna - jak przeprowadzić bezpieczną migrację serwera i aplikacji
Migracja serwera, aplikacji lub sklepu internetowego to proces wymagający precyzji i odpowiedniego planowania. Błędy mogą skutkować...
Zobacz więcej
07 wrz 2025 • 9 min czytania Jak bezpiecznie korzystać z sudo i ograniczać dostęp użytkowników
Sudo to jedno z najczęściej używanych narzędzi w systemach Linux. Umożliwia wykonywanie poleceń z uprawnieniami administratora, bez...
Zobacz więcej
07 wrz 2025 • 8 min czytania Jak działa Load Average w Linux i jak go interpretować
Podczas monitorowania serwera Linux jednym z najczęściej spotykanych wskaźników jest Load Average. Widać go w poleceniu uptime, top czy...
Zobacz więcej
07 wrz 2025 • 10 min czytania TCPdump w praktyce - analiza ruchu sieciowego krok po kroku
TCPdump to jedno z najważniejszych narzędzi administratora Linux. Umożliwia przechwytywanie i analizę pakietów sieciowych w czasie...
Zobacz więcej
15 wrz 2025 • 10 min czytania Praktyczne przykłady reguł Fail2ban do szybkiego wdrożenia
Boty to jedni z najczęstszych „gości” każdego serwera WWW. Część z nich jest pożyteczna, jak roboty wyszukiwarek indeksujące strony...
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