The OpenNET Project / Index page

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



"Доступна система фильтрации спама Rspamd 1.8"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от opennews (?), 25-Сен-18, 13:02 
Состоялся (https://rspamd.com/announce/2018/09/24/rspamd-1.8.0.html) релиз системы фильтрации спама Rspamd 1.8 (https://rspamd.com), предоставляющей средства для оценки сообщений по различным критериям, включая правила, статистические методы и чёрные списки, на основе которых формируется итоговый вес сообщения, используемый для принятия решения о необходимости блокировки.  Rspamd поддерживает практически все возможности, реализованные в SpamAssassin, и имеет ряд особенностей, позволяющих фильтровать почту в среднем в 10 раз быстрее, чем SpamAssassin, а также обеспечивать лучшее качество фильтрации. Код системы написан на языке Си и распространяется (https://github.com/vstakhov/rspamd) под лицензией BSD.


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

Основные новшества:


-  Добавлен фреймворк (https://rspamd.com/doc/configuration/selectors.html) для извлечения  данных из сообщений и дальнейшего использования этих данных в плагинах (например, в multimap, reputation или ratelimits) или регулярных выражениях, обработав с привлечением функций преобразования строк. Например, можно извлечь адрес из поля From и преобразовать его в нижний регистр ("smtp_from.lower") или извлечь тему письма, привести к нижнему регистру, вычислить хэш и выдать первые 16 символов результата ("header('Subject').lower.digest('hex').substring(1, 16)");

-  В конструкциях на языке Lua реализована (https://rspamd.com/doc/lua/sync_async.html) возможность использования сопрограмм для запуска обработчиков в неблокирующем режиме. Например, можно отправить сетевой запрос к антивирусному сканеру и сразу продолжить выполнение не дожидаясь результата, а ответ обработать отдельным callback-обработчиком;

-  Оптимизирована отправка SQL-запросов к СУБД Clickhouse (https://clickhouse.yandex/). Для того чтобы избежать медленных запросов с использованием слияний (JOIN) в Rspamd теперь используется одна общая таблица, вместо разбиение структуры БД на несколько таблиц. Преобразование схемы хранения выполняется автоматически, но старые данные не переносятся и не удаляются, а остаются в старых таблицах. В модуле Clickhouse также реализована опциональная возможность задания правил сохранения данных для соответствия принятым в Евросоюзе нормам GDPR;

-  Улучшена обработка Unicode. Нормализация всех unicode-данных теперь выполняется до их обработки, что позволяет исключить проведение атак (https://www.opennet.dev/opennews/art.shtml?num=46394) через подстановку похожих по начертанию глифов;


-  Переработан код для автоматического определения языка, на котором написан текст в сообщении. Новый детектор использует стоп-слова и учитывает подстановку похожих unicode-глифов. Существенно возросла производительность детектора языка, в некоторых ситуациях скорость определения возросла до 10 раз;

-  Внесены улучшения в web-интерфейс (https://rspamd.com/webui/). Решены проблемы, проявляющиеся при работе в кластерных конфигурациях и при агрегирования данных. Добавлен индикатор прогресса выполнения AJAX-операций.

URL: https://rspamd.com/announce/2018/09/24/rspamd-1.8.0.html
Новость: https://www.opennet.dev/opennews/art.shtml?num=49330

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Доступна система фильтрации спама Rspamd 1.8"  +3 +/
Сообщение от fske (?), 25-Сен-18, 13:02 
Хорошая вещь, мне нравится.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Доступна система фильтрации спама Rspamd 1.8"  +1 +/
Сообщение от Аноним (6), 26-Сен-18, 00:01 
А спамассазин собирается как-то догонять в плане скорости? В 10 раз это сильно...
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

9. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от abi (?), 26-Сен-18, 09:40 
С Си сложновато конкурировать :)
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

11. "Доступна система фильтрации спама Rspamd 1.8"  +4 +/
Сообщение от Vsevolod Stakhovemail (?), 26-Сен-18, 15:54 
Язык программирования тут особо ни при чем. Пока SA медленно и печально ждет ответа от DNS, чтобы потом снова спросить DNS еще раз, Rspamd посылает все запросы разом, а во время ожидания, скажем, проверяет regexp'ы. В сочетании с быстрым резолвером, например, knot resolver, это дает очень значимый прирост. Ну а по regexp'ам, SA и перлу никогда не достичь результатов Hyperscan (да, re2c тут не поможет ровно никак).

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

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

13. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от Аноним (13), 26-Сен-18, 23:43 
> зачем сейчас люди ставят и используют SA

Возможно, отчасти это связано с тем, что в дебиановских репозиториях сабж есть только для Jessie (oldstable) и Sid, а в репах убунты его вообще нет.

https://packages.debian.org/search?keywords=rspamd
https://packages.ubuntu.com/search?keywords=rspamd&searchon=...

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

14. "Доступна система фильтрации спама Rspamd 1.8"  +3 +/
Сообщение от Vsevolod Stakhovemail (?), 27-Сен-18, 01:02 
Я собираю пакеты под все актуальные версии debian/ubuntu/centos, причем, скрипты доступны в открытом доступе на гитхабе. В чем проблема?

Разумеется, если вам интересна производительность, использовать пакеты из дистрибутива все равно нельзя - там нет ни hyperscan, ни luajit 2.1. Я вообще был сильно против включения Rspamd в дистрибутивы без понимания, как оно должно быть, зато с дурацкими требованиями использовать сломанные системные библиотеки (например, тот же hiredis) и засовывать в дистрибутив исходники jquery. В итоге в официальном пакете есть зависимость от hiredis, но она не используется, так как все равно используется патченный локальный вариант. Ну и зачем вам пакет такого качества?

В итоге нормально собрать Rspamd можно только из портов FreeBSD, да и то, потому что я сам этот порт поддерживаю. Пакеты Rspamd из Debian никуда не годятся, разве что для личной почты или слабо нагруженных почтовых систем.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

16. "Доступна система фильтрации спама Rspamd 1.8"  +1 +/
Сообщение от Mikula (?), 28-Сен-18, 09:34 
Две недели как переполз с SA на Rspamd, спасибо за хорошую систему, пока ещё не до конца с ней разобрался конечно, но это поправимо. Спасибо за хороший софт, использую на FreeBSD
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

17. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от xm (ok), 28-Сен-18, 12:44 
От медлительности DNS спасает локальный кэширующий сервер.

> то я реально не вижу ни единой причины, зачем сейчас люди ставят и используют SA

Ну, например, наличие интеграции с Exim из коробки.
В какой у вас сейчас это всё стадии? Помнится, были некоторые трудности.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

21. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от Vsevolod Stakhovemail (?), 28-Сен-18, 18:09 
> От медлительности DNS спасает локальный кэширующий сервер.

Это необходимое требование, но не достаточное. Закешировать условный спамхаус у вас все равно не выйдет.

> Ну, например, наличие интеграции с Exim из коробки.

Не "у вас", а у Exim'а. У нас-то все хорошо, а вот с той стороны не очень. В целом, интеграция есть, но работает она через legacy Spamassassin протокол. И проблема тут исключительно в разработчиках Exim. В других MTA все должно быть хорошо, даже в CommuniGate интеграция организована лучше, чем в Exim, а это о многом говорит.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

2. "Доступна система фильтрации спама Rspamd 1.8"  +3 +/
Сообщение от твой лучший друг (?), 25-Сен-18, 14:50 
да х-ня эти все новшества, главное скажи - contributor covenant запилил или нет?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от Онанимус (?), 25-Сен-18, 16:22 
Спасибо! Уже обновился.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от Аноним (4), 25-Сен-18, 16:53 
Если поставить на релей почты толк от rspamd будет?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от Аноним (5), 25-Сен-18, 17:42 
Только на открытом релее.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Доступна система фильтрации спама Rspamd 1.8"  +1 +/
Сообщение от konst55512 (?), 26-Сен-18, 04:41 
на который поступает 100 email/sec
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

10. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от u (?), 26-Сен-18, 14:37 
Вот и Clickhouse от яндекса нашёл своё применениев ещё отдном продукте.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Доступна система фильтрации спама Rspamd 1.8"  –3 +/
Сообщение от Аноним (12), 26-Сен-18, 19:45 
Эх, если б оно ещё и документацию нормальную имело, ему б цены не было.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "Доступна система фильтрации спама Rspamd 1.8"  +3 +/
Сообщение от Vsevolod Stakhovemail (?), 27-Сен-18, 01:08 
Ваши данные о документации устарели на несколько лет. Сейчас есть документация на любой вкус:

- Quick Start: https://rspamd.com/doc/quickstart.html
- FAQ: https://rspamd.com/doc/faq.html
- Integration: https://rspamd.com/doc/integration.html
- Modules: https://rspamd.com/doc/modules/
- API: https://rspamd.com/doc/lua/
- Rspamd с точки зрения админа: https://www.0xf8.org/2018/05/an-alternative-introduction-to-.../

А также множество другой информации, гайдов (в том числе сторонних), best practices и прочего. Сейчас на большую часть вопросов пользователей я отвечаю ссылками на документацию. Это о многом говорит - раньше все было совсем не так.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

22. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от Аноним (12), 03-Окт-18, 21:05 
Вы таки не правы!
Разумеется, все выше приведённые ссылки были мною прочитаны, и не один раз.
"An alternative introduction", сильно помогает, временами, в особенности 2я часть, но это скорее дока к тому, что читать в родной документации. И это всё помогает решить задачу настройки. Типа: "захотелось мне блеклист завести, как бы это сделать?" Спрашиваем у гугла, читаем Hollants'а, идём читать нужный раздел rspamd.com/doc  Куда надо, что надо пишем, прикрутили. Не вопрос.

А как быть в ситуациях, когда надо понять почему при проверке случается "то-то"? Например, у меня есть почтовый сервер с пользователями, есть пограничный почтовый релей, который пробрасывает почту с/на сервер. Релей powered by rspamd. Есть юзеры, у которых в настройках выставлен форвард писем на внешние адреса. Летит спам (угу, это реально спам), rspamd его пропускает, спам попадает на сервер, с него пытается улететь по форварду, но rspamd его отбивает на релее. КАКОГО?.. Сравниваем записи в логах (то ещё удовольствие, надо сказать) Видим, что форвард имеет "SPAM_FLAG(9.00){}". Смотрим /usr/share/rspamd/rules/regexp/upstream_spam_filters.lua, видим у него "score = 5". Т.е. в конфиге 5, а по жизни 9. Т.е. что-то увеличивает. Читаем доку https://rspamd.com/doc/configuration/metrics.html, видим что есть grow_factor. В самом символе его нет, значит есть где-то еще, ищем:

relay ~ % grep -r grow_factor /etc/rspamd /usr/share/rspamd
/etc/rspamd/actions.conf:    #grow_factor = 1.1;
/usr/share/rspamd/lib/lua_cfg_transform.lua:    actions_set['grow_factor'] = true

Т.е. в доке сказано, что по-умолчанию grow_factor = 1.0, а в конфиге под комментом написано #grow_factor = 1.1; И как это понимать? Задел на будущее? Или супер дока в этом месте устарела?
ОК. В конфиге читаем коммент
# Each new symbol is added multiplied by gf^N, where N is the number of spammy symbols
Для упомянутого письма список символов с положительным балансом:

SPAM_FLAG(9.00){},BAYES_SPAM(4.00){100.00%;},HTML_SHORT_LINK_IMG_1(2.00){},SUBJECT_ENDS_QUESTION(1.00){},URI_COUNT_ODD(1.00){5;}

URI_COUNT_ODD имеет вес score = 1.0 в misc.lua, SUBJECT_ENDS_QUESTION имеет вес score = 1.0 в headers.lua и т.д. Т.е. все символы дают именно тот вес, который прописан в .lua-файлах, т.е. grow_factor вроде как и правда 1.0, но всё же проверим... SPAM_FLAG 5й по счету, считаем 1,1^5*5 = 8,05255

ОТКУДА 9?!!  И такое на каждом шагу :(

Кстати, а вот вопрос из области настройки. Есть такое описание: https://gist.github.com/kvaps/25507a87dc287e6a620e1eec2d60ebc1 Отличное классное решение, работает. Хочется только, чтобы можно было проверять MAIL FROM из SMTP-сессии. В какой-то момент https://rspamd.com/doc/modules/multimap.html мог по памяти рассказывать :) Про остальные модули тоже читалось, разумеется. Сдался, прописал в постфиксе check_sender_access, но, блин, это же неправильно :(


PS1 Прошу прощения за "многабукаф" -- наболело ;)
PS2 Прошу понять мою позицию правильно. Есть софтина, она работает, и работает хорошо. Действительно хорошо. Но говорить, что на нее есть хорошая документация всё же не стоит.


Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

23. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от Vsevolod Stakhovemail (?), 09-Окт-18, 16:43 
> Вы таки не правы!
> Разумеется, все выше приведённые ссылки были мною прочитаны, и не один раз.
> "An alternative introduction", сильно помогает, временами, в особенности 2я часть, но это
> скорее дока к тому, что читать в родной документации. И это
> всё помогает решить задачу настройки. Типа: "захотелось мне блеклист завести, как
> бы это сделать?" Спрашиваем у гугла, читаем Hollants'а, идём читать нужный
> раздел rspamd.com/doc  Куда надо, что надо пишем, прикрутили. Не вопрос.

Эм. https://rspamd.com/doc/index.html#quick-links

>[оверквотинг удален]
> "то-то"? Например, у меня есть почтовый сервер с пользователями, есть пограничный
> почтовый релей, который пробрасывает почту с/на сервер. Релей powered by rspamd.
> Есть юзеры, у которых в настройках выставлен форвард писем на внешние
> адреса. Летит спам (угу, это реально спам), rspamd его пропускает, спам
> попадает на сервер, с него пытается улететь по форварду, но rspamd
> его отбивает на релее. КАКОГО?.. Сравниваем записи в логах (то ещё
> удовольствие, надо сказать) Видим, что форвард имеет "SPAM_FLAG(9.00){}". Смотрим /usr/share/rspamd/rules/regexp/upstream_spam_filters.lua,
> видим у него "score = 5". Т.е. в конфиге 5, а
> по жизни 9. Т.е. что-то увеличивает. Читаем доку https://rspamd.com/doc/configuration/metrics.html,
> видим что есть grow_factor.

Вряд ли виновать grow_factor, скорее, вес символа где-то переопределен (например, веб мордой). Чтобы узнать актуальные веса символов есть команда `rspamc counters`

> relay ~ % grep -r grow_factor /etc/rspamd /usr/share/rspamd
> /etc/rspamd/actions.conf:    #grow_factor = 1.1;
> /usr/share/rspamd/lib/lua_cfg_transform.lua:    actions_set['grow_factor'] = true
> Т.е. в доке сказано, что по-умолчанию grow_factor = 1.0, а в конфиге
> под комментом написано #grow_factor = 1.1; И как это понимать? Задел
> на будущее? Или супер дока в этом месте устарела?

Пример.

>[оверквотинг удален]
> # Each new symbol is added multiplied by gf^N, where N is
> the number of spammy symbols
> Для упомянутого письма список символов с положительным балансом:
> SPAM_FLAG(9.00){},BAYES_SPAM(4.00){100.00%;},HTML_SHORT_LINK_IMG_1(2.00){},SUBJECT_ENDS_QUESTION(1.00){},URI_COUNT_ODD(1.00){5;}
> URI_COUNT_ODD имеет вес score = 1.0 в misc.lua, SUBJECT_ENDS_QUESTION имеет вес score
> = 1.0 в headers.lua и т.д. Т.е. все символы дают именно
> тот вес, который прописан в .lua-файлах, т.е. grow_factor вроде как и
> правда 1.0, но всё же проверим... SPAM_FLAG 5й по счету, считаем
> 1,1^5*5 = 8,05255
> ОТКУДА 9?!!  И такое на каждом шагу :(

rspamc counters

> Кстати, а вот вопрос из области настройки. Есть такое описание: https://gist.github.com/kvaps/25507a87dc287e6a620e1eec2d60ebc1
> Отличное классное решение, работает. Хочется только, чтобы можно было проверять MAIL
> FROM из SMTP-сессии. В какой-то момент https://rspamd.com/doc/modules/multimap.html
> мог по памяти рассказывать :) Про остальные модули тоже читалось, разумеется.
> Сдался, прописал в постфиксе check_sender_access, но, блин, это же неправильно :(

From и так по умолчанию использует smtp from, если его передает MTA.

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

(пожимая плечами) А идеальной, актуальной и покрывающей все нюансы документации вообще нет ни для чего. Ну и задумайтесь, например, почему многие крупные фирмы покупают Nginx Plus, не пользуясь никакими расширенными фичами. Им просто нужно место, где можно оперативно получить ответ на вопрос по Nginx. И они готовы за только эту возможность платить. Документация к Rspamd вообще доступна на гитхабе - спрашивайте, и если что-то узнали, посылайте PR к этому репозиторию. Коммьюнити в open source проекте для того и существует, собственно.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

18. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от BrainFucker (ok), 28-Сен-18, 13:09 
Для небольших серверов бы чего нибудь легковесное, держать это на маленькой впске излишне громоздко. Я как-то обновлялся, оно ещё и фортран зачем-то притащило с какой-то версии.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Доступна система фильтрации спама Rspamd 1.8"  +/
Сообщение от Аноним (-), 28-Сен-18, 15:30 
> фортран зачем-то притащило

)))

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

20. "Доступна система фильтрации спама Rspamd 1.8"  +1 +/
Сообщение от Vsevolod Stakhovemail (?), 28-Сен-18, 17:57 
Фортран в виде openblas используется для ускорения операций с тензорами в torch (https://torch.ch). Rspamd работает и без этого, но тогда вам нужно собрать пакеты самостоятельно.

Все опции сборки можно посмотреть тут: https://github.com/rspamd/rspamd/blob/master/CMakeLists.txt#L42

По умолчанию в пакетах на сайте включено все, что можно, для производительности.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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