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

Материал из Викиновостей, свободного источника новостей

14 октября 2019 года

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

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

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

  • Осуществлён переход на новую схему нумерации выпусков. Так как первое число в номере версии не менялось уже несколько лет, а реальным индикатором версии выступает второе число, решено вместо схемы "x.y.z" перейти на формат "y.z";
  • Для цикла обработки событий вместо Libevent задействована библиотека libev, избавленная от некоторых ограничений libevent и позволяющая добиться более высокой производительности. Использование

libev дало возможность упростить код, улучшить обработку сигналов и таймаутов, а также унифицировать отслеживание изменений файлов при помощи механизма inotify (не все поставляемые для поддерживаемых платформ выпуски libevent могли работать с inotify);

  • Прекращена поддержка модуля классификации сообщений, использующего библиотеку глубинного машинного обучения Torch. В качестве причины называется излишняя усложнённость Torch и большая трудоёмкость сопровождения в актуальном состоянии. В качестве замены для классификации с использованием методов машинного обучения предложен полностью переписанный модуль Neural, в котором для обеспечения работы нейронной сети используется библиотека kann, включающая всего 4000 строк кода на языке Си. В новой реализации решены многие проблемы с возникновением взаимных блокировок во время обучения;
  • Модуль RBL заменил собой модули SURBL и Emails, что позволило унифицировать обработку всех проверок по черным спискам. Возможности RBL расширены поддержкой дополнительных типов, таких как селекторы, и средствами для упрощённого расширения существующих правил. Правила блокировки email на основе map-списков вместо DNS RBL больше не поддерживаются, вместо них рекомендуется использовать multimap с селекторами;
  • Для определения типов файлов по содержимому задействована новая библиотека Lua Magic, использующая Lua и Hyperscan вместо libmagic.

В качестве причины создания собственной библиотеки упоминается желание добиться более высокой производительности, избавиться от сбоев при выявлении файлов docx, получить более подходящий API и добавить новые виды эвристики, не ограниченные жёсткими правилами;

  • Улучшен модуль для хранения данных в СУБД Clickhouse. Добавлены поля LowCardinality и существенно оптимизировано потребление памяти;
  • Расширены возможности модуля Multimap, в котором появилась поддержка комбинированных и зависимых сопоставлений;
  • В модуле Maillist улучшено определение списков рассылки;
  • В рабочих процессах появилась возможность отправки в основной процесс heartbeat-сообщений, подтверждающих работу в штатном режиме. При отсутствии подобных сообщений в течение определённого времени основной процесс может принудительно завершить рабочий процесс. По умолчанию данный режим пока отключён;
  • Добавлена серия новых сканеров на языке Lua. Например, добавлены модули для сканирования сообщений в антивирусных пакетах Kaspersky ScanEngine, Trend Micro IWSVA (через icap ) и

F-Secure Internet Gatekeeper (через icap), а также предложены внешние сканеры для Razor, oletools и P0F;

  • Добавлена возможность изменения сообщений через Lua API. Для внесения изменений в MIME-блоки предложен модуль lib_mime;
  • Обеспечена раздельная обработка настроек, установленных через "Settings-Id:", например, теперь можно привязывать правила только к определённым идентификаторам настроек;
  • Проведены оптимизации производительности Lua-движка, декодирования base64 и определения языка для текста. Добавлена поддержка кэширования сложных сопоставлений (maps). Реализована поддержка

HTTP keep-alive.

Источники[править]

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

Комментарии[править]

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