qmail は、ユーザーまたはドメインが 1 時間あたりに送信するメールの数を制限します。

qmail は、ユーザーまたはドメインが 1 時間あたりに送信するメールの数を制限します。

私はいくつかの異なるドメインのメールサーバーをホストしています。最近、ユーザーの 1 人のパスワードが推測/ハッキングされ、そのアカウントが数十万通のメッセージを送信するのに使用されましたが、私が気づいてシャットダウンすることができず、サーバー全体がブラックリストに登録されました。

qmail で、ユーザー/ドメイン/時間ごとに送信メールのレート制限を設定したいのですが、今のところそのための組み込み機能を見つけることができません。

あなたが知っているテクニックはどれでも役に立ちます。私が見つけたオプションの 1 つは、SpamAssassin 経由で送信メールを送信することですが、正当なメッセージがブロックされるのではないかと心配です。

答え1

ある種のスロットルパッチあなたの説明に合う Qmail で利用可能です。Qmail は、そのままでも完璧にコーディングされているので、Qmail にパッチを当てずに機能が組み込まれるとは思えません。

ぜひご覧くださいさまざまなMTAについての議論特に Qmail に関する記述。この議論は 6 年前のものであり、当時 Qmail について述べられていたことはさらに真実であることに留意してください。これはおそらく短期または中期の計画には含まれないかもしれませんが、Qmail からの移行は検討すべき事項です。特に、Qmail で希望どおりの動作を実現するために、ランダムなパッチを大量に適用する必要がある場合はなおさらです。

うーん、Postfixで同様のことをする方法についての議論は、ポリシーアドオン。このプロジェクトをざっと見ると、さまざまな MTA で使用できることが示唆されているので、Qmail にこれを使用するように説得できる可能性があります。

答え2

素晴らしい出来でした、ありがとう!

最初の grep の後に次の行も含める必要があります。

grep "$(date +"%b %d")" /var/log/maillog| grep submission:| awk -Fsuccess {'print $2'} |awk -F: {'print $1'} | sort | uniq -c | sort -n | grep -v (unknown) | awk {'print $1"|"$2'}

したがって、単純な暗号化されていない SMTP 送信もブロックできます。

ご挨拶!

答え3

また、swatch を使用して送信メールを監視することもできます。swatch が qmail-send が最大 (リモート 30/30 など) であることを検出すると、アラートが送信されます。

tcpserver 制限パッチを使用できます: サーバーの負荷平均が特定の数値を超えた場合、同じ IP アドレスから特定の数を超える接続を受信した場合、または同じクラス C ブロック内のマシンから特定の数を超える接続を受信した場合 (つまり、IP アドレスの「最初の 3 つの数字」が同じ場合。「1.2.3.4」と「1.2.3.100」は同じクラス C ブロック内にあります)、tcpserver に接続を拒否する機能が提供されます。https://qmail.jms1.net/ucspi-tcp/

答え4

ローカル認証されたユーザーからサーバーを保護するには、次の行も追加します。

grep "$(date +"%b %_d")" /var/log/maillog |
grep auth: |
grep ALL |
grep '127.0.0.1' |
awk -Ffrom\: {'print $2'} |
awk -Fto\: {'print $1'} |
sort | uniq -c | sort -n | grep -v bounce |
awk {'print $1"|"$2'}

ご挨拶!

関連情報