Информационные технологииStfw.Ru 🔍
🕛

Релиз системы фильтрации спама Rspamd 1.4

После четырёх месяцев разработки доступны новые релизы Rspamd 1.4 и Rmilter 1.10, в которых появилась поддержка пулов соединений ..., После четырёх месяцев разработки доступны новые
После четырёх месяцев разработки доступны новые релизы Rspamd 1.4 и Rmilter 1.10, в которых появилась поддержка пулов соединений с Redis, добавлены новые модули, улучшена поддержка нейронных сетей, применён алгоритм сжатия zstd для протокола и реализованы многие другие важные усовершенствования.
Rspamd - это система фильтрации спама для электронной почты, написанная на языках C и Lua в качестве более быстрой замены SpamAssassin, ориентированная на применение в крупных почтовых кластерах. Rspamd поддерживает практически все возможности, реализованные в SpamAssassin, и имеет ряд особенностей, позволяющих фильтровать почту в среднем в 10 раз быстрее, чем SpamAssassin, а также обеспечивать лучшее качество фильтрации. Правила для выявления признаков спама отличаются гибкостью и в простейшем виде могут содержать регулярные выражения, а в более сложных ситуациях могут оформляться на языке Lua. Расширение функциональности и добавление новых типов проверок реализуется через модули, которые могут создаваться на языках Си и Lua. Например, доступны модули для проверки отправителя с использованием SPF, подтверждения домена отправителя через DKIM, формирования запросов в списки DNSBL. Для упрощения настройки, создания правил и отслеживания статистики предоставляется административный web-интерфейс.
Основные новшества:
Пул соединений с Redis. Rspamd теперь может подключаться к Redis, используя пул постоянных соединений. Эта функция не требует каких-либо специальных настроек и позволяет повторное использование существующих соединений, улучшающих профиль нагрузки для Redis.
Новый плагин классификации с использованием нейросетей. Добавлен плагин для использования и обучения нейросетей, сохраняющий данные в Redis. Данный плагин позволяет кластеризовать результаты фильтров для более точной оценки потока писем. Использование Redis позволило распределять обучение и данные нейросетей по всему кластеру сканеров Rspamd.
Улучшение байесовского статистического классификатора. Rspamd теперь использует больше метаданных для оценки вероятности спама. С результами тестирования производительности классификатора Rspamd в сравнении с другими спам-фильтрами можно познакомиться в данной статье.
Новый плагин проверки сообщений антивирусами. Rspamd теперь умеет проверять сообщения на наличие вирусов с помощью сторонних антивирусов. Этот модуль предоставляет ряд функций:
Работа с различными типами антивирусных систем: ClamAV, Sophos и F-Prot
Поддержка пользовательских шаблонов (например, экспериментальные базы данных для ClamAV)
Поддержка кэширования результатов
Проверка только писем с вложениями, чтобы сохранить ресурсы антивируса
Белые списки, ограничения на размер и пользовательские скрипты оценки результатов
Плагин проверки MX записей. Rspamd теперь может проверить работоспособность MX отправителя для сканированных сообщений с помощью нового плагина проверки MX. Этот плагин полезен для защиты от сообщений с некорректными обратными путями (например, когда спам рассылается с ботнета, который не в состоянии принять ответ на письмо).
Поддержка компрессии в протоколе. Rmilter и Rspamd теперь поддерживают сжатие передаваемых данных алгоритмом zstd. Этот алгоритм является быстрым и эффективным для уменьшения загрузки процессора и сети при передаче данных. Zstd также используется для хранения больших объемов данных в Redis (например, нейронных сетей).
Переработана система обработки ошибок DNS в SPF, DKIM и DMARC.
Rspamd теперь умеет работать с временными ошибками при выполнении связанных с DNS проверками, например, DKIM, DMARC или SPF. Существуют специальные символы для представления как временных, так и постоянных ошибок для этих плагинов.
Адаптивные и пользовательские лимиты. Модуль ratelimit теперь поддерживает адаптивные лимиты, то есть, ограничения могут быть ужесточены для неизвестных или "плохих" отправителей, а для известных отправителей с хорошей репутацией - наоборот, расширены. Кроме этого, данные модуль поддерживает с новой версии пользовательские скрипты для создания собственных лимитов.
Мониторинг ресурсов. В новой версии Rspamd получил поддержку проверки состояния внешних сервисов, например, DNS листов. В этом режиме Rspamd проверяет, что DNSBL доступен и что он не заблокировал все адреса (что иногда приводит к курьезным ситуациям). Если эти проверки не проходят, то такой ресурс на время игнорируется (до следующей проверки).
Redis-бэкенд для fuzzy хешей. Начиная с Rspamd 1.4, можно хранить нечеткие хэшей в Redis. Это хранилище является более быстрым и масштабируемым, чем SQLite. Утилита "rspamadm" теперь умеет конвертировать хеши из хранилища SQLite в Redis.
Экспорт данных в graphite. В новой версии Rspamd умеет сохранять статистику, передавая данные внешней системе мониторинга (пока поддерживается только graphite). Также возможен экспорт данных в Redis pub/sub и Yandex Clickhouse (экспериментальный плагин).
Динамическая конфигурация в Redis. Эта функция полезна, когда вам нужно управлять несколькими экземплярами Rspamd централизованно. Пока что динамическая конфигурация ограничивается настройкой весов символов, действий и отключения определенных проверок. В будущем эти функции планируется расширить.
Настройки пользователей в Redis. Настройки пользователя теперь можно загружать из Redis. Это полезно, когда пользователей много и они часто обновляются. В таком случае нет необходимости каждый раз загружать настройки для всех пользователей.
Кольцевой буфер ошибок. Rspamd теперь умеет сохранять ошибки работы в кольцевой буфер. Этот буфер отображается в web интерфейсе и позволяет быстро определить, если в работе Rspamd возникает какая-то проблема.
Сообщения для MTA. Rspamd теперь умеет передавать сообщение, которое MTA должно показать клиенту, например, при грейлистинге:
{ "messages": { "smtp_message": "Try again later"}}
Эта функция также поддерживается Rmilter 1.10.
Обновления Rspamd Lua API. В новой версии добавлен ряд новых возможностей в Lua API:
Периодические события:
rspamd_config:add_periodic(ev_base, 1.0, function(cfg, ev_base)
local logger = require "rspamd_logger"
i = i + 1
logger.infox(cfg, "periodic function, %s", i)
return false -- if return false, then the periodic event is
removed
end, true)
Скрипты, выполняемые при старте или завершении процессов:
rspamd_config:add_on_load(function(cfg, ev_base, worker)
if worker:get_name() == 'normal' then
-- Do something
end
end)
Поддержка новых хеш-функций (MD5, SHA1, SHA256, SHA512):
local hash = require "rspamd_cryptobox_hash"
hash.create_specific('md5', 'string'):hex()
-- b45cffe084dd3d20d928bee85e7b0f21
Поддержка https в lua_http
Пакетное обучение нейросетей (в отдельном треде)
Zstd-компрессия
Улучшения веб-интерфейса. Новая версия Rspamd включает в себя ряд изменений в веб-интерфейсе:
Новая закладка настройки символов
Таблица последних ошибок сканера
Улучшена загрузка вкладок
Пароли по умолчанию теперь нельзя применять для доступа к web-интерфейсу

Также по теме:
Каталог лучших, бесплатных программ.