web-dev-qa-db-ja.com

スパマーをターピットする

メールサーバーに接続するスパマーをターピットする方法を設定したいのですが、iptablesターピットを実行するようにfail2banを設定しましたが、機能しているようです。問題は、接尾辞smtpdプロセスを切断して、スパマーを攻撃したままでこれらのリソースを解放するにはどうすればよいかということです。

2
DGM

あなたはこれらのオプションが面白いと思うかもしれません...

たとえば10メッセージを超えた場合、追加の受信者/メッセージごとに追加される60年代程度の遅延qmailが本当に恋しいです...

Main.cfでこれらを使用しました

# limit max sends per minute
anvil_rate_time_unit = 60s
smtpd_client_event_limit_exceptions = $mynetworks
smtpd_client_recipient_rate_limit = 15
smtpd_client_message_rate_limit = 30

あなたはこれらの数を減らそうとするかもしれません、15と30はまだいくらか大きいです。今日、私は2つのスパマーに見舞われました。1つは90を使用し、もう1つは183の異なるIPアドレスを使用しています。それぞれが15 /分で送信している場合、1分あたり4.095通の電子メールを送信します!もちろん、それは1分あたり100.000よりも優れています。 :)

ただし、設定が低すぎると、顧客は長い顧客リストに写真を添付できないと不満を言うでしょう。

Qmailのターピットは、メッセージがしきい値を超えたときにメッセージ間に遅延を追加しました。これは、リスト内の受信者の数に関係なく問題ありませんでした。これはどういうわけか後置にも適用でき、リストを1分あたり5人の受信者/メッセージに安全に制限することができます。 :/

3
avenger

これは今のところ役に立たないかもしれませんが、Postfix 2.8はpostscreenサービスを取得する予定です。これは、接続を渡す前にいくつかの基本的なチェックを行う単一のpre-smtpdスクリーニングプロセスです。接続をtarpittableとして識別する速度によっては、smtpdに到達する前にそれらをキャッチできる場合があります。これを今すぐ取得するには、実験的なリリースを実行するか、そこからポストスクリーンバイナリを抽出して、現在のセットアップに統合する必要があります(おそらく難しい)。

今のところ、postfixがRSTパケットを取得してsmtpdを解放するために、fail2banが実行するiptablesアクションを逆にすることを検討できます。

0
Drew Bloechl

スパマーを検出するとすぐに、パケットをターピットに送信しますか?

その接続を処理している特定のプロセスを強制終了する方法が見つからない場合は、現在の接続を終了させることができますか?パケットがホストブラックリストに一致するときはいつでも、それが既存の接続の一部であるかどうかを最初にチェックするようにiptablesを設定できるはずです(通過させる場合)。そうでない場合は、NOTRACK&TARPITに送信しますか?

0
b0fh

正確には罠にはまりませんが、 greylisting -いくつかあります postfixの解決策 をご覧ください。

個人的には、その方法はまったく見つかりません[人々はメールがほぼリアルタイムで機能することを期待しているため]が、確かなことの1つは、不要なスパムを遮断するのに非常に効率的です。

0
pQd