Настройка фильтрации спама через Rspamd и Postfix на VPS: пошаговое руководство

ГлавнаяНастройка фильтрации спама через Rspamd и Postfix на VPS: пошаговое руководство

Содержание

Защита почтового сервера от спама — одна из самых важных задач для любого администратора. Особенно, если вы настраиваете собственный mail-сервер на VPS. В этой статье я расскажу, как я внедрила мощную систему фильтрации спама с помощью Rspamd и Postfix, что учла по ходу настройки и какие нюансы могут подстерегать вас на практике.

Зачем нужен антиспам-фильтр?

Если у вас нет защиты, почтовый сервер моментально становится жертвой:

  • рассылки спама с вашей стороны (если скомпрометирован аккаунт),
  • приёма тысяч мусорных писем (если открыт вход),
  • попадания в блэклисты, после чего письма вообще не доставляются.

Поэтому связка Postfix + Rspamd — это почти must-have. Особенно если вы хотите избежать сложностей со старыми решениями вроде SpamAssassin. Я пробовала оба варианта — разница в скорости, точности и гибкости просто колоссальная.


Почему Rspamd, а не SpamAssassin?

ПараметрRspamdSpamAssassin
СкоростьВысокая, на C языкеНизкая, на Perl
ОбновленияАктивно поддерживаетсяОбновляется медленно
РасширяемостьLua-скрипты, интеграция с RedisОграничена
UI/Панель управленияЕсть (Web-интерфейс)Нет
Поддержка DKIM/ARCВстроенаТребует сторонние модули

Что нужно для старта?

  • VPS с Linux (у меня — Debian 12, подойдёт и Ubuntu 22.04)
  • Установленный и настроенный Postfix (MTA)
  • Доступ по SSH с root-доступом
  • Желание копаться в конфигах 😉

Установка Rspamd

Я ставила Rspamd из официальных репозиториев:

# Добавим репозиторий Rspamd
echo "deb [arch=amd64] http://rspamd.com/apt/debian bookworm main" | tee /etc/apt/sources.list.d/rspamd.list
curl -1sLf 'https://rspamd.com/apt-stable/gpg.key' | apt-key add -

# Установка
apt update && apt install rspamd redis-server -y

Rspamd будет использовать Redis для кэширования. Без него часть функций просто не работает — имейте в виду.


Интеграция Rspamd с Postfix

Самое интересное начинается, когда мы “вшиваем” Rspamd в поток почты. Вот основные изменения, которые нужно внести в /etc/postfix/main.cf:

smtpd_milters = inet:localhost:11332
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
milter_protocol = 6

Теперь письма, проходящие через Postfix, будут анализироваться Rspamd до приёма.


Настройка Rspamd

Файлы конфигурации Rspamd находятся в /etc/rspamd/local.d/. Важные модули:

  • dkim_signing.conf — для DKIM-подписей
  • milter_headers.conf — управление заголовками
  • surbl.conf и rbl.conf — для работы с блэклистами
  • greylist.conf — серый список
  • antivirus.conf — подключение ClamAV
  • neural.conf — машинное обучение (!)

Советую включить Web-интерфейс, это очень помогает:

# Включение WebUI
nano /etc/rspamd/local.d/worker-controller.inc
bind_socket = "127.0.0.1:11334";
password = "$2$randomsalt$hash";
enable_password = true;

Затем перезапуск:

systemctl restart rspamd

Теперь по адресу http://127.0.0.1:11334 можно будет смотреть метрики, тренировать бейесовский фильтр и управлять конфигурацией.


Обучение антиспама

Rspamd может обучаться на письмах вручную. Я добавила в Roundcube возможность пометки письма как “спам” и “не спам”, и настроила rspamc для отправки образцов:

rspamc learn_spam < spam.eml
rspamc learn_ham < notspam.eml

Важно делать это регулярно, особенно в первое время — тогда фильтр начнёт работать как надо.


DKIM, SPF и DMARC

Антиспам — это не только фильтрация входящих, но и защита репутации отправляемых писем.

  • Для DKIM я использовала встроенный модуль Rspamd (dkim_signing.conf).
  • SPF и DMARC настроены через DNS-записи.
  • Можно добавить отчёты DMARC на почту и мониторить доменную репутацию.

Возможные ошибки

  • Не работает веб-интерфейс? Проверь worker-controller.inc, правильный порт, нет ли firewall’а.
  • Письма не проходят? Возможно, слишком агрессивные настройки (например, выставлен reject вместо add header).
  • Rspamd не запускается? Логи в journalctl -u rspamd помогут понять, что не так.

Мой итог

Я протестировала связку Rspamd + Postfix на 3 VPS — работает стабильно. Ловит 95% спама, ложно положительных почти нет. Интерфейс понятный, управление гибкое, можно кастомизировать под любые нужды.

Если раньше я мучилась с настройками SpamAssassin и Amavis, то теперь честно не понимаю, зачем тратить время — Rspamd реально лучше.