SpamAssassin — фильтр спама от Apache Software Foundation. Каждому письму присваивается числовой балл (score): выше 5.0 по умолчанию — спам. Письма с оценкой 5-7 отмечаются как вероятный спам, выше 7 — блокируются или помещаются в папку Spam. Порог настраивается.
Как работает
SpamAssassin запускается как демон spamd, письма поступают через spamc (клиент). Анализирует: заголовки письма (From, Reply-To, Received), тело письма (HTML-коды, URI, ключевые слова), DNS-проверки SPF и DKIM, черные списки (RBL — Realtime Blackhole Lists: Spamhaus, SORBS).
Байесовский фильтр обучается на примерах: sa-learn --spam /путь/к/спаму обновляет вероятностную модель. После обучения на 1000+ примерах точность достигает 95-99%.
Пример правил: RAZOR2_CHECK (+1.5 балла, письмо в базе Razor), HTML_IMAGE_ONLY_08 (+3.0, письмо только из изображений), SPF_PASS (-0.9, SPF прошёл проверку).
История
SpamAssassin создан Джастином Мэйсоном (Justin Mason) и выпущен в 2001 году. В 2003 году принят Apache Software Foundation (ASF). Версия 3.0 (2004) добавила байесовскую фильтрацию. К 2024 году — стандартный компонент почтовых серверов на cPanel, Plesk и ISPmanager. Установлен на миллионах серверов.
Интеграция
- Postfix: через amavisd-new или MilterInterface.
- Exim: нативная интеграция через ACL.
- cPanel: встроен в Apache SpamAssassin в разделе Email.
- Rspamd: современная альтернатива, работает быстрее при той же функциональности.
Связь с хостингом
На виртуальном хостинге cPanel SpamAssassin включается в один клик с настройкой порогового балла. На VPS с собственным почтовым стеком (Postfix + Dovecot) SpamAssassin устанавливается отдельно. Rspamd (2013) — более быстрая замена: обрабатывает 50 000+ писем/сек против 5 000 у SpamAssassin.
Ключевые отличия от похожих терминов
RBL — базы репутации IP. SpamAssassin использует RBL как один из факторов оценки, но не ограничивается ими. Rspamd — современная замена SpamAssassin с Lua-правилами и REST API. DKIM/SPF — DNS-механизмы аутентификации, SpamAssassin проверяет их в числе многих факторов.
Принцип работы SpamAssassin
SpamAssassin анализирует письмо по 1000+ правилам: заголовки, содержимое, URL, репутация IP. Каждое правило добавляет или снимает баллы. Порог: score >= 5 → спам. AWL (Auto-Whitelist): автоматически снижает оценку для регулярных корреспондентов.
Настройка и обновление правил
sa-update обновляет правила ежедневно (cron-задача). Bayes-фильтр обучается: sa-learn --spam mbox_spam и sa-learn --ham mbox_ham. local.cf: корректировка порогов и отключение правил. После 1000 писем Bayes активируется автоматически.
SpamAssassin в связке с Postfix
Postfix → SpamAssassin (через amavisd или spamc) → добавление заголовков X-Spam-Score. Правила Procmail или Sieve перемещают письма в папку Spam по заголовку. Комплексное решение: Postfix + SpamAssassin + ClamAV + DKIM.