為什麼 Postfix 不拒絕特定客戶端的連接嘗試?
我的 SMTP 伺服器正在被探測。它看起來像 SASL 上的蠻力附加,他們正在通過密碼字典。
在日誌文件中看到了數千行這樣的行
Sep 18 14:09:52 xxx postfix/smtpd[7412]: connect from ca255.calcit.fastwebserver.de[146.0.42.124] Sep 18 14:09:55 xxx postfix/smtpd[7412]: warning: ca255.calcit.fastwebserver.de[146.0.42.124]: SASL LOGIN authentication failed: authentication failure Sep 18 14:09:55 xxx postfix/smtpd[7412]: lost connection after AUTH from ca255.calcit.fastwebserver.de[146.0.42.124] Sep 18 14:09:55 xxx postfix/smtpd[7412]: disconnect from ca255.calcit.fastwebserver.de[146.0.42.124]
我像這樣修改了我的 main.cf:
inet_interfaces = all smtpd_sasl_auth_enable=yes smtpd_helo_required = yes smtpd_sender_restrictions = reject_unknown_address smtpd_client_restrictions = check_client_access hash:/etc/postfix/maps/access_client, permit_mynetworks, reject smtpd_recipient_restrictions = check_client_access hash:/etc/postfix/maps/access_client, permit_mynetworks, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, permit_sasl_authenticated, reject_unauth_pipelining, reject_unauth_destination, reject_rbl_client zen.spamhaus.org, reject_rbl_client list.dsbl.org permit broken_sasl_auth_clients = yes
而我的 /etc/postfix/maps/access_client 只有這一行:
146.0.42.124 REJECT
然而,在重新啟動 postfix 後,行為仍然沒有變化,我仍然看到相同的錯誤,因此仍在檢查 SASL,即使我認為使用這些設置,客戶端會在 SASL 進入遊戲之前根據其 IP 地址被拒絕?
第二個問題是 - 我正在將外發郵件流量從一台機器中繼到內部網路上的另一台機器 - 除了只是中繼的機器上的“relayhost”設置之外,我可以在兩者上保持其餘的後綴設置相同嗎?
在發送(or ) 命令
smtpd_client_restrictions
之前,後綴不會評估。RCPT TO``ETRN
http://www.postfix.org/SMTPD_ACCESS_README.html#timing
目前的 Postfix 版本將客戶端、helo 和發送者限制列表的評估推遲到 RCPT TO 或 ETRN 命令。此行為由 smtpd_delay_reject 參數控制。限制列表仍然按照(client、helo、etrn)或(client、helo、sender、relay、receiver、data 或 end-of-data)限制的正確順序進行評估。當限制列表(例如:客戶端)評估為 REJECT 或 DEFER 時,將跳過隨後的限制列表(例如:helo、sender 等)。
因此,您可以通過在您的 中設置以下內容來解決此問題
main.cf
:smtpd_delay_reject = no
至於你的第二個問題,postfix 有很多控制項,如果沒有你的網路、postfix 配置和客戶端配置的完整詳細資訊,這幾乎是不可能回答的。最好的方法就是嘗試一下。