The OpenNET Project / Index page

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

Релиз системы фильтрации спама Rspamd 0.9

14.05.2015 23:20

Анонсирован выпуск комплексной системы фильтрации спама Rspamd 0.9, предоставляющей средства для оценки сообщений по различным критериям, включая правила, статистические методы и чёрные списки. В результате различных проверок формируется итоговый вес сообщения, на основании которого принимается решение о необходимости блокировки. Код системы написан на языке Си и распространяется под лицензией BSD. Проект развивается Всеволодом Стаховым, одним из основных разработчиков пакетного менеджера pkg, используемого в проекте FreeBSD.

Система построена с использованием событийно-ориентированной архитектуры (Event-driven) и изначально рассчитана на применение в высоконагруженных системах, позволяя обрабатывать сотни сообщений в секунду. Правила для выявления признаков спама отличаются высокой гибкостью и в простейшем виде могут содержать регулярные выражения, а в более сложных ситуациях могут оформляться на языке Lua. Кроме явных правил в Rspamd реализованы и статистические методы обнаружения спама, основанные на использовании баесовского классификатора.

Расширение функциональности и добавление новых типов проверок реализуется через модули, которые могут создаваться на языках Си и Lua. Например, доступны модули для проверки отправителя с использованием SPF, подтверждения домена отправителя через DKIM, формирования запросов в списки DNSBL. Для интеграции Rspamd с postfix и sendmail применяется rmilter, для exim предлагается специальный патч, dlfunc или local_scan. Для упрощения настройки, создания правил и отслеживания статистики предоставляется административный web-интерфейс.

В новом выпуске была переработана или полностью переписана большая часть кодовой базы с целью улучшения архитектуры, производительности и стабильности. Обеспечена поддержка правил SpamAssassin. Внесены значительные оптимизации, такие как задействование LuaJIT и PCRE JIT, применение алгоритма Ахо — Корасик для обеспечения поиска по сотням тысяч масок и переход на использование абстрактного синтаксического дерева для всех выражений. Обеспечена возможность шифрования всего трафика. Представлена новая архитектура статистической оценки сообщений, применяющая расширенные методы разбиения текста на токены и поддерживающая кэширование результатов обучения.

  1. Главная ссылка к новости (https://rspamd.com/news/2015/0...)
  2. OpenNews: Современные методы борьбы со спамом и шифрование переписки
  3. OpenNews: Увидел свет Apache SpamAssassin 3.4.0
  4. OpenNews: Увидел свет Apache SpamAssassin 3.4.1
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42233-rspamd
Ключевые слова: rspamd, spam
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (41) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 00:11, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А поддержки OpenSMTPD нет. Ненужно.
     
     
  • 2.3, cebka (?), 00:21, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Поддержка нужна как раз со стороны OpenSMTPD - с самим rspamd можно общаться хоть банальным curl'ом. А вот интерфейса фильтров в OpenSMTPD я от авторов сервера жду уже больше года, а воз и ныне там.
     
     
  • 3.5, Аноним (-), 01:58, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    https://poolp.org/0xa871/The-state-of-filters
     
     
  • 4.15, cebka (?), 11:27, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > https://poolp.org/0xa871/The-state-of-filters

    Вот ровно об этом я и говорю. Обещания я слышу уже долгое время и слежу за проектом по мере собственной нагруженности.

     
  • 3.27, anonymoose (?), 13:57, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    |procmail
     

  • 1.4, gred (ok), 00:47, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    посмотрел build requirements, не проникся.
     
  • 1.6, Аноним (-), 03:15, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Почините action "greylist", сейчас он бесполезен, т.к. сообщение проверяется антиспамом уже после проверок RCPT TO. Внешнему фильтру уже письмо не передать на этом этапе, а сам rspamd состояние попыток доставки не хранит.
     
     
  • 2.11, cebka (?), 10:00, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не понимаю, как связаны проверки rcpt to и грейлистинг. Да, rspamd выполняет проверки после end-of-data, но это всего-навсего дает чуть бОльший оверхед, но MTA может ответить 4.7.1 Try again later и после '.', что прекрасно работает на практике.
     
     
  • 3.18, Аноним (-), 12:33, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Напрямую они связаны. Грейлистинг - это собственно связка отправитель - получатель - ip отправителя. На этапе end-of-data уже нет возможности получить отдельного получателя, только всё скопом с копиями, скрытой копией и т.д. Это раз.

    Второе - даже если ты ответил 471 после end-of-data по указке rspamd - как ты узнаешь, что это письмо тебе уже приходило? Контент при retry будет тот же самый, rspamd опять ответит 471 и так далее до протухания письма в очереди на отправителе. Сам же rspamd такую статистику не ведёт, я смотрел исходники.

     
     
  • 4.20, cebka (?), 12:37, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Напрямую они связаны. Грейлистинг - это собственно связка отправитель - получатель -
    > ip отправителя. На этапе end-of-data уже нет возможности получить отдельного получателя,
    > только всё скопом с копиями, скрытой копией и т.д. Это раз.

    Вы неправы. Эту информацию передает мильтр непосредственно rspamd через HTTP заголовки. Включая также IP, envelope информацию, helo и многое другое.

    > Второе - даже если ты ответил 471 после end-of-data по указке rspamd
    > - как ты узнаешь, что это письмо тебе уже приходило? Контент
    > при retry будет тот же самый, rspamd опять ответит 471 и
    > так далее до протухания письма в очереди на отправителе. Сам же
    > rspamd такую статистику не ведёт, я смотрел исходники.

    Вы не учли, что грейлистинг делает не rspamd, а milter. Rspamd лишь говорит: вот это письмо мне не очень нравится, давай попробуй его погрейлистить. Следовательно, если клиент приходит до истечения таймаута грейлистинга, то фильтруется он уже самим мильтром на стадии rcpt to.

     
     
  • 5.22, Аноним (-), 12:43, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > то фильтруется он уже самим мильтром на стадии rcpt to.

    Воот, то есть у нас будет 2 разных вызова мильтера, и из rcpt_verify (2+) и из data_verify (1). Не находите, что это несколько кривая и, мягко скажем, нетривиальная в поддержке конфигурация?

     
     
  • 6.28, cebka (?), 14:54, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> то фильтруется он уже самим мильтром на стадии rcpt to.
    > Воот, то есть у нас будет 2 разных вызова мильтера, и из
    > rcpt_verify (2+) и из data_verify (1). Не находите, что это несколько
    > кривая и, мягко скажем, нетривиальная в поддержке конфигурация?

    Простите, я не смог понять ваш комментарий. Либо вы ничего не понимаете в том, как работает milter, либо не можете описать проблему.

     
     
  • 7.29, Аноним (-), 15:56, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ну бывает, попробую расписать на примере Первый заход приходит хост, пытается ... большой текст свёрнут, показать
     
     
  • 8.31, cebka (?), 16:06, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, теперь понятно К сожалению, я сам не использую связку exim rspamd, но ... текст свёрнут, показать
     
     
  • 9.33, Аноним (-), 16:45, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Есть ещё и намного больший фронт потенциальных уязвимостей в антиспаме, тем боле... текст свёрнут, показать
     
     
  • 10.34, cebka (?), 16:50, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    То есть, MTA на Си, да еще и с собственным тюринг-полным языком конфигурации, ва... текст свёрнут, показать
     
     
  • 11.35, Аноним (-), 17:06, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не смущает exim у - 12лет, баги с парсером smtp там уже давно выловили Пе... текст свёрнут, показать
     
     
  • 12.36, Аноним (-), 17:09, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    UPD Даже не 12, а 20, википедия говорит, что первая версия появилась в 95году ... текст свёрнут, показать
     
  • 12.38, cebka (?), 18:50, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Понятия история безопасности не существует Вот история дыр и уязвимостей да, ... текст свёрнут, показать
     

  • 1.8, Alukardd (?), 07:30, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    exim'у нужен только внешний bayes, всё остальное он и сам умеет нативно.
     
     
  • 2.16, Некто (??), 12:27, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это так. Но для этого нужны мозги и опыт, чтобы вылизать конфиг.
     
     
  • 3.17, cebka (?), 12:30, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Учитывая, что примерно половина пользователей rspamd пользуются как раз exim, включая многих серьезных специалистов по этому MTA, я не был бы настолько категоричен. Ну и опять же, цель rspamd - поток в сотни сообщений в секунду. Exim с развесистой конфигурацией неспособен работать на таком потоке (по опыту, впрочем, он и без развесистой конфигурации неспособен, но флейм разводить я не хочу).
     
     
  • 4.30, oops (ok), 15:57, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    не холивара ради, поделитесь опытом!
     
  • 2.21, Аноним (-), 12:39, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Кулстори бро, рассказывай ещё.

    > Exim processes SPF based on raw logic. Thus if a domain uses +all, which means every host will pass, this doesn't provide any useful information.

    Насчёт wide mask +all тоже ничего не предпринимается. Предлагаете лепить неподдерживаемые простыни на встроенном perl'е, с кучей acl_m/acl_c?

    То же самое насчёт PTR'а - если он есть, но не совпадает с A - считается что его как бы и нет вовсе.

     
     
  • 3.39, Аноним (-), 00:54, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >То же самое насчёт PTR'а - если он есть, но не совпадает с A - считается что его как бы и нет вовсе.

    Зачем стрелять себе в яйца? Это ситуация и тупо NO_PTR - это две большие разницы!(С)

     
     
  • 4.41, Аноним (-), 05:50, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Да-да, "раз не умеет - не это нужно", проходили уже.
     

  • 1.9, Аноним (-), 07:51, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Кто-нибудь на код с точки зрения безопасности смотрел? Производительность конечно хорошо, но использование языка Си вызывает опасения. SpamAssassin хоть и тормозной, но уже проверен вдоль и поперёк, да и perl позволяет не задумываться о переполнении буферов. А с  Rspamd боюсь, что может повториться ситуация с clamav, в котором дыра дырой погоняет.
     
     
  • 2.12, Ivan_83 (?), 11:00, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ещё один с фобией.
     
     
  • 3.14, cebka (?), 11:25, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, разумное обоснование в этом есть, хотя, конечно, считать, что SA, использующий сишные библиотеки, работающий с сишной libc, в ОС, написанной на Си, и компилирующий свои правила в Си, абсолютно безопасен напоминает мне известный анекдот про феминисток.

    Впрочем, если бы я начинал этот проект сейчас, то очень бы пристально присматривался бы к rust, но тогда не было не то, что rust, но даже и C++11, а писать production системы на функциональных языках я, к сожалению, до сих пор не научился.

     
     
  • 4.40, Аноним (-), 00:57, 16/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Впрочем, если бы я начинал этот проект сейчас, то очень бы пристально
    > присматривался бы к rust,

    А что нем известно о безопасности rust? А ничего не известно :) Так что всё правильно сделал. Ди потом - после кернела и (г)либцЫ на сях ... выдохни уже :)

     

  • 1.10, Dkg (?), 08:15, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как в Iredmail засунуть?
     
     
  • 2.23, Аноним (-), 12:59, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Становишься раком и вставляешь его себе в Iredmail.

    P.S. Гугл твой друг.

     

  • 1.13, count0krsk (ok), 11:02, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не нужен. Постфикс + грейлист + сапассассин вполне справляются, проходят только "коммерческие предложения" с mail.ru и т.п. российских почтовиков. Штук 5 в неделю.
     
     
  • 2.42, Stax (ok), 17:54, 18/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Справляется, конечно, но SA проц грузит не по-детски под нагрузкой... Может у этого получше ситуация? Даже если нет гибкости SA, скорость - это важно.
     
     
  • 3.43, cebka (?), 18:02, 18/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Справляется, конечно, но SA проц грузит не по-детски под нагрузкой... Может у
    > этого получше ситуация? Даже если нет гибкости SA, скорость - это
    > важно.

    Вот отчет одного из разработчиков haraka:
    https://github.com/baudehlo/Haraka/pull/964#issuecomment-100694945

    0.9 быстрее процентов на 50 (это тестирование делалось для 0.8.3), кроме того, у rspamd гораздо проще получается работать с большим количеством писем параллельно, чем у того же SA, у которого постоянно в пиках кончаются воркеры в пуле.

     

  • 1.19, Аноним (-), 12:37, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да ладно вам, "нинужники" - вон в соседнем треде во всю МС-поделки рекламируют, в другом юникс-утилиты на Го переписывают, в третьем очередной пакетный менеджер на питоне представляют ...

    А тут - оно на Си, с открытыми сырцами (даже не пришлось пол-часа искать ссылочку на гитхаб - она на видном месте красуется "Fork me on github" https://github.com/vstakhov/rspamd ), да еще и не очередной полузаброшенный проект-лаба.
    Так что: годнота! Автар - пиши исчо! (<- говорят, доброе слово даже кошке приятно)

     
     
  • 2.25, count0krsk (ok), 13:32, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Чем бы дитя не тешилось, лишь бы на java не писало...
     

  • 1.24, DeadLoco (ok), 13:25, 15/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А нельзя ли без патчей экзима? Сделать, как у СА - висеть себе тихо на сокете, на вход принимать письма, в ответ выплевывать оценку. И больше ничего.
     
     
  • 2.26, Аноним (-), 13:40, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А нельзя ли без патчей экзима? Сделать, как у СА - висеть
    > себе тихо на сокете, на вход принимать письма, в ответ выплевывать
    > оценку. И больше ничего.

    В будущую версию exim патч уже включен.


     
  • 2.32, cebka (?), 16:18, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Rspamd обратно совместим с протоколом SA. Он не умеет только генерировать отчеты в стиле SA, потому что я счел несовместимым с производительностью модифицировать письмо в rspamd и отсылать его обратно.
     
     
  • 3.37, DeadLoco (ok), 18:11, 15/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Rspamd обратно совместим с протоколом SA. Он не умеет только генерировать отчеты
    > в стиле SA, потому что я счел несовместимым с производительностью модифицировать
    > письмо в rspamd и отсылать его обратно.

    Оно не только с производительностью несовместимо :) Результатом работы анализатора должна быть оценка - и все. А модифицировать тело письма (не хедеры) - вообще идиотизм, тело письма неприкосновенно.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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