Защита почтового сервера от спама — одна из самых важных задач для любого администратора. Особенно, если вы настраиваете собственный mail-сервер на VPS. В этой статье я расскажу, как я внедрила мощную систему фильтрации спама с помощью Rspamd и Postfix, что учла по ходу настройки и какие нюансы могут подстерегать вас на практике.
Зачем нужен антиспам-фильтр?
Если у вас нет защиты, почтовый сервер моментально становится жертвой:
- рассылки спама с вашей стороны (если скомпрометирован аккаунт),
- приёма тысяч мусорных писем (если открыт вход),
- попадания в блэклисты, после чего письма вообще не доставляются.
Поэтому связка Postfix + Rspamd — это почти must-have. Особенно если вы хотите избежать сложностей со старыми решениями вроде SpamAssassin. Я пробовала оба варианта — разница в скорости, точности и гибкости просто колоссальная.
Почему Rspamd, а не SpamAssassin?
Параметр | Rspamd | SpamAssassin |
---|---|---|
Скорость | Высокая, на 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-подписей
dkim_signing.conf
- — управление заголовками
milter_headers.conf
- и
surbl.conf
— для работы с блэклистамиrbl.conf
- — серый список
greylist.conf
- — подключение ClamAV
antivirus.conf
- — машинное обучение (!)
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 на почту и мониторить доменную репутацию.
Возможные ошибки
- Не работает веб-интерфейс? Проверь , правильный порт, нет ли firewall’а.
worker-controller.inc
- Письма не проходят? Возможно, слишком агрессивные настройки (например, выставлен вместо
reject
).add header
- Rspamd не запускается? Логи в помогут понять, что не так.
journalctl -u rspamd
Мой итог
Я протестировала связку Rspamd + Postfix на 3 VPS — работает стабильно. Ловит 95% спама, ложно положительных почти нет. Интерфейс понятный, управление гибкое, можно кастомизировать под любые нужды.
Если раньше я мучилась с настройками SpamAssassin и Amavis, то теперь честно не понимаю, зачем тратить время — Rspamd реально лучше.
VPS с запасом прочности
Оплатите год — получите 13 месяцев надежных ресурсов.