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 internetowe. Niestety, rosnący odsetek to boty szkodliwe - atakują formularze logowania, wysyłają spam, przeprowadzają skanowanie podatności i potrafią mocno obciążyć zasoby serwera. Skutkiem są wolniejsze strony, wyższe koszty transferu i realne zagrożenie bezpieczeństwa danych. Dlatego ochrona serwera przed botami nie jest już opcją, ale koniecznością. W tym artykule pokazujemy, jak wykrywać podejrzany ruch i blokować boty bezpośrednio na poziomie serwera WWW.Szybki start i podstawy
Fail2ban czyta definicje z jail.conf oraz jail.d/*.conf. Własne reguły trzymaj w jail.local albo osobnych plikach w jail.d, aby nie nadpisywać ustawień przy aktualizacjach.
plik główny konfiguracyjny: /etc/fail2ban/jail.local
filtry z regexami: /etc/fail2ban/filter.d/*.conf
testowanie regexów: fail2ban-regex /var/log/plik.log /etc/fail2ban/filter.d/nazwa.conf
status i podgląd: fail2ban-client status oraz fail2ban-client status NAZWA_JAILA
Przykładowa sekcja globalna w jail.local:
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
backend = systemd
banaction = nftables-multiport
1. SSH - ochrona przed brute force
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = %(sshd_log)s
maxretry = 5
bantime = 2h
findtime = 15m
2. Nginx - próby logowania i skanowania 404
Jail blokujący błędy 401 i 403:
[nginx-auth]
enabled = true
port = http,https
filter = nginx-auth
logpath = /var/log/nginx/access.log
maxretry = 6
findtime = 10m
bantime = 2h
Filter /etc/fail2ban/filter.d/nginx-auth.conf:
[Definition]
failregex = ^
^
ignoreregex =
Jail na agresywne 404 skanery:
[nginx-404]
enabled = true
port = http,https
filter = nginx-404
logpath = /var/log/nginx/access.log
maxretry = 20
findtime = 10m
bantime = 4h
3. WordPress - wp-login i xmlrpc
Jail dla wp-login.php:
[wp-login]
enabled = true
port = http,https
filter = wp-login
logpath = /var/log/nginx/access.log
maxretry = 6
findtime = 15m
bantime = 12h
Filter /etc/fail2ban/filter.d/wp-login.conf:
[Definition]
failregex = ^
ignoreregex =
Jail dla xmlrpc.php:
[wp-xmlrpc]
enabled = true
port = http,https
filter = wp-xmlrpc
logpath = /var/log/nginx/access.log
maxretry = 10
findtime = 10m
bantime = 24h
4. Apache - podstawowe reguły
Jail dla nieautoryzowanych prób:
[apache-auth]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache2/error.log
maxretry = 6
findtime = 10m
bantime = 2h
5. Ogólne tempo żądań HTTP - rate limit
[nginx-ratelimit]
enabled = true
port = http,https
filter = nginx-ratelimit
logpath = /var/log/nginx/access.log
maxretry = 120
findtime = 60s
bantime = 1h
6. Recydywa - dłuższy ban dla notorycznych adresów
[recidive]
enabled = true
logpath = /var/log/fail2ban.log
bantime = 7d
findtime = 1d
maxretry = 5
7. Testowanie i debug
fail2ban-regex pozwala sprawdzić regexy na logach
journalctl -u fail2ban -f do śledzenia pracy usługi
fail2ban-client status SSHD do sprawdzania aktywnych banów
pamiętaj o whitelistowaniu własnego IP
Podsumowanie
Fail2ban to skuteczny sposób na ochronę serwera WWW przed botami i atakami brute-force. Dzięki gotowym jailom możesz w kilka minut zabezpieczyć SSH, Nginx, Apache czy WordPressa. Warto testować regexy, używać recidive do notorycznych adresów i łączyć Fail2ban z innymi metodami ochrony, takimi jak rate limiting i WAF.
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 • 13 min czytania Najczęstsze błędy administratorów Linux - jak ich unikać?
Administracja serwerami Linux to odpowiedzialne zadanie, w którym nawet drobny błąd może prowadzić do poważnych konsekwencji: przestojów,...
Zobacz więcej
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
11 wrz 2025 • 13 min czytania Jak wdrożyć skanowanie podatności na serwerach Linux?
Bezpieczeństwo serwerów Linux to fundament stabilnej infrastruktury IT. Nawet jeśli system jest na bieżąco aktualizowany, zawsze istnieje...
Zobacz więcej
01 wrz 2025 • 13 min czytania High Availability - jak zbudować niezawodną infrastrukturę?
W świecie biznesu online każda minuta przestoju to straty finansowe i utrata zaufania klientów. Dlatego coraz więcej firm stawia na...
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