Postfix и Spamassassin
итак, в прошлый раз мы настроили антивирус ClamAV для работы с Postfix. Пора теперь побороть и спам на наших почтовых серверах.
Для начала, нам нужно установить Spamassassin.
yum install spamassassin
Далее нам нужно немного исправить конфиг /etc/mail/spamassassin/local.cf:
# После скольки очков письмо считается спамом required_hits 4.0 # 4 - это ну очень уж жестоко, кстати # Небольшой текст, который мы добавим в письмо в тему. # Теперь по слову SPAM пользователи могут настроить фильтр # для отправки этого добра сразу в корзинку rewrite_header Subject [*****SPAM*****] # Можно спам убрать вообще в прикрепленный файл. Но стоит ли... report_safe 0 # Включить Bayes use_bayes 1 # Включить автообучение Bayes bayes_auto_learn 1 bayes_path /home/spamd/ bayes_file_mode 0666 # Включить или нет сетевые проверки skip_rbl_checks 0 use_razor2 0 use_dcc 0 use_pyzor 0 # И белый список ну очень важных персон whitelist_from *@xyz.xx
Теперь надо запустить антиспам:
/etc/init.d/spamassassin restart
И проверяем с помощью команды netstat -antpu | grep spam
tcp 0 0 127.0.0.1:783 0.0.0.0:* LISTEN 20622/spamd.pid
Отлично, антиспам готов работать от зари до зари. Осталось только намекнуть Postfix, чтобы он не брезговал помощью такого важного друга. Для этого просто откроем файл /etc/postfix/master.cf и немного изменим его (к лучшему!):
Дня начала найдите строчку (почти в самом верху), которая начинается на smtp. Например, такую:
smtp inet - - n - - smtpd
И измените её до такого состояния:
smtp inet n - n - - smtpd -o content_filter=spamfilter:dummy
Обратите внимание, что не только добавилась вторая строчка, но и символ n после слова inet.
Теперь стоит перейти в конец файла, чтобы еще немного поизуродовать его. Например, добавить такие следующие строки:
#welcome spam
spamfilter unix - n n - - pipe
flags=Rq user=spamfilter argv=/usr/local/bin/spamfilter -f ${sender} -- ${recipient}
И к тому же создаём файл /usr/local/bin/spamfilter следующего содержания:
#!/bin/bash /usr/bin/spamc | /usr/sbin/sendmail.postfix -i "$@" exit $?
Сохраняем и перезапускаем нашего Франкенштейна:
/etc/init.d/postfix restart
Теперь, как только спам будет поступать, в логах можно будет увидеть следующее:
Nov 23 14:47:24 domain spamd[20625]: spamd: result: . 3 - HTML_MESSAGE...... и т.д.