Integracja Fail2ban z usługami Nginx, Postfix i Dovecot w systemie Linux
Fail2ban potrafi monitorować logi dowolnej usługi, jeśli tylko wiadomo, gdzie zapisywane są logi i jak rozpoznać podejrzane wpisy.
🔧 Krok 1: Konfiguracja dla NGINX
📂 Gdzie Nginx zapisuje logi?
Domyślnie:
/var/log/nginx/access.log
/var/log/nginx/error.log
📜 Konfiguracja jail dla Nginx
Utwórz nowy plik jail lub dodaj do jail.local:
[nginx-http-auth]
enabled = true
filter = nginx-http-auth
port = http,https
logpath = /var/log/nginx/error.log
maxretry = 5
📂 Filtr nginx-http-auth
Plik: /etc/fail2ban/filter.d/nginx-http-auth.conf
[Definition]
failregex = no user/password was provided for basic authentication.*client: <HOST>
✉️ Krok 2: Konfiguracja dla Postfix
📂 Logi Postfixa
Domyślnie w:
/var/log/mail.log
📜 Konfiguracja jail
[postfix]
enabled = true
port = smtp,ssmtp,submission
filter = postfix
logpath = /var/log/mail.log
maxretry = 5
📂 Filtr postfix (standardowy)
Fail2ban ma już wbudowany filtr postfix.conf w /etc/fail2ban/filter.d/.
Można go użyć bez zmian.

📬 Krok 3: Konfiguracja dla Dovecot
📂 Logi Dovecot
Domyślnie w tym samym pliku co Postfix:
/var/log/mail.log
📜 Konfiguracja jail
[dovecot]
enabled = true
port = pop3,pop3s,imap,imaps,submission,465
filter = dovecot
logpath = /var/log/mail.log
maxretry = 5
📂 Filtr dovecot (również dostępny domyślnie)
Znajduje się w /etc/fail2ban/filter.d/dovecot.conf.
✅ Wspólne kroki po konfiguracji
🔄 Restart fail2ban:
sudo systemctl restart fail2ban
📋 Sprawdź status jail’i:
sudo fail2ban-client status
sudo fail2ban-client status nginx-http-auth
sudo fail2ban-client status postfix
sudo fail2ban-client status dovecot
🛡️ Dobre praktyki
- Ustaw różne
bantime,findtime,maxretryw zależności od usługi - Możesz wysyłać powiadomienia e-mail o banie – wystarczy dodać
action = %(action_mwl)s - Użyj
nftablesjako backend (opisaliśmy to wcześniej), zamiastiptables - Regularnie sprawdzaj logi fail2ban:
/var/log/fail2ban.log
✅ Podsumowanie
Fail2ban to nie tylko ochrona SSH! Dzięki gotowym filtrom i elastycznej konfiguracji możesz w prosty sposób zabezpieczyć najważniejsze usługi sieciowe:
| Usługa | Co zabezpieczasz | Najczęstszy atak |
|---|---|---|
| Nginx | Logowanie przez HTTP auth | Brute-force login |
| Postfix | Serwer pocztowy SMTP | Nieautoryzowane wysyłki, relay |
| Dovecot | Logowanie IMAP/POP3 | Brute-force e-mail login |






