Fail2Ban i Nginx - pełna konfiguracja blokowania ataków

07 wrz 2025 • 10 min czytania
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 = -.*"(POST|GET) /wp-login.php HTTP/1.[01]" 200
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 = -.*"(GET|POST) /(wp-config.php|xmlrpc.php|phpmyadmin|admin)" 404

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.

Chcesz skutecznie chronić swój serwer Nginx przed botami i atakami brute force? Skontaktuj się z nami. Skonfigurujemy Fail2Ban i dodatkowe zabezpieczenia dostosowane do Twojej infrastruktury.
07 wrz 2025 • 10 min czytania

ModSecurity w Nginx - jak wdrożyć WAF na serwerze

WAF (Web Application Firewall) to dodatkowa warstwa ochrony aplikacji webowych. Filtruje i monitoruje ruch HTTP w celu blokowania ataków...

Zobacz więcej

07 wrz 2025 • 10 min czytania

Jak zabezpieczyć Nginx przed atakami brute force i DDoS

Nginx to jeden z najpopularniejszych serwerów WWW i reverse proxy. Obsługuje miliony stron, ale jak każde oprogramowanie, jest narażony...

Zobacz więcej

04 wrz 2025 • 7 min czytania

Redis jako cache aplikacji - jak przyspieszyć serwis webowy

Redis to szybka baza danych działająca w pamięci RAM, która doskonale sprawdza się jako warstwa cache dla aplikacji webowych. Dzięki...

Zobacz więcej

01 wrz 2025 • 7 min czytania

Nginx dla WordPress - jak przyspieszyć swoją stronę?

WordPress to najpopularniejszy system CMS na świecie, ale jednocześnie wymagający, jeśli chodzi o wydajność. Przy większym ruchu i...

Zobacz więcej

07 wrz 2025 • 9 min czytania

Jak skonfigurować monitoring dysków SMART w Linux

Dyski twarde i SSD to jeden z najważniejszych elementów serwera. Ich awaria może oznaczać utratę danych i przestoje w działaniu usług....

Zobacz więcej

Tutaj 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