Доступна система фильтрации спама Rspamd 1.8

25 сентября 2018 года

Состоялся релиз системы фильтрации спама Rspamd 1.8, предоставляющей средства для оценки сообщений по различным критериям, включая правила, статистические методы и чёрные списки, на основе которых формируется итоговый вес сообщения, используемый для принятия решения о необходимости блокировки. Rspamd поддерживает практически все возможности, реализованные в SpamAssassin, и имеет ряд особенностей, позволяющих фильтровать почту в среднем в 10 раз быстрее, чем SpamAssassin, а также обеспечивать лучшее качество фильтрации. Код системы написан на языке Си и распространяется под лицензией Apache 2.0.

Rspamd построен с использованием событийно-ориентированной архитектуры (Event-driven) и изначально рассчитан на применение в высоконагруженных системах, позволяя обрабатывать сотни сообщений в секунду. Правила для выявления признаков спама отличаются высокой гибкостью и в простейшем виде могут содержать регулярные выражения, а в более сложных ситуациях могут оформляться на языке Lua. Расширение функциональности и добавление новых типов проверок реализуется через модули, которые могут создаваться на языках Си и Lua. Например, доступны модули для проверки отправителя с использованием SPF, подтверждения домена отправителя через DKIM, формирования запросов в списки DNSBL. Для упрощения настройки, создания правил и отслеживания статистики предоставляется административный web-интерфейс.

Основные новшества:

  • Добавлен фреймворк для извлечения данных из сообщений и дальнейшего использования этих данных в плагинах (например, в multimap, reputation или ratelimits) или регулярных выражениях, обработав с привлечением функций преобразования строк. Например, можно извлечь адрес из поля From и преобразовать его в нижний регистр ("smtp_from.lower") или извлечь тему письма, привести к нижнему регистру, вычислить хэш и выдать первые 16 символов результата ("header('Subject').lower.digest('hex').substring(1, 16)");
  • В конструкциях на языке Lua реализована возможность использования сопрограмм для запуска обработчиков в неблокирующем режиме. Например, можно отправить сетевой запрос к антивирусному сканеру и сразу продолжить выполнение не дожидаясь результата, а ответ обработать отдельным callback-обработчиком;
  • Оптимизирована отправка SQL-запросов к СУБД Clickhouse. Для того чтобы избежать медленных запросов с использованием слияний (JOIN) в Rspamd теперь используется одна общая таблица, вместо разбиения структуры БД на несколько таблиц. Преобразование схемы хранения выполняется автоматически, но старые данные не переносятся и не удаляются, а остаются в старых таблицах. В модуле Clickhouse также реализована опциональная возможность задания правил сохранения данных для соответствия принятым в Евросоюзе нормам GDPR;
  • Улучшена обработка Unicode. Нормализация всех unicode-данных теперь выполняется до их обработки, что позволяет исключить проведение атак через подстановку похожих по начертанию глифов;
  • Переработан код для автоматического определения языка, на котором написан текст в сообщении. Новый детектор использует стоп-слова и учитывает подстановку похожих unicode-глифов. Существенно возросла производительность детектора языка, в некоторых ситуациях скорость определения возросла до 10 раз;
  • Внесены улучшения в web-интерфейс. Решены проблемы, проявляющиеся при работе в кластерных конфигурациях и при агрегирования данных. Добавлен индикатор прогресса выполнения AJAX-операций.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Доступна система фильтрации спама Rspamd 1.8», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.