後綴:禁用通過埠 25 的身份驗證
在郵件伺服器上使用
Postfix
和IMAP
時,通常至少打開 3 個埠25 smtp : incoming emails from anybody (whole internet) 465 smtps : outgoing emails from authorized users (to the whole intenet) 993 imap : imap for authorized users
我想配置postfix,讓授權使用者只能通過465發送郵件。預設情況下不是這樣。使用者還可以通過埠 25 使用 STARTTLS。我想禁用它。
我的計劃是使用 25 埠讓公眾向我發送電子郵件
為我的使用者使用埠 465(我可以使用防火牆來允許特定的 IP 範圍,或使用自定義埠)
這將防止埠 25 被用於暴力攻擊,黑客試圖猜測使用者/密碼。埠 25 根本不接受使用者/密碼,即使它是有效的。並且由於 465 埠被防火牆限制,黑客也無法利用 465。
這在 Postfix 中可行嗎?
我在 Debian Wheezy 上使用 Postfix 2.9.6-2
警告:
該請求未遵循最佳安全實踐,因為您在主郵件中繼埠上禁用了 TLS(加密),將通過該埠發送的數據暴露給第三方偵聽器和/或進行中的修改。下面的答案滿足了請求,但最佳實踐也需要 STARTTLS 用於埠 25 連接。
該
master.cf
文件(通常/etc/postfix/master.cf
)控制特定 Postfix 服務的啟動和配置。根據文件,該文件中的此類配置將執行您想要的操作:smtp inet n - - - - smtpd -o smtpd_tls_security_level=none -o smtpd_sasl_auth_enable=no smtps inet n - - - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject
此配置關閉埠 25 上的身份驗證和 STARTTLS 選項。它打開埠 465 上的 STARTTLS 選項,需要使用 STARTTLS,啟用身份驗證,並且僅在經過身份驗證後才允許客戶端連接。
您還可以查看
smtpd_tls_wrappermode
強制真正的 TLS 連接(而不是 STARTTLS 連接)的選項。請注意,這種配置可能會使 Postfix 配置有些難以遵循(可能會在 中設置選項
main.cf
,然後在 中覆蓋master.cf
)。另一個選項是執行多個 Postfix 實例,每個實例都有自己的main.cf
配置文件來指定這些選項。