Спам-фильтр — компонент почтовой системы, отделяющий нежелательные, вредоносные и рекламные письма от легитимной почты. Работает на уровне SMTP-сервера (до приёма письма) или после приёма (анализ содержимого и метаданных). По данным Statista, в 2023 году 45–48% всей электронной почты составлял спам.
Как работает
Спам-фильтрация использует несколько методов одновременно:
- DNS-черные списки (RBL/DNSBL) — проверяет IP отправителя по базам Spamhaus, SpamCop. Если IP в списке — письмо отклоняется на уровне SMTP.
- SPF/DKIM/DMARC — проверяет аутентификацию отправителя. Письмо без DKIM от домена с DMARC=reject — отклоняется.
- Байесовский фильтр — анализирует статистическое распределение слов в письме. Обучается на обратной связи пользователей («Это спам»).
- Контентный анализ — SpamAssassin начисляет баллы за признаки спама: слова в теме, структуру HTML, соотношение текст/изображения, скрытый текст.
- Репутация домена и IP — Google, Microsoft и другие ведут внутренние системы репутации на основе исторических данных о жалобах.
Rspamd — современный open-source спам-фильтр, более быстрый и точный чем SpamAssassin. Используется в HestiaCP и большинстве современных почтовых стеков.
История
Первый спам отправлен 3 мая 1978 года Гэри Тёрком (Gary Thuerk) из DEC — 400 адресатов ARPANET. SpamAssassin создан Джастином Мэйзоном (Justin Mason) в 2001 году. Spamhaus основана в 1998 году. Байесовская фильтрация применена к антиспаму Полом Грэмом (Paul Graham) в 2002 году в статье «A Plan for Spam».
Спам-фильтры: обучение и адаптация
Байесовский спам-фильтр (SpamAssassin, Rspamd) обучается на реальной почте: sa-learn --spam /path/to/spam и sa-learn --ham /path/to/ham. После обучения на 200+ письмах точность фильтрации достигает 98-99%. Rspamd использует нейросетевую классификацию (DNSBL, fuzzy hashing, neural network) и значительно точнее SpamAssassin на современном спаме.
Серые списки (greylisting): при первом получении письма от неизвестного отправителя сервер временно отклоняет (450) и запоминает triplet (IP, MAIL FROM, RCPT TO). При повторной попытке через 5-15 минут письмо принимается — спам-боты обычно не перепосылают. Greylisting в Postfix: milter-greylist или Rspamd модуль. Недостаток: задержка 5-15 мин на первое письмо от нового отправителя.
На что обращать внимание
False positive (ошибочное попадание в спам легитимных писем) — серьёзная проблема для бизнес-почты. Правильная настройка SPF, DKIM, DMARC и PTR-записи снижает вероятность ложных срабатываний. Для корпоративной рассылки через собственный SMTP: prewarm IP (постепенно увеличивать объём рассылки) и регулярно проверять наличие домена в RBL через MXToolbox.
Спам-фильтры в хостинге
SpamAssassin — стандартный спам-фильтр в большинстве хостинговых панелей (HestiaCP, cPanel). Rspamd — более современный, быстрый, рекомендован для нагруженных серверов. Связка: Postfix (MTA) → Rspamd/SpamAssassin → Dovecot (IMAP). Настройка: порог баллов спама (score > 5 — спам). Помимо SPF, DKIM, DMARC для исходящей почты, важны настройки входящей фильтрации: RBL (Real-time Blackhole List) — проверка IP-отправителя по блок-листам. Обучение фильтра на VPS: sa-learn --spam (SpamAssassin) — улучшает точность классификации. SMTP-greylisting: временная задержка первого письма от неизвестного отправителя — эффективно против bot-спама.