CentOs: instalacja SpamAssassin

Mając własny serwer z zainstalowanym serwerem poczty wkrótce dopadnie Cie problem ze spamem trafiającym na skrzynki mailowe. W tym celu warto zainstalować SpamAssassin, który w pewnym stopniu pozwoli wykryć i oznaczyć wiadomości podejrzewane jako spam. Dzięki temu klient pocztowy, z którego korzystamy w jakiś sposób będzie mógł filtrować ściągane wiadomości.

Rozpoczynamy od zainstalowania odpowiedniego oprogramowani wydając polecenie:

1
yum install spamassassin

Uruchamiamy nasz program i dodajemy odpowiednią linijkę, aby przy restarcie systemu automatycznie się uruchamiał:

1
2
service spamassassin start
chkconfig --levels 235 spamassassin on

Musimy jeszcze skonfigurować nasz program. Plik konfiguracyjny znajduje się pod ścieżką /etc/mail/spamassassin/local.cf

1
vi /etc/mail/spamassassin/local.cf

Możemy użyć generatora do stworzenia optymalnej dla nas konfiguracji. Link do generatora znajdziesz tutaj. Ja jednak nie skorzystam z niego 😉

Moja konfiguracja wygląda następująco:

1
2
3
4
required_hits 5
report_safe 1
rewrite_header Subject [SPAM]
auto_learn 1

Pierwsza wartość to progowa wyliczona wartość spamowa wiadomości, od której uznawana jest za SPAM. Kolejna to włączenie raportowania (0, aby wyłączyć). Następnie informacja w jaki sposób w temacie będzie zaznaczana wiadomość oznaczona jako spam. Ostatnia, towłączone automatyczne uczenie się filtra Bayes-a.

Dokonujemy restartu Spam Assassina:

1
service spamassassin restart

Pozostaje jeszcze konfiguracja naszego Postfix’a. Edytujemy plik: /etc/postfix/master.cf

1
vi /etc/postfix/master.cf

Dodajemy na końcu linijkę:

1
2
spamfilter unix - n n - - pipe
  flags=Rq user=spamfilter argv=/usr/local/bin/spamfilter -f ${sender} -- ${recipient}

Modyfikujemy linijkę na początku pliku:

1
smtp inet n - n - - smtpd

na:

1
2
smtp inet n - n - - smtpd
-o content_filter=spamfilter:dummy

Dodajemy użytkownika spamfilter

1
adduser spamfilter -s /sbin/nologin

Tworzymy skrypt bashowy:

1
vi /usr/local/bin/spamfilter

o następującej zawartości:

1
2
3
4
5
#!/bin/bash

/usr/bin/spamc | /usr/sbin/sendmail.postfix -i "$@"

exit $?

Zmieniamy właściciela skryptu na użytkownika spamfilter:

1
chown spamfilter /usr/local/bin/spamfilter

oraz zmieniamy prawa zapisu:

1
chmod 755 /usr/local/bin/spamfilter

Na końcu przeładowujemy Postfix’a:

1
/etc/init.d/postfix reload

Comments

pablo

Dzięki wielkie, przerobiłem kilka tutoriali ale żaden z nich nie chciał zadziałać „do końca” zawsze występowały jakieś problemy.
Gdy przerobiłem krok po kroku powyższy tutorial od razu wszystko zadziałało.

Pozdrawiam,
PC

Reply

Leave a Comment

thirteen + 1 =