113 lines
7.8 KiB
Markdown
113 lines
7.8 KiB
Markdown
[](README.md) [](#)
|
|
|
|
## Rspamd helper for CommuniGate Pro 6.x, *версия 3.0.0*
|
|
|
|
### Введение
|
|
|
|
*Помощник* (внешний фильтр сообщений) **rspamd-cgp** используется для фильтрования спама. Он получает сообщения от *CommuniGate Pro* и передаёт их для обработки в *Rspamd*.<br/><br/>
|
|
|
|
### Возможности
|
|
|
|
* **Высокая производительность:** Начиная с версии 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.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*.
|
|
|
|
<br/>
|
|
|
|
### Лицензия
|
|
|
|
BSD License, [LICENSE.md](LICENSE.md)<br/><br/>
|
|
|
|
### Автор
|
|
|
|
Andrey Igoshin <<ai@vsu.ru>><br/><br/>
|
|
|
|
### Ссылки
|
|
|
|
* Репозиторий: <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>
|