私は最近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
それで問題は解決しました。それは物事の集合でした。他の人が同じ道を進んでいるのを見つけるためにここで詳しく説明します。
まず、 spamassassin にはipv6での実行に問題があるようです(環境によっては)。どうしてダノ。 /etc/default/spamassassin
、または/etc/init.d/spamassassin
がない場合は編集して、--ipv4
をOPTIONS
リストに追加します。次に、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が呼び出されなかったと思われます。
コマンド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";
/etc/amavis/conf.d/20-debian_defaults
http://Pastebin.com/5xuvNVtD
36行目を次のように変更します。
$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level
サービスを保存して再起動するか、設定を再読み込みすると、すべてのメールにx-spam-statusヘッダーが含まれるようになります。