7.8 KiB
Rspamd helper for CommuniGate Pro 6.x, версия 3.0.0
Введение
Помощник (внешний фильтр сообщений) rspamd-cgp используется для фильтрования спама. Он получает сообщения от CommuniGate Pro и передаёт их для обработки в Rspamd.
Возможности
-
Высокая производительность: Начиная с версии 3.0.0, Помощник использует потоковую (streaming) обработку данных. Это позволило добиться практически константного потребления памяти и значительного снижения количества аллокаций, независимо от размера обрабатываемого сообщения.
-
Помощник получает сообщение от CommuniGate Pro по протоколу Интерфейса Внешнего Фильтра и передаёт сообщение в Rspamd, используя Rspamd protocol.
-
Если сообщение получено из аутентифицированного источника, Помощник передаёт заголовок Auth: в Rspamd protocol.
-
Помощник определяет HELO/EHLO протокола SMTP на основании первого заголовка Received: сообщения и передаёт заголовок Helo: в Rspamd protocol.
-
Помощник выполняет резольвинг ip-адреса источника сообщения, и, если резольвинг успешен, передаёт заголовок Hostname: в Rspamd protocol. Результаты резольвинга кешируются.
-
Помощник различает сообщения, полученные из внешних источников, и сгенерированные CommuniGate Pro. При передаче в Rspamd сгенерированных сообщений Помощник помечает их как полученные из доверенного источника.
-
Помощник формирует заголовок X-Junk-Score: на основании action, пришедшего от Rspamd. Этот заголовок обрабатывается встроенными правилами Управление Спамом, которые настраиваются в пользовательском интерфейсе CommuniGate Pro.
-
Помощник добавляет в сообщение все полученные от Rspamd заголовки. Решение о добавлении этих заголовков принимается на стороне Rspamd.
-
При получении action: rewrite subject Помощник переписывает Subject: сообщения как указано в ответе Rspamd. Эта операция вызывает проход сообщения через CommuniGate Pro PIPE.
-
В ряде случаев, чтобы избежать двойной обработки или зацикливания сообщений, Помощник добавляет в обработанное сообщение заголовок X-Rspamd-Seen:.
-
Помощник может выполнять дополнительную обработку сообщений на основании своего конфигурационного файла, используя данные из ответа Rspamd. Дополнительная обработка может быть применена к действиям и символам. Если для конкретного сообщения в конфигурационном файле Помощника совпали несколько действий и символов, для получения итогового результата они суммируются.
-
Помощник может обрабатывать исходящие сообщения. Это позволяет задействовать ряд модулей Rspamd для уменьшения ложных срабатываний (FP).
Установка
Конфигурационный файл Помощника rspamd-cgp.yml по умолчанию находится в той же директории, что и исполняемый файл rspamd-cgp. При необходимости другое местоположение конфигурационного файла можно указать в командной строке. Возможные настройки Помощника подробно описаны в конфигурационном файле.
Ниже показаны настройки Помощника и Правила в интерфейсе CommuniGate Pro.
Для входящих сообщений
Установки -> Общее -> Помощники
Установки -> Почта -> Правила -> RSPAMD_in
Для исходящих сообщений
Установки -> Общее -> Помощники
Установки -> Почта -> Правила -> RSPAMD_out
Параметры командной строки
Usage of rspamd-cgp:
-config string
Set configuration file (default "rspamd-cgp.yml")
-configdump
Perform configuration file dump
-configtest
Perform configuration file test
-debug
Run in debug mode
-outbound
Outbound message flow processing
-version
Print version and exit
config
Указывает альтернативный конфигурационный файл.
configdump
Выводит конфигурационный файл в форматированном виде.
configtest
Проверяет синтаксическую корректность конфигурационного файла.
debug
Выводит в форматированном виде ответ Rspamd (JSON). Может быть использован для контроля возвращаемых Rspamd символов и других данных. Входной файл должен быть в формате файла очереди CommuniGate Pro. Применять только при запуске из командной строки!!!
outbound
Обрабатывает поток исходящих сообщений. Если исходящие сообщения отправляются на внешние MTA, в них не добавляются заголовки, являющиеся результатом проверки на спам. Какие именно сообщения обрабатываются таким образом определяется Правилом CommuniGate Pro.
Лицензия
BSD License, LICENSE.md
Автор
Andrey Igoshin <ai@vsu.ru>
Ссылки
- Репозиторий: https://git.vsu.ru/ai/rspamd-cgp
- Сайт CommuniGate Pro: https://communigatepro.ru
- Протокол Помощника: https://doc.communigatepro.ru/russian/development/Helpers.html#Filters
- Сайт Rspamd: https://rspamd.com
- Протокол Rspamd: https://rspamd.com/doc/developers/protocol.html



