Integracja Postfix z SpamAssassin – Skuteczna Ochrona Przed Spamem
Linux

Integracja Postfix z SpamAssassin – Skuteczna Ochrona Przed Spamem

Integracja Postfix z SpamAssassin – Skuteczna Ochrona Przed Spamem

Spam to jedno z największych wyzwań dla administratorów serwerów pocztowych. SpamAssassin to popularne narzędzie do filtrowania spamu, które analizuje treść wiadomości i przypisuje im punkty na podstawie różnych reguł. Można go zintegrować z Postfix, aby skutecznie blokować niechciane wiadomości i minimalizować ryzyko fałszywie pozytywnych wyników.

W tym artykule omówimy:
Instalację i konfigurację SpamAssassin.
Ustawienie progów spamu i odpowiednich akcji.
Automatyczne uczenie SpamAssassin na podstawie oznaczonych wiadomości.


1. Jak działa SpamAssassin?

SpamAssassin ocenia każdą wiadomość na podstawie reguł filtrowania, takich jak:

  • Analiza nagłówków i treści wiadomości.
  • Sprawdzanie czarnych list (RBL).
  • Analiza heurystyczna i statystyczna.
  • Użycie systemu Bayesowskiego do nauki na podstawie poprzednich wiadomości.

Wiadomości są punktowane – jeśli przekroczą określony próg, są uznawane za spam i mogą zostać:
✅ Oznaczone jako spam i dostarczone do skrzynki odbiorczej.
✅ Automatycznie usunięte lub przekazane do innego katalogu.

Integracja Postfix z SpamAssassin – Skuteczna Ochrona Przed Spamem
Integracja Postfix z SpamAssassin – Skuteczna Ochrona Przed Spamem

2. Instalacja SpamAssassin i wymaganych pakietów

SpamAssassin działa jako samodzielna usługa lub w połączeniu z Postfix poprzez amavisd-new lub spamd/spamc.

2.1. Instalacja na Debian/Ubuntu

sudo apt update
sudo apt install spamassassin spamc

2.2. Instalacja na CentOS/RHEL

sudo yum install spamassassin spamc

Po instalacji uruchamiamy i włączamy SpamAssassin:

sudo systemctl enable spamassassin
sudo systemctl start spamassassin

3. Konfiguracja SpamAssassin

Plik konfiguracyjny SpamAssassin znajduje się w:

/etc/spamassassin/local.cf

Edytujemy go:

sudo nano /etc/spamassassin/local.cf

Dodajemy lub modyfikujemy następujące opcje:

required_score 5.0  # Próg uznania wiadomości za spam (im niższa wartość, tym bardziej agresywny filtr)
rewrite_header Subject ***SPAM***  # Dodaje etykietę SPAM w temacie wiadomości
use_bayes 1  # Włącza uczenie Bayesowskie
bayes_auto_learn 1  # Automatyczne uczenie na podstawie klasyfikacji wiadomości
skip_rbl_checks 0  # Włącza sprawdzanie czarnych list RBL

Po zapisaniu zmian restartujemy SpamAssassin:

sudo systemctl restart spamassassin

4. Integracja SpamAssassin z Postfix

Postfix nie obsługuje natywnie SpamAssassin, ale możemy go skonfigurować do filtrowania wiadomości przy użyciu spamd/spamc.

Czytaj  Konfiguracja list RBL (Realtime Blackhole Lists) w Postfix: Skuteczna Ochrona przed Spamem

4.1. Edycja master.cf w Postfix

Edytujemy plik /etc/postfix/master.cf:

sudo nano /etc/postfix/master.cf

Dodajemy poniższą sekcję na końcu pliku:

smtp      inet  n       -       n       -       -       smtpd
    -o content_filter=spamassassin
spamassassin unix -     n       n       -       -       pipe
    user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Zapisujemy i restartujemy Postfix:

sudo systemctl restart postfix

💡 Teraz każda wiadomość będzie przechodziła przez SpamAssassin, zanim zostanie dostarczona do użytkownika.


5. Automatyczne uczenie SpamAssassin na podstawie oznaczonych wiadomości

SpamAssassin można nauczyć, które wiadomości to spam, a które są poprawne. Do tego celu służą dwie komendy:

  • Uczenie na podstawie spamu (np. katalogu „Spam” użytkownika):
    sa-learn --spam /var/mail/spam
    
  • Uczenie na podstawie dobrych wiadomości (np. katalogu „Inbox” użytkownika):
    sa-learn --ham /var/mail/inbox
    

Aby automatycznie uczyć SpamAssassin, możemy dodać zadanie CRON:

crontab -e

Dodajemy:

0 2 * * * sa-learn --spam /var/mail/spam && sa-learn --ham /var/mail/inbox

💡 Teraz SpamAssassin będzie codziennie analizował wiadomości i dostosowywał swoje reguły!


6. Testowanie konfiguracji SpamAssassin

Po skonfigurowaniu SpamAssassin możemy przetestować jego działanie, wysyłając testową wiadomość zawierającą „GTUBE” – standardowy wzorzec testowy spamu:

echo "XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X" | mail -s "Test Spam" user@example.com

Jeśli wszystko działa poprawnie, wiadomość powinna zostać oznaczona jako spam.

Możemy również sprawdzić logi w:

sudo tail -f /var/log/mail.log | grep spamd

7. Optymalizacja i dostosowanie konfiguracji

Dostosowanie progu spamu: Jeśli zbyt wiele wiadomości jest błędnie klasyfikowanych, możemy dostosować wartość required_score.

Blokowanie znanych spamerów: Możemy dodać adresy e-mail lub domeny do czarnej listy w /etc/spamassassin/local.cf:

blacklist_from spammer@example.com

Dostosowanie reguł: SpamAssassin obsługuje niestandardowe reguły w /etc/spamassassin/user_prefs.


Podsumowanie

SpamAssassin to skuteczne narzędzie do filtrowania spamu w Postfix.
Prosta integracja z Postfix przy użyciu spamd/spamc.
Możliwość dostosowania progów spamu i wyjątków.
Automatyczne uczenie na podstawie oznaczonych wiadomości poprawia skuteczność filtrowania.

Czytaj  Omijanie Filtrów Antyspamowych i Technik Wykrywania Spamu

Dzięki tej konfiguracji Twoja skrzynka e-mail będzie wolna od spamu, a użytkownicy otrzymają tylko istotne wiadomości.

Polecane wpisy
Przewodnik po poleceniach terminala w systemie Linux
Przewodnik po poleceniach terminala w systemie Linux

Przewodnik po poleceniach terminala w systemie Linux Terminal to podstawowe narzędzie w systemie Linux, które umożliwia wykonywanie różnych zadań, takich Czytaj dalej

Popularne programy dla Linuksa: LibreOffice, Firefox i GIMP
Popularne programy dla Linuksa: LibreOffice, Firefox i GIMP

Popularne programy dla Linuksa: LibreOffice, Firefox i GIMP Linux oferuje szeroką gamę programów, które są darmowe i otwarte oprogramowanie, co Czytaj dalej