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 перед обновлением, чтобы предотвратить проблемы с сопоставлением данных.
Поведение прокси также изменилось: теперь по умолчанию включена балансировка нагрузки по методу token bucket, заменившая round-robin. Кроме того, поддержка HTTPS теперь встроена непосредственно в рабочие процессы, при этом SSL автоматически определяется из конфигурации сокета привязки, что устраняет необходимость в обратном прокси в некоторых конфигурациях.
Нейронная подсистема теперь поддерживает внешние предварительно обученные модели, провайдеры встраивания LLM, а также расширенные опции обучения и классификации. Байесовская классификация также получила поддержку нескольких классов, выйдя за рамки традиционной классификации на спам и легальную почту.
Другие улучшения включают подключаемый бэкэнд кэша Hyperscan с асинхронной компиляцией, экспорт структурированных метаданных с сжатием, генерацию UUID v7 для каждой задачи, а также улучшенный разбор PDF и проверку заголовков.
Rspamd 4.0 также вводит несколько значительных изменений. URL-адреса контента теперь по умолчанию включаются в анализ сообщений, опция ssl = true worker была удалена, а проверки репутации SenderScore по умолчанию отключены. Наконец, имейте в виду, что обработка DKIM теперь строго следует поведению RFC, что может повлиять на результаты проверки для некорректно сформированных подписей.
Для получения дополнительной информации читайте в блоге или обратитесь к журналу изменений проекта на GitHub.