Назад | Перейти на главную страницу

Постфикс - Rspamd + amavis

В настоящее время у меня есть Postfix с Amavis, Spamassassin, Clamav и всеми прибамбасами.

Я хотел бы добавить RSpamd в конфигурацию, я не хочу заменять Amavis, просто пусть они работают бок о бок, отмечая спам-сообщения в теме и добавляя заголовки, чтобы увидеть, что лучше для отлова спама.

Проблема в том, что Amavis добавлен как smtpd_proxy_filter с обратным путем. RSpamd добавляется как milter. Теперь запуск RSpamd сам по себе - это нормально, но когда я добавляю Amavis, поскольку почта перенаправляется на прокси, добавляется заголовок Received, поэтому RSpamd считает, что все письма отправляются с localhost, пропуская некоторые проверки и не добавляя заголовки.

Я думал о некоторых решениях, но не знаю, можно ли и как их реализовать:

  1. Запускать milter перед прокси, не получилось добавив -o smtpd_milters в master.cf
  2. Скажите amavis не добавлять заголовок Received
  3. Скажите RSpamd, чтобы он пропустил заголовки "Получено" с локального хоста и использовал следующий за ним.

Достижимо ли что-нибудь из этого?

Файлы конфигурации здесь:

Мой master.cf

В моем main.cf есть:

smtpd_milters = inet:127.0.0.1:12345
                inet:localhost:11332
non_smtpd_milters = inet:127.0.0.1:12345
milter_default_action = accept
milter_content_timeout = 30s

Порт 12345 для DKIM и 11332 для RSpamd

Спасибо

Был в подобной ситуации несколько лет назад. Вы действительно можете удалять ненужный Received: заголовок, добавив через master.cf -o header_checks=pcre:/etc/postfix/remove_received.pcre на ваш smtpd, который получает почту от Amavis (вероятно, 127.0.0.1:25, но это зависит от того, куда ваш Amavis пересылает отфильтрованную почту).

PCRE в remove_received.pcre выглядит так:

/^Received: from server.my.domain \(\[127.0.0.1\]\).*/ IGNORE

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

Вы не должны использовать smtpd_proxy_filter и smtpd_milter все вместе. Чтобы запустить Amavis и Rspamd одновременно, рассмотрите возможность интеграции Amavis с Amavisd-Milter. smtpd_milter может вызывать разные милтеры один за другим.