Доступна система фильтрации спама Rspamd 1.9
Состоялся релиз системы фильтрации спама Rspamd 1.9, предоставляющей средства для оценки сообщений по различным критериям, включая правила, статистические методы и черные списки, на основе которых формируется итоговый вес сообщения, используемый для принятия решения о необходимости блокировки. Rspamd поддерживает практически все возможности, реализованные в SpamAssassin, и имеет ряд особенностей, позволяющих фильтровать почту в среднем в 10 раз быстрее, чем SpamAssassin, а также обеспечивать лучшее качество фильтрации. Код системы написан на языке Си и распространяется под лицензией Apache 2.0.
Rspamd построен с использованием событийно-ориентированной архитектуры (Event-driven) и изначально рассчитан на применение в высоконагруженных системах, позволяя обрабатывать сотни сообщений в секунду. Правила для выявления признаков спама отличаются высокой гибкостью и в простейшем виде могут содержать регулярные выражения, а в более сложных ситуациях могут оформляться на языке Lua. Расширение функциональности и добавление новых типов проверок реализуется через модули, которые могут создаваться на языках Си и Lua. Например, доступны модули для проверки отправителя с использованием SPF, подтверждения домена отправителя через DKIM, формирования запросов в списки DNSBL. Для упрощения настройки, создания правил и отслеживания статистики предоставляется административный web-интерфейс.
Основные новшества:
- В состав включен модуль для взаимодействия с внешними сервисами, позволяющий обращаться к сторонним системам фильтрам контента и сканироваиня вирусов при помощи протокола ICAP (Internet Content Adaptation Protocol). Поддерживается интеграция с ClamAV (через c-icap и squidclamav), Sophos (через SAVDI), Symantec Protection Engine for Cloud Services и Kaspersky Web Traffic Security 6.0. Также возможно прямое использование фильтров DCC и VadeSecure, а также анализ OLE и файлов MS Office при помощи Python-модуля oletools;
- Добавлена новая команда "mime modify", позволяющая вносить изменения в сообщения, например, добавлять или удалять заголовки, прикреплять футеры к HTML и текстовым частям, переделывать тему письма. Например, для добавления текста из файлов footer.txt и footer.html и добавлении к заголовку слова "TEST" можно выполнить команду 'rspamadm mime modify --text-footer=footer.txt --html-footer=footer.html --rewrite-header="Subject=TEST: %s"'. Имеется полноценная поддержка MIME, multipart-сообщений с вложениями, разных кодировок, исключения подписанных и зашифрованных сообщений.
- Добавлена новая команда "sign", позволяющая добавлять к сообщениям DKIM-подписи с использованием указанного закрытого ключа. В сочетании с "mime modify" новая команда позволяет автоматизировать добавление цифровой подписи к сообщениям, генерируемым списками рассылки или локальными скриптами;
- В HTTP-клиент на языке Lua добавлена поддержка HTTP Keep-Alive, позволяющем оптимизировать обработку повторяющихся обращений к определенным внешним сервисам;
- Реализован новый клиент на языке Lua, позволяющий отправлять запросы по протоколу UDP;
- Улучшен код для нормализации символов Unicode и выявления аномалий;
- Добавлена утилита "rspamadm configgraph" для визуализации конфигурации в форме графа (для построения графа используется graphviz);
- Возможность определения произвольных действий со своим порогом срабатывания в дополнение к встроенным обработчикам (discard, reject, rewrite subject, add header и т. п.);
- Предложен новый парсер заголовков "Received", который поддерживает в том числе разбор заголовков "Received, не соответствующих требованиям RFC;
- Добавлена поддержка URL-схемы "tel:", применяемой для указания ссылок на телефонные номера. Новая возможность может быть использования для создания черных списков телефонных номеров, используемых в спаме и фишинге.
- Добавлена поддержка цифровых подписей DKIM на базе ED25519. Для генерации ключей для ED25519 следует использовать команду "rspamadm dkim_keygen -t ed25519";
- Добавлена возможность определения собственных функций на языке Lua, расширяющих возможности модуля Regexp.
- Добавлена поддержка чтения файлов из архивов gzip, что позволяет создавать фильтры для блокирования писем с прикрепленными бэкдорами и майнерами;
- Реализован расширенный метод типов почтовых вложений, позволяющий использовать libmagic для выявления истинного типа вложений, независимо от содержимого заголовка "Content-Type".