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

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

06 wrz 2025 • 9 min czytania

Jak skonfigurować load balancing dla aplikacji webowej z Nginx

Wysoki ruch w aplikacjach webowych może przeciążyć pojedynczy serwer. Rozwiązaniem jest load balancing, czyli równoważenie obciążenia...

Zobacz więcej

13 wrz 2025 • 12 min czytania

Administracja serwerami - co to jest i dlaczego jest tak ważna?

Serwery stanowią podstawę działania współczesnych firm. To na nich uruchamiane są strony internetowe, sklepy e-commerce, aplikacje...

Zobacz więcej

06 wrz 2025 • 9 min czytania

Jaki serwer wybrać pod sklep internetowy: VPS, serwer dedykowany czy chmura?

Sklep internetowy wymaga stabilnej i wydajnej infrastruktury. Zbyt wolny serwer to utracone zamówienia, gorsza pozycja w Google i...

Zobacz więcej

04 wrz 2025 • 7 min czytania

Fail2Ban w praktyce - skuteczna ochrona przed brute force

Ataki brute force na serwery są codziennością. Boty bez przerwy próbują zgadywać hasła do SSH, FTP czy paneli administracyjnych. Nawet...

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