Назад | Перейти на главную страницу

Предлагаемые механизмы для обучения пользователей спаму?

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

Debian 7.5, postfix 2.9.6, dovecot 2.1.7, amavisd-new 2.7.1, spamassassin 3.3.2

Итак, у каждого из моих пользователей в каждом домене есть папка нежелательной почты (/var/vmail/domain/user/.Junk), куда они могут помещать спам, который не помечается как таковой. Тогда у меня есть этот сценарий:

/etc/cron.daily/learnspam

#!/bin/sh

find /var/vmail -name .Junk -exec echo Examining {}... \; -exec sa-learn --dbpath=/var/lib/amavis/.spamassassin --spam {}/cur \;

У меня также есть папка, которую каждый пользователь назвал «Ложные срабатывания», куда они могут перетаскивать сообщения, ошибочно помеченные как спам, и у меня есть ежедневный сценарий для этого, который распознает его как ветчину и перемещает обратно в свой почтовый ящик.

/etc/cron.daily/falsepos

#!/bin/sh

doveadm search -A mailbox 'False Positives' 2>/dev/null | while read user guid uid; do
    doveadm fetch -u $user text mailbox-guid $guid uid $uid > /tmp/$guid-$uid.eml
    doveadm move -u $user INBOX mailbox-guid $guid uid $uid
done

sa-learn --dbpath=/var/lib/amavis/.spamassassin --ham /tmp/*-*.eml
if ls /tmp/*-*.eml >/dev/null 2>&1; then
    rm /tmp/*-*.eml
fi

У меня вопрос, правильно ли я это делаю? Есть ли способ лучше? Делает sa-learn правильно работать с amavis? Я полагаю, пока я использую --dbpath=/var/lib/amavis/.spamassassin вариант, он должен работать нормально.

Вы можете взглянуть на dspam. Он интегрируется с Dovecot и делает в основном именно то, что вы хотите, но «на лету», когда происходят операции перемещения (перемещение в нежелательную почту => спам, перемещение из нежелательной почты => ложное срабатывание).

Ваш подход выглядит нормально; Я делаю нечто подобное.

Два замечания:

  • С помощью --dbpath это хорошо, что предотвращает распространенную ошибку настройки, когда SA использует БД в ~amavis и sa-learn записывает в другую БД в ~root.
  • Одно ограничение конструкции относительно многопользовательской работы: SpamAssassin использует единую глобальную Байесовскую БД, а не БД для каждого пользователя.

Dspam выполняет байесовскую фильтрацию лучше, чем spam assassin. Многие другие механизмы фильтрации, такие как RBL, серые списки и проверки достоверности DNS, могут быть настроены из MTA (например, postfix). При таком подходе вы просматриваете содержимое электронной почты только после прохождения других тестов, что делает систему гораздо менее требовательной к ресурсам. Вы не получите такой же взвешенной комбинации, но при правильной настройке вы можете получить очень хорошую систему для рассылки спама, которая использует гораздо меньше ЦП и ОЗУ. Также плагин dovecot запускается при перемещении почты между папками, что намного лучше, чем наличие отдельных папок для обучения.