割り当て超過によるスパムバウンスの問題に対処するにはどうすればよいですか?

割り当て超過によるスパムバウンスの問題に対処するにはどうすればよいですか?

メールサーバーのブラックリストの問題を調査中です。

弊社のメール サーバーでユーザー クォータ超過が発生し、その結果、送信者に「ユーザー クォータ超過」メッセージとともにメールが返送されました。これらのメールの一部は、From フィールドが偽造されたスパムです。メッセージは偽造者の From アドレスに返送されます。その結果、弊社のサーバーがブラックリストに追加されました。これは理にかなっていますか?

この問題にどう対処したらよいかわかりません。「ユーザー クォータ超過」メッセージは便利だと思います。送信者としては、メッセージが配信されなかった場合に通知を受け取りたいからです。

オプションとして、メッセージがスパムとして検出された場合にメッセージをバウンスしないようにすることもできます。私たちは postfix と spamassassin を使用しており、そのようなメッセージを で表示するとpostcat -q、メッセージのスパム スコアが非常に高いことがわかります。

どのように進めればよいでしょうか?

私たちの設定では、spamassassin はメッセージをマークするだけで、各ユーザーは sieve を使用してメッセージをフィルタリング/削除/移動できます。spamassassin 自体はスコアの高いメッセージを削除する必要がありますか? postfix はメッセージをバウンスする前にスパム スコアをチェックする必要がありますか? それとも、そもそもメッセージを配信しようとする前にチェックする必要がありますか?

車輪の再発明はしたくないので、上記のアイデアはうまくいくかもしれませんが、人々が通常どのようにこれを解決しているかを知りたいです。

答え1

メッセージが最初に配信用に受け入れられた後にメッセージをバウンスする (元の送信者または偽装された送信者に「新しい」メッセージを送信して、割り当て超過の状況を通知する) のではなく、SMTP ネゴシエーション中にメッセージを拒否します。

「方法」は LDA によって異なります。

たとえば、postfix + dovecot の場合、オプションは次のようになります。

http://blog.sys4.de/postfix-dovecot-mailbox-quota-en.html

まず、Dovecots dovecot.conf で quota-status-service を有効化して設定する必要があります。

   plugin {
        ...
       quota_grace = 10%%
       # 10% is the default
       quota_status_success = DUNNO
       quota_status_nouser = DUNNO
       quota_status_overquota = "552 5.2.2 Mailbox is full"
        ...
     }
      
       service quota-status {
          executable = quota-status -p postfix
           inet_listener {
          port = 12340
          # You can choose any port you want
        }
              client_limit = 1
      }

新しく設定した Dovecot ポリシー サービスを使用するには、main.cf で Postfix にサービスと通信するように指示する必要があります。

    smtpd_recipient_restrictions =
       ...
       check_policy_service inet:mailstore.example.com:12340

関連情報