Настройка crm114 в связке с dovecot-antispam |
[исправить] |
Плагин dovecot-antispam для dovecot позволяет сделать обучение
спамофильтра более удобным: указав плагину имя директории со спамом, можно
автоматически обозначать почту как спам или не спам, перенося её в/из
этой директории соответственно. В данном статье рассматривается способ
организации связки MDA (maildrop), фильтра (crm114) и IMAP-сервера
(dovecot) для реализации этой возможности. В качестве базовой системы
рассматривается Debian 6.0 (squeeze).
Установка
Установим необходимые пакеты штатным способом из репозитория (для
dovecot-antispam потребуется подключить репозиторий squeeze-backports
или взять версию из wheezy):
dovecot
dovecot-antispam
crm114 (содержит почтовый фильтр)
maildrop (или любой другой MDA, который Вы сумеете настроить должным
образом)
mew-bin (для распаковки MIME-вложений)
Настройка dovecot-antispam
Скопируйте шаблон настроек плагина из man dovecot-antispam в
/etc/dovecot/dovecot.conf или во включаемый файл настроек. Задайте путь
к исполняемому файлу mailreaver из состава crm114 и укажите имена папок
для спама, подозрительных на спам писем и папки удалённых сообщений.
plugin {
# backend selection, MUST be configured first,
# there's no default so you need to set one of
# these options:
antispam_backend = crm114
# semicolon-separated list of Trash folders (default unset i.e. none)
antispam_trash = Trash
# semicolon-separated list of spam folders
antispam_spam = spam
# semicolon-separated list of unsure folders (default unset i.e. none)
antispam_unsure = suspicious
#===================
# crm114 plugin
# mailreaver binary
antispam_crm_binary = /usr/share/crm114/mailreaver.crm
# semicolon-separated list of extra arguments to dspam
# (default unset i.e. none)
antispam_crm_args = --fileprefix=%h/.crm114/
# NOTE: you need to set the signature for this backend
antispam_signature = X-CRM114-CacheID
}
Включите плагин антиспама в dovecot.conf
protocol imap {
mail_plugins = antispam
mail_plugin_dir = /usr/lib/dovecot/modules/imap
}
Предварительная настройка CRM114
Согласно указанному в переменной antispam_crm_args, будем
хранить настройки crm114 в подкаталоге .crm114 родительского каталога
пользователя.
Распакуйте пример настроечного файла mailfilter.cf из
/usr/share/doc/crm114/examples/mailfilter.cf.gz и отредактируйте его,
особое внимание обратив на поля spw, mime_decoder, log_to_allmail.txt и
trainer_invoke_command.
Создайте файл rewrites.mfp аналогичного вида, указав подходящую
информацию:
vassile@pupkine.example.com>->MyEmailAddress
[[:space:]]Vassile Pupkine>-> MyEmailName
mail.example.com>->MyLocalMailRouter
192.168.10.20>->MyLocalMailRouterIP
Инициализируйте базы спама/не спама:
cssutil -b -r spam.css
cssutil -b -r nonspam.css
Создайте (возможно, пустой) файл priolist.mfp, предназначенный для
хранения белых/чёрных списков хостов
Настройка MDA
При получении письма следует его сначала пропустить через mailreaver из
комплекта CRM114, чтобы добавить заголовки с информацией о результате
проверки и идентификатором сообщения в кеше. Последнее будет
использоваться впоследствии при переобучении фильтра. Затем, в зависимости
от результатов проверки, письмо сохраняется в папку спама или
подозрительных писем.
Для maildrop и хранилища почты в виде Maildir вышеописанное будет
выглядеть следующим образом:
DEFAULT="$HOME/Maildir"
xfilter "/usr/share/crm114/mailreaver.crm -u $HOME/.crm114/"
if (/X-CRM114-Status: SPAM.*/)
{
to $DEFAULT/.spam/
}
if (/X-CRM114-Status: Unsure.*/)
{
to $DEFAULT/.suspicious/
}
Обучение спамофильтра
Теперь пора приступать к обучению фильтра:
Спам перемещать в папку spam
Нужные сообщения перемещать из папок spam и suspicious в подходящее место
Для обучения спамофильтра на ранее пришедших письмах используйте:
"/usr/share/crm114/mailreaver.crm -u $HOME/.crm114/ --good < /путь/к/письму
"/usr/share/crm114/mailreaver.crm -u $HOME/.crm114/ --spam < /путь/к/письму
Для исходящей почты предусмотрен отдельный режим обучения:
"/usr/share/crm114/mailreaver.crm -u $HOME/.crm114/ --outgoing < /путь/к/письму
|
|
|
|
Раздел: Корень / Администратору / Сетевые сервисы / Mail, почта / Борьба со спамом, фильтрация почты |
1.1, шредер (?), 22:54, 01/06/2012 [ответить]
| +/– |
это по какому часовому поясу создана статья??!!
02.06.2012
сейчас еще 01.06.2012 :)
| |
|
|
|
4.4, pavlinux (ok), 14:52, 05/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> почему в whois питер написан?
Где?!?!?
domain: OPENNET.RU
nserver: ns.opennet.ru. 77.234.201.246
nserver: ns2.tyumen.ru.
nserver: ns3.tyumen.ru.
state: REGISTERED, DELEGATED, UNVERIFIED
person: Private Person
registrar: RU-CENTER-REG-RIPN
admin-contact: https://www.nic.ru/whois
created: 1998.06.11
paid-till: 2012.07.01
free-date: 2012.08.01
source: TCI
Не, сам сервак живёт в питере, а вот админ в Тюмени.
| |
|
|
|
1.5, Аноним (-), 21:27, 15/07/2012 [ответить]
| +/– |
А зачем maildrop, когда у Dovecot'а есть свой MDA и поддержка sieve?
| |
|
2.6, Alexander Galanin (?), 13:57, 04/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
Перед тем, как проверять заголовки письма, его надо пропустить через анализатор спама (в данном случае crm114). Я делаю это с помощью maildrop, но можно обойтись и другими способами.
В текущей моей конфигурации после проверки на спам письмо передаётся в /usr/lib/dovecot/deliver для последующей обработки через sieve.
| |
|
|