Microsoft 設定 SMTP 進行已驗證和匿名兩種連線

IT 須知

發佈日期: 2005 年 12 月 27 日

IT 百寶箱標誌


為了減少系統管理的額外負擔,Microsoft Information Technology (Microsoft IT) 小組需要改變 Microsoft® Exchange Server 2003 進行內部「簡易郵件傳送通訊協定」(Simple Mail Transfer Protocol,SMTP) 連線的方式。Microsoft IT 將 SmtpIpRestrictionFlag 屬性設為 1 來設定 SMTP 虛擬伺服器,以允許一列明確的 IP 位址進行匿名連線,但同時允許所有來自其他 Exchange 伺服器的已驗證連線。

本页内容

簡介
概況
調整後的行為
實作

簡介

許多傳訊環境都採用內部閘道伺服器來路由來自各種來源的訊息,這些來源可能包括本機電子郵件環境中的伺服器、位於電子郵件環境之外的應用程式伺服器,以及來自其他電子郵件環境的伺服器。如果各個環境採用的技術並不相同,通常有必要允許匿名連線,因為驗證動作不一定能在所有主機間進行。雖然可以乾脆允許所有匿名連線,然而這樣會創造出一個缺乏管理的環境。但話又說回來,如果要管理允許連線清單又會給系統管理帶來額外負擔。

Microsoft IT 小組認為 Exchange 基礎結構中的 SMTP 傳輸是一項寶貴的資源,因此對基礎結構的存取進行管制。有時候,Microsoft IT 得允許一些特定的 SMTP 用戶端以匿名方式連線,同時仍允許所有已驗證的用戶端進行連線。

如果環境採用的是 Microsoft Exchange 2000 Server,就算在 SMTP 虛擬伺服器上把一個網際網路通訊協定 (IP) 位址加入允許連線的清單,所有其他的用戶端 (不管匿名或已驗證) 還是無法連線。已驗證用戶端 (例如其他 Exchange 伺服器) 如果要連線,它們的 IP 位址必須先加入允許連線的清單上。如果是企業環境,這就代表要添加數十甚或上百個 IP 位址。由於變更是不可共用的,必須在個別虛擬伺服器上設定,所以如果有多部 SMTP 虛擬伺服器,問題就更加複雜。

Microsoft IT 想要確保唯有已授權的實體 (如 Exchange 伺服器或特定的 SMTP 用戶端) 才能將電子郵件直接提交至該小組的內部 Exchange 傳輸,如 [圖 1] 所示。

SMTPConnectionsNoteF1

[圖 1] Microsoft IT 內所需的 SMTP 拓樸圖

為了在避免大量系統管理負擔的前提下為 SMTP 路由提供安全的環境,Microsoft IT 決定要調整 SMTP 虛擬伺服器的運作方式。Microsoft IT 落實變更後,SMTP 虛擬伺服器就能夠允許明確的 IP 位址清單進行匿名連線,但同時也讓所有其他的 Exchange 伺服器進行已驗證連線。

本文的目標讀者是 Exchange 系統管理員。文中假定讀者對 Microsoft Windows Server™ 2003、Microsoft Exchange Server 2003 SMTP、路由概念以及各種系統工具已具備實務經驗。除非為完成文中的工作所需,否則不會對任何系統工具額外說明。

附註: 基於安全性考量,本文所述的任何樹系、網域、內部資源、組織的名稱,以及內部開發的應用程式與檔案名稱僅供敘述,並非 Microsoft 內部實際採用的資源名稱。本文將一併說明 Microsoft IT 如何經營其企業資料中心。文中的步驟和程序不可視為經營一般資料中心的指示,並且可能不受 Microsoft 客戶支援服務的支援。

概況

Microsoft IT 的 Active Directory® 目錄服務架構支援數個樹系。絕大多數的 Microsoft 員工都使用主要的公司網路樹系,而許多規模較小的樹系則由而從事生產的使用者填入。

某些情況下,Microsoft IT 有必要允許數量有限的電子郵件用戶端進行匿名連線,但仍然要允許所有已驗證的連線,不管來源 IP 位址為何。這樣一來,就能將一台伺服器既當作樹系間的媒介,又當作樹系間集線器,實現靈活彈性的同時不至於引起過量的系統管理負荷。

舉例來說,Microsoft IT 採 MSFT-HUB-xx 伺服器在各個 Microsoft IT 所管理的樹系間擔任 SMTP Bridgehead 的角色,同時又當作可交互遞送的群組集線器。假設為了路由環境的安全性,Microsoft IT 決定把 (位於非公司主要網路樹系的) 一些特定 SMTP Bridgehead 伺服器 IP 位址加入允許連線清單上,那麼就只有這些伺服器能夠連線。這樣一來,主要樹系中任何其他的 Exchange 伺服器都無法連接到 MSFT-HUB-xx 伺服器,除非它們的 IP 位址也加入清單中。然而要維護這個清單對系統管理工作又是額外負擔。公司主要網路樹系的 Exchange 伺服器本身就具備已驗證狀態,已算是受信任的實體,因此將它們加入允許連接清單等於是多此一舉。

有兩種現成的組態設定可允許 SMTP 虛擬伺服器的連線,如 [表 1] 所示。

[表 1] 允許兩種 SMTP 連線的原始設定

連線控制設定

行為

所有未列於下列清單中的項目 (預設值)

所有用戶端均能連接到 SMTP 虛擬伺服器,已列出 IP 位址的用戶端例外。

僅限下列清單

唯有已列出 IP 位址的用戶端能夠連接到 SMTP 虛擬伺服器。

附註: 用戶端或許能連接到 SMTP 虛擬伺服器,不過用戶端能否提交電子郵件到伺服器就端視其他設定而定,例如支援的網域和支援的驗證方法等。

[圖 2] 所示的流程圖說明 SMTP 虛擬伺服器在建立連線和提交訊息時,所採用的邏輯。

SMTPConnectionsNoteF2

[圖 2] 原先的 SMTP 連線工作流程方法

[圖 2] 所示的預設行為並沒有利用公司 Exchange 伺服器的已驗證 SMTP 狀態,而且也不允許已驗證的 Exchange 伺服器把電子郵件提交到受保護的 SMTP 虛擬伺服器。

調整後的行為

Microsoft IT 的解決方法是進行組態變更,將 SMTP 虛擬伺服器設定成只把 IP 限制套用至匿名連線,所做的限制並不會影響負責連線和驗證的伺服器。

由於驗證是在連線建立之後才進行的,因此組態變更會更改 SMTP 虛擬伺服器的根本行為。最初會允許所有連線,不過要是用戶端的 IP 位址不在清單上,且用戶端在嘗試 mail from 命令之前未經過驗證,那麼連線會結束並引起 5.7.3 SMTP 回應 (「用戶端未經驗證」)。

Microsoft IT 對組態所進行調整,針對採用受保護 SMTP 虛擬伺服器運作模式的伺服器,把上面的 Microsoft Information Services (IIS) 6.0 版 Metabase 參數稍作修改。Microsoft IT 透過建立 Metabase 機碼 SmtpIpRestrictionFlag=1,修改了允許 SMTP 虛擬伺服器連線的行為 (如 [表 2] 所示)。

[表 2] 調整後的設定,同時允許已驗證的 SMTP 連線和特定 IP 位址的匿名 SMTP 連線

連線控制設定

行為

僅限下列清單

只要符合此處所述條件的 SMTP 伺服器均可連線:如果連線經過驗證,用戶端可提交訊息*。如果連線尚未驗證,可是用戶端在允許的 IP 位址清單上,則用戶端可提交訊息*。但若不在清單上,用戶端將收到 SMTP 錯誤訊息「5.7.3 用戶端未經驗證」。

* 允許訊息提交並不保證訊息會順利接收。提交的訊息可能需依照額外的限制和篩選。

[圖 3] 說明 [表 2] 中所參照的連線控制設定。例如,在下面的情況中,來自主機 10.168.0.1 的匿名 SMTP 連線,以及已驗證的 SMTP 連線,都會被接受。

SMTPConnectionsNoteF3

[圖 3] 指定允許連線的 IP 位址

旗標設定只會影響到有哪些用戶端受到允許,而能嘗試提交電子郵件,並不會更改 SMTP 虛擬伺服器處理匿名轉送與已驗證轉送的方式。舉例來說,透過匿名連線進行的提交仍會遵守伺服器上的設定,包括寄件者顯示名稱解析、寄件者識別碼、寄件者/收件者篩選,以及 Exchange 智慧型郵件篩選器,並不會略過這些功能。

[圖 4] 的流程圖說明 SMTP 虛擬伺服器在建立連線和提交訊息時,所採用的邏輯。

SMTPConnectionsNoteF4

[圖 4] 調整過後的 SMTP 連線工作流程方法

實作

實作變更有兩個步驟:

  1. 在 IIS Metabase 中為 SmtpIpRestrictionFlag 屬性建立新記錄。

  2. 設定屬性值。

預設情況下,SmtpIpRestrictionFlag 屬性並不存在 Metabase 中,系統管理員可利用 IIS Metabase Explorer 建立新記錄並變更屬性值。IIS Metabase Explorer 隨附在 IIS 6.0 Resource Kit Tools 內,您可從 http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A71A-4C73-B628-ADE629C89499&displaylang=en 進行安裝。IIS Metabase Explorer 的使用者介面與 Microsoft Windows® 檔案總管十分相似。

若要建立記錄並設定值:

  1. 開啟 IIS Metabase Explorer,連至要進行變更的伺服器。

  2. 瀏覽至要進行變更的 SMTP 虛擬伺服器所在的容器。

  3. [編輯 (Edit)] 功能表上,指向 [新增 (New)],然後按一下 [DWORD 記錄 (DWORD Record)]

  4. [新增記錄 (New Record)] 對話方塊中的 [記錄名稱或識別項 (Record Name or Identifier)] 清單下,選取 [SmtpIpRestrictionFlag],如 [圖 5] 所示。

    SMTPConnectionsNoteF5

    [圖 5] IIS Metabase Explorer 中的 [新增記錄 (New Record)] 對話方塊

    附註: [圖 5] 中,[擁有者金鑰 (Owner Key)] 清單內的數字 1 代表 SMTP 虛擬伺服器的數目。

  5. 按一下 [確定 (OK)] 儲存新記錄。

  6. 按兩下新記錄開啟內容。

    SmtpIpRestrictionFlag 屬性具有兩個可能的值:

    • 0: 啟用已驗證或信任的 IP 位址連線 (原始行為)。要連線的伺服器必須在 IP 清單上,不管有沒有驗證。

    • 1: 啟用已驗證連線,以及 [連線控制 (Connection Control)] 設定列出 IP 位址的匿名連線。

  7. 將屬性值改為 1 (如 [圖 6] 所示),然後儲存變更。

    SMTPConnectionsNoteF6

    [圖 6] 變更 IIS Metabase Explorer 中 SmtpIpRestrictionFlag 屬性的值

這樣一來,SMTP 伺服器不但能允許連接清單上的連線,還允許已驗證連線。

更多信息

如需 Microsoft 產品或服務的詳細資訊,請洽 Microsoft Sales Information Center,電話 (800) 426-9400。加拿大地區請洽 Microsoft Canada information Centre,電話 (800) 563-9048。美國 50 州及加拿大以外的地區,請連絡當地的 Microsoft 分公司。若要透過全球資訊網存取資料,請至:

文件釋義

IT 摘錄通常是對 Microsoft IT 方面的特定主題從技術層面深入而簡短的探討,而且通常與既有的 IT 百寶箱文件有關。摘錄可能是說明 Microsoft IT 如何逐步執行特定的操作性工作,或如何設定硬體裝置或軟體應用程式,也可能是關於某最佳作法的細節,或是讀者經常尋求的 Microsoft IT 作業資訊。

目標讀者

Microsoft Exchange Server 2003 系統管理員

產品和技術
  • Exchange Server 2003

  • SMTP


下载

Microsoft 設定 SMTP 進行已驗證和匿名兩種連線
515 KB
Microsoft Word 文件

顯示: