Rspamd 2.0 спам чыпкалоо системасы жеткиликтүү

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

Rspamd окуяга негизделген архитектуранын жардамы менен курулган жана алгач секундасына жүздөгөн билдирүүлөрдү иштеп чыгууга мүмкүндүк берүүчү өтө жүктөлгөн системаларда колдонуу үчүн иштелип чыккан. Спамдын белгилерин аныктоо эрежелери өтө ийкемдүү жана эң жөнөкөй формасында кадимки туюнтмаларды камтышы мүмкүн, ал эми татаалыраак учурларда алар Луа тилинде жазылышы мүмкүн. Функционалдык мүмкүнчүлүктөрдү кеңейтүү жана текшерүүлөрдүн жаңы түрлөрүн кошуу С жана Луа тилдеринде түзүлө турган модулдар аркылуу ишке ашырылат. Мисалы, SPF аркылуу жөнөтүүчүнү текшерүү, DKIM аркылуу жөнөтүүчүнүн доменин ырастоо жана DNSBL тизмелерине суроо-талаптарды түзүү үчүн модулдар бар. Конфигурацияны жөнөкөйлөтүү, эрежелерди түзүү жана статистиканы көзөмөлдөө үчүн административдик веб-интерфейс каралган.

Негизги инновациялар:

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

  • Прекращена поддержка модуля классификации сообщений, использующего библиотеку глубинного машинного обучения Torch. В качестве причины называется излишняя усложнённость Torch и большая трудоёмкость сопровождения в актуальном состоянии. В качестве замены для классификации с использованием методов машинного обучения предложен полностью переписанный модуль нейрон, в котором для обеспечения работы нейронной сети используется библиотека алат, включающая всего 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.

Source: opennet.ru

Комментарий кошуу