web-dev-qa-db-ja.com

悪用されたphpウェブサーバーでpostfixnullクライアントを強化するための最良の方法は何ですか?

Phpウェブサーバーからsendmail経由でメールを送信するためのnullクライアントとしてpostfixを使用します。受信メールサーバーを別の場所でホストし、SPFレコードを使用して、サーバーがドメインからメールを送信することを承認します。これはすべて機能します。

ここで、特にメールスパムを送信している悪用されたPHPスクリプトに対して、postfixを強化したいと思います。しかし、問題は、顧客のWebがあるため、任意の有効なアドレスに電子メールを送信できるようにしたいことです。確認メールを受信できるようにする必要があるフォーム。これはダメージ制限であり、可能なことは非常に限られていることを理解しています。

これを検出/防止するために人々は何を提案しますか?または私は自分の努力を他の場所に集中させるべきです。

私が考えたがまだ試したことのないものは次のとおりです。

  1. FROMとして送信される電子メールを停止するには:送信が許可されていないドメイン。 smtpd_recipient_restrictions = check_sender_accessを使用してこれを構成する方法を見つけました。これはローカルホストのsendmailで機能しますか?攻撃者がメールが正しいFROMアドレスでのみ送信されることを知っていれば、それは価値がありますか?

  2. 大量の電子メールがローカルホストから送信されていることを検出し、それをシャットダウンして電子メールで警告するため。これを行う方法や、それが可能かどうかさえわかりません。

1
Phil

メールサーバーを別のマシンに移動し、実際のWebサーバーがポート25でメールサーバー以外のものと通信しないようにすることをお勧めします。つまり、カスタムスパムボット(メール機能に依存せず、プレーンソケットを使用する)でも機能しません。

メールサーバーで、ホスティング顧客ごとに(仮想)ユーザーアカウントを作成して、顧客を一意に識別し、レート制限を適用して、同じサーバー上の他のユーザーをブロックせずにスパムが発生した場合にブロックできるようにします。

最後に PolicyD をインストールし、顧客ごとのレート制限と送信メールのスパムチェックの両方を適用して、潜在的なスパマーの速度を落とし、送信メールがスパムのように見える場合に警告します。

もちろん完璧なものはありませんが、この設定では、送信メールがスパムのように見える場合は少なくとも警告が表示され、ホスティングアカウント全体を調査して(うまくいけば)削除するまで、レート制限のためにスパムが比較的遅くなります。

1
André Borie