web-dev-qa-db-ja.com

X-Spam-Statusヘッダーがありません

私は最近Ubuntu 14.04.1 LTS(信頼できる)にアップグレードし、 https://help.ubuntu.com/14.04/serverguide/mail-filtering.html の指示に従ってメールを送受信しています結構です.

メッセージにX-Virus-Scannedヘッダーが表示されていますが、これはメールが実際に処理されていることを示していますが、メッセージに追加されるX-Spam-LevelまたはX-Spam-Scoreヘッダーは表示されません。これにより、ダウンストリームprocmailrcおよびクライアント側のフィルタリングがより困難になります。

/etc/amavis/conf.d/20-debian_defaultsに$final_spam_destiny = D_DISCARDがあると、受信トレイへのスパムが大幅に削減されますが、チューニングの前に誤検出の懸念があり、そこに行くのかわかりませんでした。とりあえずD_PASSに。これにより問題が明らかになりました。

問題の診断を開始する場所がわかりません(そうでない場合は、疑わしい構成ファイルを投稿します)。

/etc/amavis/conf.d/15-content_filter_modeには、ウイルスおよびスパムチェックを有効にする行uncommentedがあり、ウイルスチェックはヘッダー。

スパムアサシンも確かにうまく始めているようです。

SpamAssassinデバッグ機能:情報
SA情報:ズーム:360/360 'body_0'コンパイル済みルールを使用可能(100%)
SpamAssassinロードされたプラグイン:AskDNS、AutoLearnThreshold、Bayes、BodyEval、Check、DKIM、DNSEval、FreeMail、HTMLEval、HTTPSMismatch、Hashcash、HeaderEval、ImageInfo、MIMEEval、MIMEHeader、Pyzor、Razor2、RelayEval、ReplaceTags、Rule2XSBody 、SpamCop、URIDNSBL、URIDetail、URIEval、VBounce、WLBLEval、WhiteListSubject
SpamControl:SpamAssassinのinit_pre_forkが完了しました

また、/ etc/amavis/conf.d/50-userに$log_level = 2;を設定しましたが、ログにロールスルーする明らかなエラーはありません。

Q:次に何を試すべきかについての推奨事項はありますか?

更新(既に正しい設定があるようです):

/etc/amavis/conf.d$ grep sa_tag_level_deflt *
20-debian_defaults:# $sa_tag_level_deflt  = 2.0;  # add spam info headers if at, or above that level
20-debian_defaults:$sa_tag_level_deflt  = -999;  # add spam info headers if at, or above that level
5

それで問題は解決しました。それは物事の集合でした。他の人が同じ道を進んでいるのを見つけるためにここで詳しく説明します。

まず、 spamassassin にはipv6での実行に問題があるようです(環境によっては)。どうしてダノ。 /etc/default/spamassassin、または/etc/init.d/spamassassinがない場合は編集して、--ipv4OPTIONSリストに追加します。次に、service spamassassin restartを使用してサービスをバウンスし、service spamassassin statusを使用してspamdが実行されていることを確認します。この手順は、構成には必要ない場合があります。

次に、/etc/procmailrcファイルがあり、そのアクセス許可が誰でも読み取り可能であり、次のようなものが含まれていることを確認します。

DROPPRIVS=yes
:0fw
| /usr/bin/spamc
:0
* ^X-Spam-Status: Yes
$HOME/mail/possible-spam

次に、 webmin を実行している場合は、procmailサービスを確認し、 postfix が使用するように設定されていないという警告を発行していないことを確認します- procmail/etc/postfix/main.cfでは、デフォルトのmailbox_commandをコメントアウトして、deliverを実行し、procmailに置き換えます。編集を行った後、service postfix restartを実行する必要があります。

#mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/dovecot.conf -m "${EXTENSION}"
mailbox_command = procmail -a "$EXTENSION"

スパムメッセージをspamというメールフォルダに手動で移動している場合は、次のようにスパムの暗殺者を訓練する必要があります。

sa-learn --progress  --dbpath ~/.spamassassin --spam --mbox ~/mail/spam

いくつかのさらなるチューニングを行うことができ、service spam assassin restartを後で実行する必要があることに注意してくださいが、これは役立ちます。

1つは、/etc/spamassassin/local.cfで、大量のスパムを受信する場合にrequired_scoreをわずかに低い値に設定することです。

#   Set the threshold at which a message is considered spam (default: 5.0)
#
required_score 4.0

同じファイル/etc/spamassassin/local.cfで、これを最後に追加することにより、スパムの多い国でフィルタリングすることもできます。これがロシアと中国です。2人の非常に重い貢献者が、歴史的にメール分析に基づいて話しています。

# Filter Russia
header RELAYCOUNTRY_RU X-Relay-Countries =~ /RU/
describe RELAYCOUNTRY_RU Relayed through Russia
score RELAYCOUNTRY_RU 8.0

# Filter China
header RELAYCOUNTRY_CN X-Relay-Countries =~ /CN/
describe RELAYCOUNTRY_CN Relayed through China
score RELAYCOUNTRY_CN 8.0

report_header 1
fold_headers 1
detailed_phrase_score 1

上記は、欠落しているヘッダーを解決しただけでなく、procmailが呼び出されなかったと思われます。

3

コマンドhead -n 1 /etc/mailnameの出力は、example.comのようなドメインでなければなりません。

出力がmail.example.comのようなものである場合、それがバグです

そのため、ファイル/etc/amavis/conf.d/05-domain_idを変更することでこれを修正できます

ソリューション#1

内部/etc/amavis/conf.d/05-domain_id

変化する:

    chomp($mydomain = `head -n 1 /etc/mailname`);

に:

    chomp($mydomain = `hostname -d`);

PS:hostname -dの出力は、example.comのようなドメインでなければなりません。

これまでで最も簡単なソリューション:

内部/etc/amavis/conf.d/05-domain_id

変化する:

    chomp($mydomain = `head -n 1 /etc/mailname`);

に:

    $mydomain = "example.com";
3
Antonio Feitosa

/etc/amavis/conf.d/20-debian_defaultshttp://Pastebin.com/5xuvNVtD

36行目を次のように変更します。

$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level

サービスを保存して再起動するか、設定を再読み込みすると、すべてのメールにx-spam-statusヘッダーが含まれるようになります。

3