Postfix

後綴:強製本地使用者 (PHP) 為外部收件人使用 SMTPD

  • May 12, 2014

我的伺服器被黑客入侵並通過 Internet 發送大量垃圾郵件。我做的第一件事是關閉 postfix,關閉傳出埠 25 並花時間清理網站、postfix 隊列,並完全重新設置 postfix。

我對 Postfix SMTPD 啟用了很多限制,例如強制 SASL 身份驗證和 TLS。

但我只是在想,PHPmail()函式並不關心 SMTPD,因為它呼叫sendmail,其電子郵件在隊列中結束maildrop,最後在incoming隊列中(並繞過我所有的 SMTPD 保護)。

我為自己畫了一個 Postfix 守護程序和隊列的小草圖,以便更好地理解它是如何工作的。 後綴概述

我想要以下設置:

  • 防止 sendmail 向外部收件人發送電子郵件,但允許它向本地使用者發送電子郵件,並允許它遵循 /etc/aliases 中的映射,即使它是“外部”映射。

我的目標是最終使用者別無選擇,只能直接聯繫本地 SMTPD,因此由於我的smtpd_client_restrictions = permit_sasl_authenticated, reject配置而被迫登錄。

這只是部分答案。

以下是如何決定允許哪個本地使用者使用 sendmail。

  • 創建一個文件**/etc/postfix/sendmailAllowedUsers**,將“user OK”放在每個允許使用的行上。
  • 加入main.cfauthorized_submit_users = hash:/etc/postfix/sendmailAllowedUsers _
  • postfix reload
  • postmap /etc/postfix/sendmailAllowedUsers

這只是我的問題的部分答案,因為這完全消除了非列出使用者對sendmailmail命令的訪問權限,這不是我想要做的。

我希望每個人都可以使用 sendmail,但僅限於本地收件人。

引用自:https://unix.stackexchange.com/questions/83021