Доступна система фильтрации спама Rspamd 1.7
Как сообщает opennet.ru Представлен релиз системы фильтрации спама Rspamd 1.7, предоставляющей средства для оценки сообщений по различным критериям, включая правила, статистические методы и черные списки, на основе которых формируется итоговый вес сообщения, используемый для принятия решения о необходимости блокировки. Rspamd поддерживает практически все возможности, реализованные в SpamAssassin, и имеет ряд особенностей, позволяющих фильтровать почту в среднем в 10 раз быстрее, чем SpamAssassin, а также обеспечивать лучшее качество фильтрации. Код системы написан на языке Си и распространяется под лицензией BSD.
Rspamd построен с использованием событийно-ориентированной архитектуры (Event-driven) и изначально рассчитан на применение в высоконагруженных системах, позволяя обрабатывать сотни сообщений в секунду. Правила для выявления признаков спама отличаются высокой гибкостью и в простейшем виде могут содержать регулярные выражения, а в более сложных ситуациях могут оформляться на языке Lua. Расширение функциональности и добавление новых типов проверок реализуется через модули, которые могут создаваться на языках Си и Lua. Например, доступны модули для проверки отправителя с использованием SPF, подтверждения домена отправителя через DKIM, формирования запросов в списки DNSBL. Для упрощения настройки, создания правил и отслеживания статистики предоставляется административный web-интерфейс.
Основные новшества:
- Встроен и активирован по умолчанию новый модуль классификации сообщений на базе системы машинного обучения. Реализация написана на языке Lua и базируется на библиотеке глубинного машинного обучения Torch. В настоящее время поддерживается работа только на архитектуре x86_64. Использование Torch позволило улучшить работу модуля с реализацией нейронной сети, расширить модель машинного обучения и увеличить скорость обработки. Новый модуль также адаптирован для использования в кластерных конфигурациях, может раздельно обрабатывать разные потоки почтовых сообщений, поддерживает применение нескольких нейронных сетей и позволяет подключать собственные модели машинного обучения;
- Реализован новый код для автоматического определения языка сообщения, основанный на модели NGramms, поддерживающей более 50 языков. Для определения языка применяется быстрый алгоритм, учитывающий различные признаки, включая специфичные свойства Unicode, грамматические конструкции и статистические методы. Информация о языке может использоваться при тренировке моделей, для улучшения байесовской классификации и при создании отдельных правил;
- Представлена новая команда rspamadm, предоставляющая интерактивную консоль для упрощения начальной настройки Rspamd в форме вопрос/ответ. Утилита также предоставляет средства для корректировки существующей конфигурации различных подсистемы, включая мастера для цифровых подписей DKIM, управления паролями, работы со статистикой и настройки Redis;
- Новая модель хранения статистики байесовского классификатора в бэкенде на базе Redis. Вместо двух больших хэш-таблиц RSBAYES_SPAM и RSBAYES_HAM осуществлен переход к раздельному хранению токенов RS_{token_id} и двум индексам для спама и нормальных писем. Новая модель увеличивает размер хранилища, но позволяет более эффективно и активно выполнять операции чистки устаревших записей. Для проведения подобной чистки и обновления статистики представлен новый плагин bayes_expire. Также предусмотрена возможность сохранения значений токенов в индексах для отладки и аналитики. Для преобразования старого формата хранилища в новый можно использовать команду "rspamadm configwizard statistic";
- Добавлена команда "rspamadm rescore", позволяющая авоматически откорректировать весовые коэффициенты через анализ лога, подготовленного на основе проверки коллекции уже отсортированного спама и нормальных писем ("rspamadm corpus_test tool");
- Реализован плагин для интеграции с движокм Elasticsearch и интерфейсом Kibana для анализа почтовых потоков и оценки эффективности фильтрации спама. Например, можно визуализировать различные данные о работе Rspamd, такие как географическое распределение источников спама/нормальной почты, пропорции различных видов трафика и т. п.
- Добавлен экспериментальный плагин Reputation для расчета репутации, который позиционируется как более гибкая замена плагина "ip score", поддерживающая расширенные типы репутации (кроме репутации IP-адресов, поддерживается репутация DKIM-доменов и URL). Из особенностей отмечается поддержка различных бэкендов (Redis, публичные службы на основе DNS), средства для агрегирования весовых характеристик, разделение долгосрочных и кратковременных характеристик;
- Поддержка определения и обработки файлов, сжатых при помощи 7Zip для фильтрации вредоносных вложений, прикрепленных в виде архивов 7zip.