web-dev-qa-db-ja.com

スコアに基づいてspamassassinにメールを拒否させる方法は?

LinuxをPostfix、Dovecot、Postgrey、spamassasin/spamdで実行しています。

これは私のmain.cfです

smtpd_recipient_restrictions = permit_sasl_authenticated,
                               permit_mynetworks,
                               reject_unauth_destination,
                               reject_invalid_hostname,
                               reject_unauth_pipelining,
                               reject_non_fqdn_sender,
                               reject_unknown_sender_domain,
                               reject_non_fqdn_recipient,
                               reject_unknown_recipient_domain,
                               check_policy_service inet:127.0.0.1:10030

私はspamassasinに、postfixがキャッチしなかった他の電子メールにスパムヘッダーを追加するように依頼しましたが、どのように拒否するのですか?

6
Van Nguyen

Spamassasin/Amavisをプロキシフィルターとして使用するようにpostfixを設定できます。このようにしてバウンスを防ぎます。SMTPリモート側への接続は、スパムチェックが完了するまで開いたままになり、postfixはOKまたはREJECTEDメッセージで応答します。このように、リモート側がバウンスを担当します。

# master.cf

# mail inbound
smtp      inet  n       -       -       -       -       smtpd
    -o smtpd_proxy_filter=127.0.0.1:10024
    -o smtpd_client_connection_count_limit=10
    -o smtpd_proxy_options=speed_adjust

# spamassasin/amavis is listening to port 10024 and sending it's
# checked mail to port 10025
amavis    unix  -       -       n       -       2       smtp
   -o smtp_data_done_timeout=1200
   -o smtp_send_xforward_command=yes
   -o disable_dns_lookups=yes

# SMTP return (from amavis/spamassasin)
localhost:10025 inet  n -       n       -      -        smtpd
   -o content_filter=
   -o local_recipient_maps=
   -o relay_recipient_maps=
   -o smtpd_restriction_classes=
   -o smtpd_client_restrictions=
   -o smtpd_helo_restrictions=
   -o smtpd_sender_restrictions=
   -o smtpd_recipient_restrictions=permit_mynetworks,reject
   -o smtpd_override_options=no_address_mappings
   -o mynetworks=127.0.0.0/8
   -o receive_override_options=no_unknown_recipient_checks
# main.cf

# for rejecting spam
header_checks = pcre:/etc/postfix/header_checks
# header_checks

/X-Spam-Level: \*{9,}/ REJECT Looks like spam to me.

Amavisを使用してspamassasinを呼び出す場合は、Amavisにメールを拒否させることができます。拒否のしきい値は$sa_kill_level_defltで設定できます。 Amavisを使用する場合は、SMTPリターンエントリの,no_header_body_checksreceive_override_optionsを追加します。

7
Dominik Heidler

一般的に、あなたは何も拒否したくありません。ほとんどのスパムはヘッダーを偽造しているので、人々はそれらに属さないバウンスバックを受け取る可能性があり、それらの人々とその管理者に頭痛の種を作っているだけです(または基本的に、不正確なバウンスでメールボックスをあふれさせてスパムを自分で作成しています)。

スパムを保持するか、スパムフォルダーに入れて、ユーザーが実際にはスパムではない場合でもスパムにアクセスできるようにし、十分に古くなったときにメールを削除するようにメールクライアントを設定することをお勧めします。あなたはそれを必要としないだろうとかなり確信しています。

それ以外は、メールサーバーを第一線の防御用に構成します... SPFを使用するように設定したり、RFCで厳密であることを確認したりできます...さらに一歩進めたい場合は、拒否するようにRBLで確認してくださいブラックホールリストにあるメール。強引ですが、誤って追加されたサーバーを定期的にブロックする可能性があるため、これらのリストを使いたいかどうかはあなた次第ですが、一方で、電子メールは、人々がそうだと考える信頼できる通信媒体ではありません。電子メールはそれを作るかもしれないし、しないかもしれません、そして何かが生か死かが重要であるならば、受信を確認するために別の媒体で通信してください...

1

最良のアイデアは、スコアに基づいて単純にフィルタリングすることです。重要な電子メールがSAに引っ掛かって、その電子メールを永久に失いたくない場合があります(さらに、エンドユーザーはそれが配信されないだけだと思う​​でしょう)。

私の個人用サーバーでは、スコアが3.5を超えるものはすべてユーザーのスパムフォルダーに配信されます。これにより、常に配信され、ユーザーはそれにアクセスできます。次に、そのフォルダー内の3週間より古いものを削除するcronジョブがあります。

0
Chris S