Image

База знаний → Настройка антиспам фильтра и группировка писем в папку Спам для службы Postfix Ubuntu

Настройка службы антиспама spamassassin на почтовом сервер Ubuntu\Debian для службы Postfix и перемещение писем в папку Спам. Данная конфигурация позволяет сделать работу с почтой комфортной за счет обучения фильтра и автоматического перемещение писем.

В данном руководстве предполагается, что сам почтовый сервер у Вас уже настроен и необходимо произвести настройку спам фильтра. Подробнее про настройку почтового сервера можно посмотреть тут:

Вы также можете заказать VPS с уже преднастроенной операционной системой и получить готовый корпоративный почтовый сервер по цене VPS сервера.

1. Установим службу spamassassin

apt-get install spamassassin spamc
adduser spamd --disabled-login

2. Настроим службу

vi /etc/default/spamassassin

Найдите строку:

OPTIONS="--create-prefs --max-children 5 --helper-home-dir"

и замените на:

OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir /home/spamd/ -s /home/spamd/spamd.log"

В самом конце файла включим крон:

CRON=1

Сохраним файл. (:wq)

3. Настройка фильтра:

mv /etc/spamassassin/local.cf /etc/spamassassin/local.cf.bk
vi /etc/spamassassin/local.cf

rewrite_header Subject ***** SPAM SCORE ***** report_safe 0 required_score 5.0 use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 skip_rbl_checks 0 use_razor2 0 use_pyzor 0 ifplugin Mail::SpamAssassin::Plugin::Shortcircuit endif

Сохраним файл.

4. Настройка службы Postfix

Найдите строку smtp и добавьте конфигурацию ниже:

vi /etc/postfix/master.cf

smtp inet n - y - - 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}

Сохраним файл и перезапустим службы

systemctl restart postfix.service
systemctl enable spamassassin.service
systemctl start spamassassin.service

Проверим работу службы отправив на почтовый ящик письмо содержащее данный текст:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

5. Настроим перемещение спам писем в папку Спам.

Установим и настроим службу Sieve

apt-get install dovecot-sieve dovecot-managesieved
vi /etc/dovecot/conf.d/90-sieve.conf

sieve = /etc/dovecot/dovecot.sieve

Сохраним файл.

Создадим файл:

vi /etc/dovecot/dovecot.sieve

require "fileinto"; if header :contains "SPAM" "YES" { fileinto "Junk"; } if header :contains "X-Spam-Flag" "YES" { fileinto "Junk"; }

Сохраним файл.

Добавим в конец файла конфигурацию:

vi /etc/dovecot/dovecot.conf

service stats { unix_listener stats-reader { user = vmail group = vmail mode = 0660 }

unix_listener stats-writer {

user = vmail group = vmail mode = 0660 } }

Сохраним файл.

Добавим конфигурацию в файл, чтобы строка выглядела так:

vi /etc/dovecot/conf.d/15-lda.conf

protocol lda { mail_plugins = $mail_plugins sieve }

Добавим конфигурацию в файл, чтобы строка выглядела так:

vi /etc/dovecot/conf.d/10-director.conf

protocol lmtp { mail_plugins = $mail_plugins sieve }

Перезапустим службы:

systemctl start spamassassin.service 
systemctl restart postfix.service

Теперь все письма помеченные как спам будут появляться в папке Спам.





reyson
21.07.2024 21:18
Здравствуйте! Похоже правила описанные в /etc/dovecot/dovecot.sieve устарели и не работают.

Требуется что то вроде этого

require ["body","fileinto"];
# rule:[Spam]
if header :contains "subject" "SPAM"
{
fileinto "Junk";
}