Достъпна е система за филтриране на спам Rspamd 2.0

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

Rspamd е построен с използване на събитийно-ориентирана архитектура и първоначално е проектиран за работа в системи с висока натовареност, позволявайки обработка на стотици съобщения в секунда. Правилата за установяване на признаци за спам са с висока гъвкавост и в най-простия си вид могат да съдържат регулярни изрази, докато в по-сложни ситуации могат да бъдат оформени на езика Lua. Разширяване на функционалността и добавяне на нови типове проверки се реализират чрез модули, които може да бъдат създавани на езиците C и Lua. Например, достъпни са модули за проверка на подателя с използване на SPF, потвърждаване на домейна на подателя чрез DKIM, генериране на заявки в списъци DNSBL. За улесняване на настройките, създаване на правила и проследяване на статистиката се предоставя административен уеб интерфейс.

Основни нововъведения:

  • Извършен е преход на нова схема за номериране на версиите. Тъй като първото число в номера на версията не е променяно от години, а реален индикатор за версията е второто число, решено е вместо схема „x.y.z“ да се премине на формат „y.z“;
  • За цикъла на обработка на събития вместо Libevent е използвана библиотеката libev, премахната от някои ограничения на libevent и позволяваща постигане на по-висока производителност. Използването на
    libev предостави възможност за опростяване на кода, подобряване на обработката на сигнали и таймаути, както и унифициране на проследяването на промените на файловете с помощта на механизма inotify (не всички версии на libevent, предоставяни за поддържаните платформи, можеха да работят с inotify);
  • Подкрепата за модула за класификация на съобщения, използващ библиотеката за дълбоко машинно обучение Torch, е преустановена. Причината за това е излишната сложност на Torch и голямото натоварване за поддържане в актуално състояние. За замяна, за класификация с използване на методи на машинно обучение е предложен напълно преработен модул. Неурална, в който за осигуряване на работа на неуралната мрежа се използва библиотеката kann, включваща само 4000 линии код на езика C. В новото реализиране са решени много проблеми с взаимните блокировки по време на обучение;
  • Модулът RBL замени модулите SURBL и Emails, което позволи унифициране на обработката на всички проверки по черните списъци. Възможностите на RBL са разширени с поддръжка на допълнителни типове, като селектори, и средства за опростено разширяване на съществуващите правила. Правилата за блокиране на имейли на базата на 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.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster