Postfix:ローカルユーザー(PHP)が外部受信者にSMTPDを使用するように強制します。

Postfix:ローカルユーザー(PHP)が外部受信者にSMTPDを使用するように強制します。

私のサーバーがハッキングされ、インターネット経由で多くのスパムが送信されました。私が最初にしたことは、postfixを終了して出て行くポート25を閉じてから、ウェブサイト、postfixキューをクリーンアップし、postfixを完全にリセットするのに時間を費やすことでした。

SASL 認証や TLS 強制の適用など、Postfix SMTPD に関する多くの制限を有効にしました。

しかし、私はPHP関数がSMTPDを呼び出し、電子メールがキューに入るので(そしてすべてのSMTPD保護をバイパスするため)、mail()SMTPDには気にしないと思います。sendmailmaildropincoming

私はそれがどのように機能するかをよりよく理解するためにPostfixデーモンとキューの小さなスケッチを作成しました。 サフィックスの概要

次の設定が必要です。

  • sendmailが外部の受信者に電子メールを配信するのを防ぎますが、ローカルユーザーに電子メールを転送することを許可し、「外部」マッピングであっても/ etc / aliasesのマッピングに従うことを許可します。

私の目標は、エンドユーザーがローカルSMTPDに直接連絡するだけでなく、私の設定smtpd_client_restrictions = permit_sasl_authenticated, rejectのために強制的にログインすることです。

ベストアンサー1

これは答えの一部にすぎません。

許可されるローカルユーザーを決定する方法は次のとおりですsendmail

  • ファイルの作成/etc/postfix/sendmailAllowedUsers、許可されているユーザーごとに1行に「User OK」と入力します。
  • authorized_submit_users = hash:/etc/postfix/sendmailAllowedUsers参加するマスターファイル
  • 走るpostmap /etc/postfix/sendmailAllowedUsers
  • 走るpostfix reload

これは私の質問に対する部分的な答えです。メールを送信そして郵便リストにないユーザーを対象とするコマンドは、私が望むものではありません。

誰でも利用できるようにしたいのですが、sendmailローカルの受信者だけが利用できます。

おすすめ記事