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

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

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

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

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