Sun Java System Messaging Server 6 2005Q4 管理指南

SMTP 轉送封鎖功能

依預設,將 Messaging Server 配置為阻斷嘗試的 SMTP 轉送,亦即拒絕嘗試將來自未認證的外部來源的郵件提交至外部位址 (外部系統指伺服器本身常駐的主機之外的任何其他系統)。此預設配置對於阻斷 SMTP 轉送非常主動,因為它將所有其他系統都視為外部系統。

安裝後,請務必手動修改配置以滿足網站的需要。尤其是,Messaging Server 應該能夠識別其自身的內部系統及子網路,來自內部系統及子網路的 SMTP 轉送應該始終被接受。如果未更新此配置,則測試 MTA 配置時可能會遇到問題。

嘗試經由 Messaging Server 系統的 SMTP 伺服器 (用於外部位址) 提交郵件的 IMAP 和 POP 用戶端以及未被認證使用 SMTP AUTH (SASL) 的用戶端將發現其提交嘗試被拒絕。將哪些系統和子網路視為內部系統通常由 INTERNAL_IP 對映表控制,該表位於 msg_svr_base/config/mappings 檔案中。

例如,在 IP 位址為 192.45.67.89 的 Messaging Server 系統上,預設 INTERNAL_IP 對映表將顯示如下︰


INTERNAL_IP

  $(192.45.67.89/24)  $Y
  127.0.0.1  $Y
  *  $N

初始項目使用 $(IP-pattern/significant-prefix-bits) 語法,指定任何符合 192.45.67.89 的前 24 位元的 IP 位址應被視為內部位址。第二個項目將迴路 IP 位址 127.0.0.1 識別為內部位址。最後一個項目指定,所有其他 IP 位址均不應被視為內部位址。

您可以透過在最後一個 $N 項目前指定其他 IP 位址或子網路,來增加其他項目。這些項目必須在左邊指定 IP 位址或子網路 (使用 $(.../...) 語法指定子網路),在右邊指定 $Y。或者,您可以修改現有 $(.../...) 項目以接受更一般的子網路。

例如,如果同一範例站點具有 C 類別網路,亦即該站點擁有所有 192.45.67.0 子網路,則該站點需要修改初始項目,以使對映表顯示如下:


INTERNAL_IP

  $(192.45.67.89/24)  $Y
  127.0.0.1  $Y
  *  $N

或者,如果該站點僅擁有 192.45.67.80-192.45.67.99 範圍內的那些 IP 位址,則需要使用:

INTERNAL_IP

! Match IP addresses in the range 192.45.67.80-192.45.67.95
  $(192.45.67.80/28)  $Y
! Match IP addresses in the range 192.45.67.96-192.45.67.99
  $(192.45.67.96/30)  $Y
  127.0.0.1  $Y
  *  $N

請注意,msg_svr_base/sbin/imsimtatest-match 公用程式可用於檢查 IP 位址是否符合特定的 $(.../...) 測試條件。imsimta test -mapping 公用程式更常用於檢查 INTERNAL_IP 對映表是否對各種 IP 位址輸入均傳回所需結果。

修改 INTERNAL_IP 對映表後,請務必執行 msg_svr_base/sbin/imsimta cnbuildmsg_svr_base/sbin/imsimtarestart 公用程式,以使變更生效。

如需有關對映檔案和一般對映表格式的資訊,以及 imsimta 指令行公用程式的資訊,可在「Sun Java System Messaging Server 6 2005Q4 Administration Reference」中的第 2 章「Message Transfer Agent Command-line Utilities」中找到。此外,有關 INTERNAL_IP 對映表的資訊可在新增 SMTP 轉送中找到。