Firewall

為什麼 Postfix 不拒絕特定客戶端的連接嘗試?

  • August 11, 2017

我的 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 配置和客戶端配置的完整詳細資訊,這幾乎是不可能回答的。最好的方法就是嘗試一下。

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