私のサーバーがハッキングされ、インターネット経由で多くのスパムが送信されました。私が最初にしたことは、postfixを終了して出て行くポート25を閉じてから、ウェブサイト、postfixキューをクリーンアップし、postfixを完全にリセットするのに時間を費やすことでした。
SASL 認証や TLS 強制の適用など、Postfix SMTPD に関する多くの制限を有効にしました。
しかし、私はPHP関数がSMTPDを呼び出し、電子メールがキューに入るので(そしてすべてのSMTPD保護をバイパスするため)、mail()
SMTPDには気にしないと思います。sendmail
maildrop
incoming
私はそれがどのように機能するかをよりよく理解するために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
ローカルの受信者だけが利用できます。