Выпуск системы фильтрации спама Rspamd 1.6
Представлен релиз системы фильтрации спама Rspamd 1.6, предоставляющей средства для оценки сообщений по различным критериям, включая правила, статистические методы и черные списки, на основе которых формируется итоговый вес сообщения, используемый для принятия решения о необходимости блокировки. Rspamd поддерживает практически все возможности, реализованные в SpamAssassin, и имеет ряд особенностей, позволяющих фильтровать почту в среднем в 10 раз быстрее, чем SpamAssassin, а также обеспечивать лучшее качество фильтрации. Код системы написан на языке Си и распространяется под лицензией BSD.
Rspamd построен с использованием событийно-ориентированной архитектуры (Event-driven) и изначально рассчитан на применение в высоконагруженных системах, позволяя обрабатывать сотни сообщений в секунду. Правила для выявления признаков спама отличаются высокой гибкостью и в простейшем виде могут содержать регулярные выражения, а в более сложных ситуациях могут оформляться на языке Lua. Расширение функциональности и добавление новых типов проверок реализуется через модули, которые могут создаваться на языках Си и Lua. Например, доступны модули для проверки отправителя с использованием SPF, подтверждения домена отправителя через DKIM, формирования запросов в списки DNSBL. Для упрощения настройки, создания правил и отслеживания статистики предоставляется административный web-интерфейс.
Основные новшества:
- Встроенная поддержка протокола Milter, позволяющая обойтись без настройки Rmilter, развитие которой прекращено. Встроенный Milter может использоваться в двух режимах - Proxy для крупных систем и Self-scan для небольших конфигураций (данный режим отличается существенным упрощением настройки). Режим Proxy требует отдельного сканирующего слоя, в то время как в режиме "self-scan" обработчик rspamd_proxy сканирует сообщение собственными силами и взаимодействует с MTA, такими как Postfix и Sendmail, напрямую при помощи протокола Milter;
- Полная поддержка цифровых подписей и меток ARC (Authenticated Received Chain), позволяющих гарантировать, что сообщение было подписано и затем перенаправлено через ряд заслуживающих доверия шлюзов. Реализованный в Rspamd модуль ARC поддерживает как верификацию, так и создание подписей для исходящих сообщений. Настройка модуля ARC очень похожа на модуль dkim_signing;
- Новая модель хранения статистики в БД Redis, упрощающая выборку необходимых токенов и определения времени их жизни. В выпуске Rspamd 1.6 новая схема хранения статистики позиционируется как экспериментальная, но в будущем выпуске она будет включена по умолчанию, а также будут предоставлены инструменты для преобразования старого хранилища в новый без потери данных
- Задействован новый алгоритм определения устаревших записей для внутренних кэшей. Вместо ранее применяемого классического алгоритма LRU (Least Recently Used) в ноой версии задействован алгоритм LFU ( Least Frequently Used), при котором фактором актуальности записи является не последнее обращение, а частота обращений. При новом алгоритме в кэше дольше сохраняются наиболее часто используемые записи, что положительно отражается на производительности кэширования;
- В модуле DMARC появилась поддержка отправки отчетов для определенных доменов и правил. Администратору предоставлены гибкие возможности по настройке содержимого отчетов, частоты их отправки и т. п. Отчеты позволяют увеличить качество взаимодействия с ресурсами, использующими DMARC (например, paypal.com), например, дают возможность отследить и отреагировать на некоторые попытки фишинга;
- Представлен новый плагин spamtrap, позволяющий выхватить письмо со спамом по заданным признакам, например для обучения фильтров на основе работы ловушек спама (honeypots);
- Внесена большая порция улучшений в модуль url_redirector, выполняющий проверку пробросов на спамерские ссылки, используя для их скрытия сервисы редиректа URL;
- В прокси добавлена поддержка сжатия данных при отправке сообщений на уровень сканирования;
- Внесена порция оптимизаций производительности: для регулярных выражений Hfilter задействован hyperscan, обеспечено кэширования хэшей тел сообщений DKIM, добавлено кэширование результатов работы Snowball stemmer.