Настройка антиспам на Zimbra, модуль amavisd

В почтовом сервере Zimbra есть свой внутренний фильтр спама и он давольно хорош, но его необходимо обучать. Есть несколько вариантов обучения почтового антиспам фильтра.

  • Создание черных и белых списков серверов для фильтрации спама.

Как показала практика это не совсем эффективный способ. Спамеры уже используют надежные сервера.

  • Обучение почтового фильтра спама.

Этот процесс долгий, но эффективный.

  • Затягивание уровней фильтрации.

Самое главное не сильно перетянуть фильтр.

Обучения почтового сервера фильтровать спам.

Я применяю последние два варианта. При установке и настройки Zimbra создаются два почтовых ящика для фильтрации и обучения почтового фильтра. Для хороших писем, в моем случае, создано почтовый ящик с именем ham.dztitsdftu9@... (самое основное до точки, остальное пустой набор символов) и для спам писем spam.zeas8tnsdfgx3@... Разбрасывая вручную письма по данным почтовым ящикам сервер анализирует и обучается, письма он там не хранит, после обучения удаляет. Можно и через веб-интерфейс нажимая кнопки Спам и Не спам.

Настройка и калибровки уровней фильтра спама.

За фильтр писем отвечает 2 параметра:

zimbraSpamKillPercent - порог удаления писем (по умолчанию 75)

zimbraSpamTagPercent - порог переноса в папку спам (по умолчанию 33)

Перед изменением сперва проанализируем письма попавшие в папку Входящие. Найдя письмо явного спама, нажимаем правой кнопкой мыши на письме и смотрим его содержимое "Показать оригинал" (перевод как обычно хромает в интерфейсе Zimbra). Для нас основное итоги анализа.

...
X-Spam-Flag: NO X-Spam-Score: 4.815 X-Spam-Level: **** X-Spam-Status: No, score=4.815 tagged_above=-10 required=5
tests=[BAYES_99=3.5, DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, FREEMAIL_REPLYTO_END_DIGIT=0.25, RDNS_NONE=0.793, T_FREEMAIL_FORGED_FROMDOMAIN=0.01, T_HEADER_FROM_DIFFERENT_DOMAINS=0.01] autolearn=no
...

Это кусок прошедшего спама. Из отчета видно что его оценили на 4.815 бала. Балы варьируют от -20 до 20, чем больше то спам.

Рассчитать данные очень просто:

ZimbraSpamTagPercent * 20% = 33 * 0,2  = 6,6
ZimbraSpamKillPercent * 20% = 75 * 0,2 = 15

Получаем что письмо получившее более 6,6 балов попадет в спам, а превысив 15 балов будет автоматически удалено.

Просмотрев все письма попавшие в папку Входящие и точно спам, я выставил на фильтр

zimbraSpamTagPercent = 22

Это 4,4 бала. Но нужно просматривать папку спам и вытаскивать хорошие письма (такого пока не было), если их там много, коэффициент нужно повысить или понизить.

После применения необходимо перезапустить модуль amavisd. Описал в статье

Перезапустить amavisd или как презепускать службы Zimbra

По возможности описал все подробно.

Применение черного и белого списка спам серверов

Здесь можно найти список спам серверов:

/opt/zimbra/conf/spamassession/50_scores.cf

И надежных серверов:

/opt/zimbra/conf/spamassessin/60_whitelist.cf

Приятной борьбы со спамом.