Установка антиспама SpamAssassin на Postfix

SpamAssassin пожалуй одно из наиболее распространенных ПО для борьбы со спамом. А точнее определения спама. Данный продукт присутствует в официальном репозитории, так что установка трудностей не вызовет.

#aptitude install spamassassin

Создадим пользователя, под которым бужет работать SpamAssassin:

#adduser virtual

Теперь настроим SpamAssassin. Для этого отредактируем файл /etc/spamassassin/local.cf:
rewrite_header Subject *****SPAM*****
report_safe 0
trusted_networks 192.168.0.0/24
required_score 5.0
use_bayes 1
bayes_auto_learn 1
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status

bayes_min_ham_num 1
bayes_min_spam_num 1
report_charset koi8-r
ok_locales ru en uk

bayes_path /var/spool/bayes/bayes
bayes_file_mode 0666

score SUBJ_FULL_OF_8BITS 0
score FROM_ILLEGAL_CHARS 0
score SUBJ_ILLEGAL_CHARS 0
score HEAD_ILLEGAL_CHARS 0
score HABEAS_SWE 0
score FORGED_IMS_TAGS 1
score BAYES_00 0.0001 0.0001 -2.312 -2.599
score BAYES_05 0.0001 0.0001 -1.110 -1.110
score BAYES_20 0.0001 0.0001 -0.740 -0.740
score BAYES_40 0.0001 0.0001 -0.185 -0.185
score BAYES_50 0.0001 0.0001 0.001 0.001
score BAYES_60 0.0001 0.0001 2.0 2.0
score BAYES_80 0.0001 0.0001 3.0 3.0
score BAYES_95 0.0001 0.0001 3.5 3.5
score BAYES_99 0.0001 0.0001 5.0 5.0
score ALL_TRUSTED -3.360 -3.440 -3.665 -3.800


Пришло время подключить SpamAssassin к серверу Postfix.
В файл /etc/postfix/master.cf после строки
smtp inet n       -       -       -       -       smtpd
добавим строчку:
-o content_filter=spamassassin

И в конец этого файла вставим:
spamassassin unix       -       n       n       -       -       pipe
user=virtual argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}


Теперь необходимо перезапустить сервисы postfix и SpamAssassin:
#service postfix restart
#service spamassassin restart

Система антиспама у нас уже работает.

Однако на старте SpamAssassin не очень хорошо различает спам. Ему требуется обучение.
Для этого копируем письма, которые были нераспознаны как спам в папку /home/virtual/spam,
а письма которые были ложно распознаны как спам в /home/virtual/nospam,
и выполним команды:
#sa-learn --ham /home/virtual/nospam/
#sa-learn --spam /home/virtual/spam/


Таким образом мы обучаем байесовский фильтр.
Делать это стоит по мере необходимости.

 

Добавить комментарий

Защитный код
Обновить