web-dev-qa-db-ja.com

Postfix-Rspamd + amavis

現在、私はAmavis、Spamassassin、Clamav、およびすべてのベルとホイッスルを使用してPostfixを実行しています。

構成にRSpamdを追加したいのですが、Amavisを置き換えたくありません。それらを並べて実行し続け、件名にスパムメッセージをマークし、ヘッダーを追加して、どちらがスパムをキャッチするのに優れているかを確認します。

問題は、Amavisがリターンパスを持つsmtpd_proxy_filterとして追加されていることです。 RSpamdがmilterとして追加されます。 RSpamdを単独で実行することは問題ありませんが、Amavisを追加すると、メールがプロキシにリダイレクトされるため、Receivedヘッダーが追加されます。したがって、RSpamdは、すべてのメールがローカルホストからのものであると見なし、一部のチェックをスキップしてヘッダーを追加しません。

私はいくつかの解決策について考えていましたが、それらを実装できるかどうか、そしてどのように実装できるかわかりません。

  1. プロキシの前にmilterを実行しましたが、master.cfに-o smtpd_miltersを追加しても機能しませんでした
  2. Receivedヘッダーを追加しないようにamavisに指示します
  3. RSpamdにローカルホストのReceivedヘッダーをスキップし、その後のヘッダーを使用するように指示します

そのいずれかが達成可能ですか?

ここの設定ファイル:

私の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

DKIMの場合はポート12345、RSpamdの場合は11332

ありがとう

1
InToSSH

数年前に同様の状況にありました。 Amavisからメールを受信して​​いるsmtpdにmaster.cf _Received:_を介して追加することにより、実際にremove不要な_-o header_checks=pcre:/etc/postfix/remove_received.pcre_ヘッダーを削除できます。 (おそらく127.0.0.1:25インスタンスですが、これはAmavisがフィルタリングされたメールを転送する場所によって異なります)。

_remove_received.pcre_のPCREは次のようになります。

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

グループ化演算子として解釈されるブラケットのバックスラッシュエスケープに注意してください。 Amavisが接続して自己紹介する方法によっては、追加の行としてlocalhostを追加する必要がある場合もあります。

3
Peter Zhabin

smtpd_proxy_filtersmtpd_milterを一緒に使用しないでください。 AmavisとRspamdを並べて実行するには、Amavisを amavisd-milter と統合することを検討してください。 smtpd_milterは、さまざまなミルターを次々に呼び出すことができます。

2
Mario