問題
如何使用LDAP Accept Query驗證中繼郵件的發件人?
警告:如果郵件到達公共偵聽程式,則只能對信封「郵件發件人」地址執行LDAP接受查詢。專用偵聽程式不允許使用LDAP接受查詢。LDAP Accept Query僅應用於入站連線。因此,郵件流策略的「連線行為」不能設定為「中繼」,此設定才能正常工作。
以下是設定LDAP接受查詢發件人驗證所需的步驟:
- 若要允許/拒絕內部寄件者轉送至Internet,視其郵件位址在LDAP中是否存在而定,您的私人監聽器必須取代為公用監聽器。在此範例中,新的公用監聽器將命名為「Outbound_Sender_Validation」。
- 建立新的LDAP伺服器設定檔,並設定此設定檔的LDAP接受查詢。若要取得LDAP Accept Query以驗證信封「郵件寄件者」地址,您必須在查詢字串中將{a}替換為{f}。有關如何配置和使用LDAP的詳細資訊,請參閱《高級使用手冊》。
範例。: (mail={a}) => (mail={f})
- 在「Outbound_Sender_Validation」監聽器上啟用配置的LDAP Accept Query。
- 轉到Mail Policies > Recipient Access Table(RAT),然後切換到新的公共偵聽程式「Outbound_Sender_Validation」。要允許轉送,請將「所有其他收件者」設定為「接受」,並確保這是RAT中的唯一條目。
- 轉到「HAT概述」並切換到「Outbound_Sender_Validation」偵聽程式。在這裡,您只需要一個發件人組。 為避免開放式郵件中繼的風險,建議將此發件人組設定為僅與允許中繼的MTA的IP地址匹配。
- 重要的一點是,分配的郵件流策略的「連線行為」未設定為「中繼」,否則將停用LDAP接受查詢。
- 為確保沒有其他MTA可以透過「Outbound_Sender_Validation」進行連線,請將預設「ALL」發件人組的策略設定為「BLOCKED」。
日誌中顯示的內容
警告:基於此設定,在收到信封Rcpt To地址之前不會執行拒絕。這是因為LDAP Accept Query最初用於收件人而非發件人驗證。 這也會顯示在郵件記錄中,其中LDAP拒絕與收件者位址在同一記錄行中說明:
Wed Feb 18 16:16:19 2009 Info: New SMTP ICID 2643 interface Management
(10.0.0.100) address 10.0.0.200 reverse dns host unknown verified no
Wed Feb 18 16:16:19 2009 Info: ICID 2643 ACCEPT SG RELAY_HOSTS match 10.0.0.200
rfc1918
Wed Feb 18 16:16:32 2009 Info: Start MID 2554 ICID 2643
Wed Feb 18 16:16:32 2009 Info: MID 2554 ICID 2643
From: <do_not_exist@example.test>
Wed Feb 18 16:16:39 2009 Info: MID 2554 ICID 2643 To: <good_user@example.com>
Rejected by LDAPACCEPT
Wed Feb 18 16:17:14 2009 Info: ICID 2643 close
檢視此日誌條目會使您認為被拒絕的地址是「good_user@example.com」,即使它實際上是被拒絕的「do_not_exist@example.test」。