Rspamd, широко используемая система фильтрации спама с открытым исходным кодом для почтовых серверов, шлюзов и устройств безопасности, выпустила версию 4.0, в которой реализованы значительные архитектурные изменения, добавлены новые протоколы и расширены возможности обнаружения.
Ключевым дополнением является протокол checkv3, доступный через /checkv3 конечную точку. Он заменяет устаревшую обработку запросов на ввод данных в формате multipart/form-data и ответы в формате multipart/mixed, поддерживает структурированные метаданные в формате JSON или Msgpack, предлагает опциональное сжатие zstd и обеспечивает обработку ответов без копирования. Включите протокол с помощью rspamc --protocol-v3 или --msgpack.
Внешняя зависимость libfasttext была заменена встроенной реализацией на основе mmap. Модели Fasttext теперь используются совместно в рабочих процессах с использованием общей памяти, что значительно сокращает использование памяти. Существующие модели .bin и .ftz остаются совместимыми.
Кроме того, в Rspamd 4.0 добавлены нечеткие хэши с несколькими флагами, что позволяет одному хэшу соответствовать нескольким правилам. Также добавлена функция нечеткого обнаружения фишинга в формате HTML для выявления повторно используемых фишинговых шаблонов с разными целевыми доменами. Кроме того, обработка конфигурации теперь поддерживает шаблоны, совместимые с Jinja2, через движок Lupa.
Изменения в инфраструктуре включают замену Jump Hash на Ring Hash (Ketama) для обеспечения согласованного хеширования, предсказуемого перераспределения ключей в сегментированных средах и минимизации сбоев при внесении изменений в вышестоящих системах. Развертывания, использующие сегментированный Redis для классификации по методу Байеса, необходимо выполнить rspamadm statistics_dump migrate до обновления, чтобы избежать проблем с сопоставлением данных.
Изменилось и поведение прокси-сервера: балансировка нагрузки по сегментам токенов теперь включена по умолчанию и заменяет циклический перебор. Кроме того, поддержка HTTPS теперь встроена непосредственно в рабочие процессы, а SSL автоматически определяется по конфигурации сокета привязки, что в некоторых случаях избавляет от необходимости использовать обратный прокси-сервер.
Нейронная подсистема теперь поддерживает внешние предварительно обученные модели, сервисы встраивания больших языковых моделей, а также расширенные возможности обучения и классификации. Байесовская классификация теперь поддерживает несколько классов, выходя за рамки традиционной классификации на спам и не спам.
Среди других улучшений — подключаемый серверный кэш Hyperscan с асинхронной компиляцией, структурированный экспорт метаданных со сжатием, генерация UUID v7 для каждой задачи, а также улучшенный анализ PDF и проверка заголовков.
В Rspamd 4.0 также внесено несколько критических изменений. URL-адреса контента теперь по умолчанию включаются в анализ сообщений, ssl = trueпараметр worker удален, а проверка репутации SenderScore по умолчанию отключена. Наконец, обратите внимание, что обработка DKIM теперь строго соответствует требованиям RFC, что может повлиять на результаты проверки подписей с ошибками.
Для получения дополнительной информации см. объявление или ознакомьтесь с журналом изменений проекта на GitHub.
Выводы
Rspamd 4.0 — это не просто обновление, а серьёзный шаг вперёд в развитии open-source систем фильтрации спама. Разработчики сосредоточились на производительности, гибкости и точности обнаружения угроз.
Главным нововведением стал протокол checkv3, который модернизирует взаимодействие с системой за счёт более эффективной передачи данных и поддержки современных форматов. Это делает интеграцию с почтовыми сервисами быстрее и удобнее.
Встроенный FastText и использование общей памяти для моделей позволяют существенно снизить потребление ресурсов без потери качества фильтрации.
Также стоит отметить развитие механизмов обнаружения фишинга — система теперь умеет выявлять повторно используемые HTML-шаблоны атак, даже если меняются ссылки.
Изменения в архитектуре (Ring Hash вместо Jump Hash, обновлённый балансировщик, встроенный HTTPS) делают Rspamd более устойчивым и удобным в масштабируемых инфраструктурах.
Однако обновление несёт и ряд breaking changes, поэтому администраторам важно внимательно подготовиться к миграции, особенно при использовании Redis и кастомных конфигураций.
В целом, Rspamd 4.0 укрепляет позиции как одного из самых производительных и гибких spam-фильтров для современных почтовых систем.
Часто задаваемые вопросы
Что такое Rspamd?
Rspamd — это open-source система фильтрации спама, анализирующая письма с помощью правил, статистики и внешних источников данных, присваивая им оценку и принимая решение о доставке.
Что нового в версии 4.0?
Ключевые изменения:
- новый протокол checkv3
- встроенный FastText
- улучшенное обнаружение phishing
- обновлённая архитектура хеширования
- поддержка внешних ML/LLM моделей
Что даёт протокол checkv3?
Он обеспечивает более эффективную обработку запросов и ответов, поддержку JSON/Msgpack, сжатие и оптимизацию передачи данных между компонентами системы.
Нужно ли что-то делать перед обновлением?
Да, особенно если используется Redis или шардированная инфраструктура — требуется миграция статистики и проверка конфигураций.
Улучшилась ли точность фильтрации?
Да, благодаря новым алгоритмам, multi-class Bayes и улучшенному анализу phishing-шаблонов система стала точнее выявлять спам и вредоносные письма.
Подходит ли Rspamd для крупных инфраструктур?
Да, система изначально проектировалась для высокой производительности и может обрабатывать сотни сообщений в секунду, поддерживая масштабирование и кластеризацию.