The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

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

14.10.2019 09:13

Представлен релиз системы фильтрации спама 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.


  1. Главная ссылка к новости (https://rspamd.com/announce/20...)
  2. OpenNews: Доступна система фильтрации спама Rspamd 1.9
  3. OpenNews: Доступна система фильтрации спама Rspamd 1.8
  4. OpenNews: Сбой антиспам-системы привёл к коллапсу в репозитории NPM
  5. OpenNews: В рамках проекта Spamnesty развивается бот для увеличения затрат спамеров
  6. OpenNews: Выпуск системы фильтрации спама SpamAssassin 3.4.2
Лицензия: CC-BY
Наводку на новость прислал Vsevolod Stakhov
Тип: Программы
Ключевые слова: rspamd, spam, mail
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (37) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:45, 14/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    Хм, код на Си. Это опасно ведь. Найдут вдруг RCE
     
     
  • 2.8, Аноним (8), 10:37, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ничо, перепишите на Расте, проблема-то, будет безопасно и быстрее сей, правда?
     
     
  • 3.9, DiabloPC (ok), 10:51, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    С чего это на расте? На JS-е же!
     
     
  • 4.23, VINRARUS (ok), 18:04, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну, JS будет крутиться на RUST движке.
     

  • 1.2, Аноним (2), 09:49, 14/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    >добиться более высокой производительности
    >Lua
     
     
  • 2.4, Аноним (4), 09:53, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    luajit например довольно быстрый (было бы чему тормозить)
     
  • 2.20, Аноним (20), 14:57, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скажи спасибо, что не js.
     

  • 1.3, Аноним (4), 09:52, 14/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >libev

    Она лучше libuv? Я только знаю что эту libev мало кто пользует и она появилась совсем не вчера.

     
     
  • 2.18, anonymous (??), 12:04, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    libuv - форк libev для node.js с добавлением поддержки Windows
     
     
  • 3.22, kai3341 (ok), 17:43, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > libuv - форк libev для node.js с добавлением поддержки Windows
    > https://en.wikipedia.org/wiki/Libuv

    Погодь, select(2) работает даже на кофеварках. Смотри:
    https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-select

    Точно не за кроссплатформенностью гнались)

     
     
  • 4.24, Аноним84701 (ok), 19:32, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Погодь, select(2) работает даже на кофеварках. Смотри:
    > https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-select
    > Точно не за кроссплатформенностью гнались)

    Да нет, не точно -- иногда все же стоит читать не только заголовок ;)
    > The select function determines the status of one or more [b]sockets[/b]
    > sockets

    Кстати, далее по первой ссылке пояснение:
    > was originally an abstraction around libev or Microsoft IOCP, [b]as libev supports only select(2) and doesn't support poll(2) and IOCP on Windows[/b]. In node-v0.9.0's version of libuv, the dependency on libev was removed
    >.

     
  • 2.21, хипстор (?), 15:03, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > эту libev мало кто пользует и она появилась совсем не вчера

    Безобразие! Надо срочно заменить на то, что появилось вчера!

     

  • 1.5, Аноним (5), 10:09, 14/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    классно. cebka еще продолжает развивать свой продукт :)
    Удачи!
     
  • 1.6, Аноним (6), 10:20, 14/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    спам еще не вымер?
     
     
  • 2.7, СеменСеменыч777 (?), 10:25, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    e-mail еще не вымер. но в процессе.
     
     
  • 3.11, BrainFucker (ok), 11:00, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Ничего лучше пока ещё не взлетело.
     
     
  • 4.27, suffix (ok), 20:31, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как то вот привык с spamassassin  и хотя все rspamd хвалят не могу набраться то ли смелости то ли времени на переход.
     

  • 1.10, BrainFucker (ok), 10:58, 14/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ещё б оно памяти раза в три меньше потребляло, а то в режиме selfscan и отключёнными лишними воркерами (веб интерфейс и пр.) всё равно три процесса по 50МБ, что для небольших впсок не айс.
     
     
  • 2.12, Онанимус (?), 11:16, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну знаете, небольшая впска для почтового сервера - не айс. Либо заводите несколько впсок и разводите по ним компоненты почтовика.
     
     
  • 3.13, BrainFucker (ok), 11:21, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну знаете, небольшая впска для почтового сервера - не айс. Либо заводите несколько впсок и разводите по ним компоненты почтовика.

    У меня связка postfix + dovecot потребляет мегабайт 50 всего.

     
     
  • 4.17, Онанимус (?), 11:46, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Сколько у Вас ест redis? У меня на небольшом почтовике (почтовых ящиков < 100) он ест 130Mb.
     
     
  • 5.19, BrainFucker (ok), 12:43, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Сколько у Вас ест redis? У меня на небольшом почтовике (почтовых ящиков
    > < 100) он ест 130Mb.

    2МБ. Он у меня только для грейлистинга используется.

     
  • 2.15, exSun (ok), 11:33, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    С модулем phishtank оно легко и гигабайты потребляет, пришлось отказаться от этого модуля (но и эффективность его околонулевая была, впрочем).
     
  • 2.29, Х (?), 23:02, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А зачем вам выделенный антиспам на впс-ке? Во-первых, Exim, во-вторых, настройти в его конфиге что придет на ум - будет вполне неплохо.
     
     
  • 3.30, BrainFucker (ok), 23:11, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А зачем вам выделенный антиспам на впс-ке?

    Других нет. Встроенные в postfix и exim средства слишком тупые.

    > Во-первых, Exim,

    Лол. У него дыры чуть ли не каждую неделю находят. Нафиг надо...

    > во-вторых, настройти в его конфиге что придет на ум - будет вполне неплохо.

    Хрень. Пробовал я первое время обходиться встроенными средствами, много ложных срабатываний из-за неправильно сконфигуренных чужих серверов и дофига пропускает, если адрес в сети открыто опубликован: приходит дофига спама с валидных серверов с валидными SPF, DKIM и т.д.

     
     
  • 4.34, А (??), 22:27, 15/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Для начала, дыр в экзиме немного. Что их разом нашли несколько за столько лет впервые - лишь показывает, как все привыкли к его безгрешности. Свое он делает отлично, логи понятные, судьбу письма отследить легко, а язык конфига позволяет напились много самому.

    Да, спам нынче не тот пошёл - тупо шлётся через легитимные почтовики с живых ящиков, с этим ничего не поделать алгоритмически. Но сваливать все на любой внешний антиспам... Его же тоже надо уметь готовить, а по умному это сделать куда сложнее, чем простые проверки в экзиме накидать. )))

     
     
  • 5.36, BrainFucker (ok), 22:33, 15/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Для начала, дыр в экзиме немного. Что их разом нашли несколько за
    > столько лет впервые - лишь показывает, как все привыкли к его
    > безгрешности. Свое он делает отлично, логи понятные, судьбу письма отследить легко,
    > а язык конфига позволяет напились много самому.

    Мне конфиги Exim'а не зашли вообще. У постфикса они менее упорото выглядят.


    > Да, спам нынче не тот пошёл - тупо шлётся через легитимные почтовики
    > с живых ящиков, с этим ничего не поделать алгоритмически. Но сваливать
    > все на любой внешний антиспам... Его же тоже надо уметь готовить,
    > а по умному это сделать куда сложнее, чем простые проверки в
    > экзиме накидать. )))

    Ну вот Rspamd (и наверное Spamasassin тоже) с этим и справляется более менее: прикрутил к почтовику и он просто работает, при том что я даже баесовский фильтр тренеровать поленился, и так работает, хоть и пропускает процентов 10.

     

  • 1.14, 0xDEADBEEF (?), 11:29, 14/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем оно лучше ASSP?
     
     
  • 2.16, Алекс (??), 11:43, 14/10/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    А где написано что оно лучше? Вот давай расскажи нам чем assp лучше сабжа раз так любишь мериться сам знаешь чем.
     

  • 1.25, Аноним (25), 19:57, 14/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот бы его в iredmail
     
  • 1.26, OldMonster (ok), 20:09, 14/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    По описанию сложилось впечатление, что это для форточек....
    Кто-нибудь пробовал этот пакет?
    Интересует, насколько сложно прикрутить к постфиксу и сколько ему надо рамы.
     
     
  • 2.31, Аноним (31), 05:33, 15/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Там обычный milter-interface по tcp. У меня жрёт примерно 500 метров RSS (2 worker'а + controller, процессы примерно одинаковы, +2 x fuzzy которые потребляют какой-то мизер) при дневном трафике в 2к чистых писем и 8к отфильтрованного спама. Прикрученный к тому же почтовику clamd жрёт почти втрое больше.
     
     
  • 3.32, exSun (ok), 09:56, 15/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Прикрученный к тому же почтовику clamd жрёт почти втрое больше.

    Та же история: пол-гига и полтора, хотя у меня в отсев на rspamd уходит примерно две трети и жалоб на спам нет. А на эффективность clamd смотрели? У меня за последние полгода ни одного вируса не поймал - всё отсеивается на проверках в postfix (достаточно жёстких) и rspamd.

     
     
  • 4.37, Аноним (31), 02:28, 16/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Сторонние базы к clam'у подключи, типа sanesecurity, с ними худо-бедно ловит. А для совсем новой малвари, а также всяких pdf'ок с "ой, документ не открылся, нажмите на ссылку"  - локальное fuzzy_storage и запрет шифрованных архивов в rspamd.
     
  • 3.33, OldMonster (ok), 10:05, 15/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за информацию.
    Не рискну ставить, пожалуй. - У меня слабенький vds, спама и почты мало.
    Обойдусь пока так.
    з.ы. Фря.
     
     
  • 4.35, А (??), 22:28, 15/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А кто вдс на фряхе даёт сегодня? Firstvds?
     
     
  • 5.38, OldMonster (ok), 07:44, 16/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > А кто вдс на фряхе даёт сегодня? Firstvds?

    vdsina.ru

    Буду рад инфе о других недорогих вдс под фряху за рубежом.

     

  • 1.28, Аноним (28), 20:44, 14/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    прикрутить просто - настроить не легко
    доки не очень внятные.
    но работает хорошо. в не самой маленькой компании на виртуалке 128 гиг чуствовал себя свободно
    RHEL7
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру