Integracja Fail2ban z NGINX, Postfix i Dovecot – krok po kroku
Linux

Integracja Fail2ban z NGINX, Postfix i Dovecot – krok po kroku

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.

Integracja Fail2ban z NGINX, Postfix i Dovecot – krok po kroku
Integracja Fail2ban z NGINX, Postfix i Dovecot – krok po kroku

📬 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, maxretry w zależności od usługi
  • Możesz wysyłać powiadomienia e-mail o banie – wystarczy dodać action = %(action_mwl)s
  • Użyj nftables jako backend (opisaliśmy to wcześniej), zamiast iptables
  • 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:

Czytaj  Cyberbezpieczeństwo – od teorii do praktyki z konfiguracjami
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

 

Polecane wpisy
Funkcje Windows 12: Co nowego w najnowszym systemie operacyjnym Microsoft?
Funkcje Windows 12: Co nowego w najnowszym systemie operacyjnym Microsoft?

Funkcje Windows 12: Co nowego w najnowszym systemie operacyjnym Microsoft? Oficjalna premiera Windows 12 jeszcze się nie odbyła, a co Czytaj dalej

Audyt bezpieczeństwa systemu Linux — kompleksowy przewodnik
Audyt bezpieczeństwa systemu Linux — kompleksowy przewodnik

🔎 Audyt bezpieczeństwa systemu Linux — kompleksowy przewodnik Regularny audyt systemu to kluczowy element utrzymania bezpieczeństwa. Pozwala wykryć luki, nieprawidłowe Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.