web-dev-qa-db-ja.com

amavis + SAメッセージをスパムとしてマークしない

Postfix + amavis + SpamAssassinを実行しています。メッセージは問題なく送信され、予想どおりX-Spam-ScoreX-Spam-Status値を取得しています。これは、SAがメッセージを処理していることを意味します。残念ながら、amavisは、すべてのメッセージがX-Spam-Flag: NOで送信されているため、実際にはスパムとしてマークしたくないようです。

私が今見ているメッセージの例には、次のヘッダーがあります。

X-Virus-Scanned: Debian amavisd-new at magni
X-Spam-Flag: NO
X-Spam-Score: 11.733
X-Spam-Level: ***********
X-Spam-Status: No, score=11.733 tests=[BAYES_99=3.5, HTML_MESSAGE=0.001,
        MIME_HTML_ONLY=1.457, RCVD_IN_BL_SPAMCOP_NET=1.96, RCVD_IN_PBL=0.905,
        RCVD_IN_SORBS_DUL=0.877, RCVD_IN_XBL=3.033] autolearn=no

これが私のamavisd.confファイルです:

$mydomain = "";
$MYHOME = '/var/amavisd';
$TEMPBASE = "$MYHOME/tmp";

$inet_socket_port = 10024;
$forward_method = 'smtp:127.0.0.1:10025';
$notify_method = $forward_method;

# @local_domains_acl = qw( "." ); # you may want to use qw() to check all in and out
$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 5.0; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 999; # triggers spam evasive actions
$sa_debug = 1;

$final_virus_destiny = D_DISCARD; # (defaults to D_BOUNCE)
$final_banned_destiny = D_REJECT; # (defaults to D_BOUNCE)
$final_spam_destiny = D_PASS; # (defaults to D_REJECT but we're tagging and passing)

$spam_admin = "postmaster\@$mydomain";
$spam_lovers{lc("postmaster\@$mydomain")} = 1;
$virus_admin = "postmaster\@$mydomain";

$QUARANTINEDIR = undef;
$virus_quarantine_to = undef;
#$spam_quarantine_to = 'spam-quarantine';

$remove_existing_spam_headers = 0;
$sa_local_tests_only = 0; # (default: false)
$SYSLOG_LEVEL = 'mail.err';
$DO_SYSLOG = 1;
$log_level = 2;

$enable_dkim_verification = 0;

# @bypass_spam_checks_maps = (1);

@lookup_sql_dsn = ( 'DBI:mysql:database=postfix;Host=127.0.0.1;port=3306', '', '' );
$sql_select_policy = 'SELECT "Y" as local FROM aliases WHERE source IN (%k) UNION SELECT "Y" as local FROM users WHERE address IN (%k)';

1;

何か案は?

更新:私が保持しているメッセージ:

X-Spam-Flag: NO
X-Spam-Score: 14.085
X-Spam-Level: **************
X-Spam-Status: No, score=14.085 tests=[BAYES_99=3.5, NO_DNS_FOR_FROM=1.496,
        RAZOR2_CF_RANGE_51_100=0.5, RAZOR2_CF_RANGE_E8_51_100=1.5,
        RAZOR2_CHECK=0.5, RCVD_IN_XBL=3.033, RDNS_NONE=0.1,
        URIBL_BLACK=1.955,
        URIBL_JP_SURBL=1.501] autolearn=no

メールログに次のエントリがあります。

mail.log.1:Sep  5 21:43:39 magni amavis[25486]: (25486-10) Passed CLEAN, [78.189.26.137] [88.206.193.68] <[email protected]> -> <gms8994>, Message-ID: <[email protected]>, mail_id: 4Moi5p2dOV-I, Hits: 14.085, size: 891, queued_as: AFF8C2C367, 1156 ms

Dave Drager が示唆しているように、スパムを止めて、何が起こるか見てみましょう。

UPDATE2:amavisを実行したまま、spamassassinを停止し、次のメッセージを受け取りました:

X-Spam-Flag: NO
X-Spam-Score: 17.712
X-Spam-Level: *****************
X-Spam-Status: No, score=17.712 tests=[BAYES_99=3.5, FH_FROMEML_NOTLD=2.696,
        RAZOR2_CF_RANGE_51_100=0.5, RAZOR2_CF_RANGE_E8_51_100=1.5,
        RAZOR2_CHECK=0.5, RCVD_ILLEGAL_IP=1.908, RCVD_IN_SORBS_WEB=0.619,
        RCVD_IN_XBL=3.033, URIBL_BLACK=1.955, URIBL_JP_SURBL=1.501]
        autolearn=failed

ログにこれを入れて:

mail.log:Sep  9 08:49:11 magni amavis[13604]: (13604-10) Passed CLEAN, [77.70.121.78] [77.70.121.78] <trfq@pc-2bb82028ef37> -> <[email protected]>, Message-ID: <[email protected]>, mail_id: Lg-rCSg9x0rr, Hits: 17.712, size: 844, queued_as: 8269D2BF6B, 2312 ms

@citeごとに、私は/etc/amavis/conf.d/50-userを見ました(私は実際にdebianを実行しています)。空でした。構成を/etc/amavis/amavisd.confから50ユーザーに移動して再起動すると、メッセージにX-Spam-Flag: YESのタグが付けられます。引用するポイント。

3
Glen Solsberry

これを解決するには、より詳細なログ出力を提供する必要があります。amavisdを停止し、デバッグモードで再起動します(amavisd debug、Debian/Ubuntuではおそらくamavisd-new debugですが、amavisdをamavisd.confではなく/etc/amavis/conf.d/50-userで構成したと述べているので、あなたはオンになっていないと思いますDebian/Ubuntu)。その間、メールサーバーの外部インターフェイスでPostfix SMTPポート25リスナーを無効にする必要があります(いつでもローカルでメールを送信できます)。そうしないと、ログが少し多すぎるので、/etc/postfix/master.cfと適切なエントリのコメントを解除します(後でpostfix reloadを忘れないでください)。

また、画面が乱雑にならないように、$sa_debugからamavisd.conf設定を一時的に削除しますが、問題の原因がわからない場合は再度有効にします(また、自動学習が失敗する理由を確認してください)。

構成に関するもう2つのコメント。これは、実際には問題とは関係ありません。

  1. $sa_kill_level_deflt$sa_tag2_level_defltに設定します-とにかく、最終的なスパムの運命はD_PASSです。
  2. $sa_tag_level_defltundefに設定します。

Daveに向けられたコメント:amavisd-newはデフォルトでspamdを使用しないため、spamdを再起動することはかなり無意味です。さらに、amavisd-newが特定のコンテンツカテゴリ(ここではCC_SPAM)のメッセージを処理する方法を、Spamassassinの構成内から変更する方法はありません。

6
Stefan Förster

Amavisログを確認してください。 Spamassassinがすでに実行されている場合(異なる構成ファイルを使用し、異なる変数のセットを使用)、AmavisがSpamassassinに送信する値が機能しない可能性があることがわかりました。 Spamassassinが実行されていることがわかると思いますが、Amavisは独自のプロセスを生成する代わりにそれを使用しています。 Spamassassinも強制終了して、Amavisが上記の変数の使用を開始するかどうかを確認してください(独自のプロセスが生成されるため)。

0
Dave Drager