Monitorowanie i analiza logów Postfix – identyfikacja źródeł spamu i zabezpieczenia
Monitorowanie logów Postfix to kluczowy element zarządzania serwerem pocztowym. Analiza logów pozwala wykrywać źródła spamu, diagnozować problemy z dostarczaniem wiadomości oraz zabezpieczać serwer przed atakami.
W tym artykule omówimy:
✅ Gdzie znaleźć logi Postfix i jak je analizować?
✅ Jak wykrywać podejrzane aktywności i źródła spamu?
✅ Wykorzystanie narzędzi do automatycznej analizy logów (Logwatch, Fail2Ban).
✅ Automatyczne blokowanie podejrzanych adresów IP.

1. Lokalizacja logów Postfix
Logi Postfix są domyślnie przechowywane w:
/var/log/mail.log
📁 CentOS/RHEL:
/var/log/maillog
Aby wyświetlić najnowsze wpisy w logach:
sudo tail -f /var/log/mail.log
📢 Przykładowe wpisy w logach:
Mar 10 10:15:03 mail postfix/smtpd[12345]: connect from unknown[192.168.1.10]
Mar 10 10:15:04 mail postfix/smtpd[12345]: warning: unknown[192.168.1.10]: SASL LOGIN authentication failed
Mar 10 10:15:05 mail postfix/smtpd[12345]: disconnect from unknown[192.168.1.10] ehlo=1 auth=0/1 quit=1
🔹 Co możemy odczytać?
- Adres IP nadawcy: 192.168.1.10
- Błąd autoryzacji: SASL LOGIN authentication failed
- Prawdopodobny atak siłowy (brute-force) na konto e-mail
2. Analiza logów pod kątem spamu
Aby wyszukać potencjalne źródła spamu, możemy filtrować logi.
📢 Wyszukiwanie prób wysyłki dużej liczby wiadomości:
grep "relay=" /var/log/mail.log | awk '{print $7}' | sort | uniq -c | sort -nr | head -10
📢 Wyszukiwanie błędów autoryzacji SMTP (np. ataków brute-force):
grep "authentication failed" /var/log/mail.log | awk '{print $10}' | sort | uniq -c | sort -nr | head -10
📢 Lista najczęściej łączących się adresów IP:
grep "connect from" /var/log/mail.log | awk '{print $6}' | sort | uniq -c | sort -nr | head -10
3. Automatyczna analiza logów z Logwatch
📢 Instalacja Logwatch:
sudo apt install logwatch -y # Debian/Ubuntu
sudo yum install logwatch -y # CentOS/RHEL
📢 Generowanie raportu dziennego:
sudo logwatch --detail High --service postfix --range today --print
📢 Automatyczne raporty e-mail:
Edytujemy plik konfiguracyjny Logwatch:
sudo nano /etc/logwatch/conf/logwatch.conf
Dodajemy:
MailTo = admin@domena.pl
Detail = High
Service = All
📌 Teraz codziennie dostaniemy e-mail z analizą logów!
4. Automatyczne blokowanie atakujących adresów IP z Fail2Ban
Fail2Ban to narzędzie do automatycznego blokowania adresów IP na podstawie logów.
📢 Instalacja Fail2Ban:
sudo apt install fail2ban -y # Debian/Ubuntu
sudo yum install fail2ban -y # CentOS/RHEL
📢 Tworzenie nowej reguły dla Postfix:
sudo nano /etc/fail2ban/jail.local
Dodajemy:
[postfix]
enabled = true
port = smtp,ssmtp
filter = postfix
logpath = /var/log/mail.log
maxretry = 5
bantime = 3600
📢 Aktywacja Fail2Ban:
sudo systemctl restart fail2ban
📢 Podgląd blokowanych adresów:
sudo fail2ban-client status postfix
5. Testowanie blokowania adresów IP
📢 Dodanie IP do blokowanych ręcznie:
sudo fail2ban-client set postfix banip 192.168.1.100
📢 Usunięcie IP z blokady:
sudo fail2ban-client set postfix unbanip 192.168.1.100
📢 Lista wszystkich blokowanych adresów:
sudo fail2ban-client status postfix
6. Podsumowanie
✔ Analiza logów Postfix pozwala identyfikować źródła spamu i ataki na serwer pocztowy.
✔ Logwatch generuje raporty o podejrzanych działaniach i można go skonfigurować do automatycznych powiadomień.
✔ Fail2Ban automatycznie blokuje IP próbujące spamować lub atakować serwer SMTP.
✔ Regularne monitorowanie logów zwiększa bezpieczeństwo serwera pocztowego.
💡 Dzięki automatycznym narzędziom możemy zapobiegać atakom i utrzymywać czystość ruchu e-mail!