Pieejama Rspamd 2.0 surogātpasta filtrēšanas sistēma

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

Rspamd ir izveidots, izmantojot uz notikumu balstītu arhitektūru, un sākotnēji tas ir paredzēts lietošanai ļoti noslogotās sistēmās, ļaujot tai apstrādāt simtiem ziņojumu sekundē. Noteikumi surogātpasta pazīmju identificēšanai ir ļoti elastīgi un vienkāršākajā veidā var saturēt regulāras izteiksmes, un sarežģītākās situācijās tos var rakstīt Lua valodā. Funkcionalitātes paplašināšana un jaunu pārbaužu veidu pievienošana tiek īstenota, izmantojot moduļus, kurus var izveidot C un Lua valodās. Piemēram, ir pieejami moduļi, lai pārbaudītu sūtītāju, izmantojot SPF, apstiprinātu sūtītāja domēnu, izmantojot DKIM, un ģenerētu pieprasījumus DNSBL sarakstiem. Lai vienkāršotu konfigurāciju, izveidotu noteikumus un izsekotu statistiku, tiek nodrošināta administratīvā tīmekļa saskarne.

Galvenie jauninājumi:

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

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

  • Улучшен модуль для хранения данных в СУБД Clickhouse. Добавлены поля LowCardinality и существенно оптимизировано потребление памяти;
  • Moduļa iespējas ir paplašinātas Multimap, в котором появилась поддержка kopā и зависимых сопоставлений;
  • В модуле 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.

Avots: opennet.ru

Pievieno komentāru