Issuu on Google+

8

CHAPTER

SMTP 伺服器的架設 SMTP(Simple Mail Transfer Protocol)是用來傳送與接收電子郵件的通訊協 定。在 Windows Server 2008 已內含 SMTP 伺服器,因此您可以讓 IIS 網站 內的 ASP .NET 應用程式透過 SMTP 伺服器來傳送郵件,也可以讓 SMTP 伺服器扮演 SMTP Relay(轉寄站)的角色來接收內送郵件或傳遞外寄郵件。 SMTP 伺服器概觀 安裝 SMTP 伺服器與基本管理工作 SMTP 虛擬伺服器的安全性設定 SMTP 虛擬伺服器的運作流程 郵件傳遞設定 郵件的管理 SMTP 網域的管理 SMTP Relay 的設定


Windows Server 2008網路管理與IIS架站 8-1 SMTP 伺服器概觀 SMTP 伺服器主要的工作是提供電子郵件傳送與接收的服務: 傳送外寄郵件 寄件者可以利用郵件軟體(例如 Windows Mail)將郵件傳送給 SMTP 伺服 器,再由它將郵件傳送給目的地的 SMTP 伺服器。 接收內送郵件 SMTP 伺服器也負責接收其它 SMTP 伺服器所送來的郵件。 我們可以利用 Windows Server 2008 的 SMTP 伺服器來支援 IIS 7 網頁伺服 器內的 ASP .NET 應用程式,也就是在 IIS 網頁伺服器內指定一台 Windows Server 2008 SMTP 伺服器(見第 5 章的說明),讓使用 System.Net.Mail API 的 ASP .NET 應用程式可以利用 SMTP 伺服器來寄送郵件,如圖 8-1-1 所示。

圖 8-1-1

由於 SMTP 通訊協定所使用的指令,可能會被入侵者用來作為攻擊的途 徑,因此很多企業會透過 SMTP Relay(轉寄站)來轉寄郵件,例如圖 8-1-2 中的 SMTP Relay 被架設在外部網際網路與內部網路之間的 DMZ 網路,所 有外寄與內送的郵件都是透過 SMTP Relay,以避免外部直接與內部電子郵 件伺服器溝通,減少內部電子郵件伺服器被攻擊的機會。這台 SMTP Relay 的角色可由 Windows Server 2008 SMTP 伺服器來扮演。

8-2


chapter SMTP 伺服器的架設

8

圖 8-1-2

8-2 安裝 SMTP 伺服器與基本管理工作 我們需要透過新增 SMTP 伺服器功能的方式來將 SMTP 伺服器安裝到 Windows Server 2008 電腦上,其安裝途徑為【開始Â伺服器管理員Â功能 Â新增功能Â如圖 8-2-1 所示勾選 SMTP 伺服器Â點擊 新增所需的角色服 務 鈕Â持續按多次 下一步 鈕Â按 安裝 鈕】。

圖 8-2-1

完成安裝後會內建一個名稱為 SMTP Virtual Server #1 的 SMTP 虛擬伺服 器,而您可以透過【開始Â系統管理工具ÂInternet Information Services (IIS) 6.0 管理員】來管理 SMTP 伺服器。

8-3


Windows Server 2008網路管理與IIS架站 啟動、停止與暫停 SMTP 虛擬伺服器 在您安裝 SMTP 伺服器完成後,系統預設會將 SMTP Virtual Server #1 啟 動,而您可以在點擊圖 8-2-2 中的 SMTP Virtual Server #1 後,透過上方的 3 個圖示來啟動、停止與暫停 SMTP 伺服器。

圖 8-2-2

如果您需要對 SMTP 伺服器進行設定變更或維護作業的話,此時可以將 SMTP 伺服器暫停或停止: 若暫停的話:暫停後就不再接受用戶端新的連線要求,但是會繼續服務 現有的連線,同時已經收到、正在等待傳送的電子郵件還是會繼續傳送。 若停止的話:停止後,現有的連線都將中斷、也不再接受新的連線、也 不再傳送電子郵件。

啟動、停止與暫停 SMTP 服務 一台電腦內可以有多個 SMTP 虛擬伺服器,這些虛擬伺服器都是透過 SMTP 服務來運作。若您要啟動、停止或暫停 SMTP 服務的話,可透過【開始Â 系統管理工具Â服務Â Simple Mail Transfer Protocol(SMTP)】的途徑,如 圖 8-2-3 所示。若您停止或暫停此服務的話,則所有的 SMTP 虛擬伺服器都 會被停止或暫停。

8-4


chapter SMTP 伺服器的架設

8

圖 8-2-3

雖然 SMTP 服務在安裝 SMTP 伺服器功能時已被啟動,不過它的啟動類型 為手動,因此以後電腦重新開機時,必須自行手動啟動,若要將啟動類型 改為自動的話,請雙擊此服務,然後在圖 8-2-4 中選擇自動。

圖 8-2-4 服務啟動類型為自動表示系統在啟動過程中(boot sequence)就會自 動啟動此服務,若要避免啟動此服務而影響到系統啟動效率的話,可 以選擇自動 (延遲開始),表示等完成系統啟動程序後再啟動此服務。

IP 位址與 TCP 連接埠號碼的設定 若 SMTP 伺服器這台電腦擁有多個 IP 位址的話,則您可以選擇要提供 SMTP 服務的 IP 位址,此時 SMTP 伺服器只接受透過此 IP 位址傳來的電子郵件。

8-5


Windows Server 2008網路管理與IIS架站 連接埠號碼是用來辨識電腦內的 TCP/UDP 服務,而內建的 SMTP Virtual Server #1 的 TCP 連接埠號碼是標準的 25。如果您要在一台電腦內架設多 台 SMTP 虛擬伺服器的話,則它們所使用的 IP 位址與連接埠號碼兩者之中 至少要有一個是不相同的。 若要變更 SMTP Virtual Server #1 的 IP 位址或連接埠號碼的話,請【在圖 8-2-5 中對著 SMTP Virtual Server #1 按右鍵Â內容Â透過前景圖來設定】 。

圖 8-2-5

若要同時變更 IP 位址與連接埠號碼的話,請【點擊前面圖 8-2-5 中的 進階 鈕Â在圖 8-2-6 中按 編輯 鈕Â透過前景圖來變更 IP 位址與 TCP 連接埠】。

圖 8-2-6

8-6


chapter SMTP 伺服器的架設

8

連線設定 當使用者或其它 SMTP 伺服器傳送郵件給您的 SMTP 虛擬伺服器時,兩者 之間就建立起一個連線(connection),或是您的 SMTP 虛擬伺服器傳送電子 郵件給其它 SMTP 伺服器時,兩者之間也會建立一個連線。 您可以限制 SMTP 虛擬伺服器的連線數量,以免伺服器的負擔太重,影響 運作效率,同時也可以讓入侵者攻擊 SMTP 伺服器的行為(例如 Denial of Service,DOS)更為困難。

連入連線(incoming connections)的設定 請透過【對著 SMTP Virtual Server #1 按右鍵Â內容Â如圖 8-2-7 所示】的 途徑來設定: 將連接數限制為:用來設定同一時間內最大的連入數量。 連接逾時(分):一個已經沒有任何動作的連線,在這段時間過後就會被 自動中斷。

圖 8-2-7

連出連線(outgoing connections)的設定 請透過【對著 SMTP Virtual Server #1 按右鍵Â內容Â點擊圖 8-2-8 中傳遞 標籤下的 傳出連接 鈕】的途徑來設定:

8-7


Windows Server 2008網路管理與IIS架站

圖 8-2-8

將連接數限制為:用來設定最大的連出數量。 逾時(分):一個已經沒有任何動作的連線,在這段時間過後就會被自動 中斷。 將每個網域的連接數限制為:用來設定每一個遠端網域(非此 SMTP 虛 擬伺服器所管轄的網域)最多的連出數量,這個數值應該要少於或等於 前面的將連接數限制為。 TCP 通訊埠:用來設定連出連線所使用的 TCP 連接埠號碼,預設值為 25,表示要與遠端伺服器內支援連接埠號碼為 25 的 SMTP 服務來連線。

新增 SMTP 虛擬伺服器 您可以在一台電腦內同時架設多個 SMTP 虛擬伺服器,但是它們之間所使 用的 IP 位址或連接埠號碼兩者之中至少要有一個是不相同的。SMTP 虛擬

8-8


chapter SMTP 伺服器的架設

8

伺 服 器 的 建 立 途 徑 為 【 如 圖 8-2-9 所 示 對 著 伺 服 器 名 稱 按 右 鍵 Â 新 增 ÂSMTP 虛擬伺服器】,然後按照畫面指示來操作即可。

圖 8-2-9

啟用連線記錄 您可以在前面圖 8-2-7 中勾選啟用記錄,以便追蹤、記錄 SMTP 虛擬伺服器 的運作狀況,例如利用它來檢查是否有未經授權的使用者嘗試存取此台虛 擬 SMTP 伺服器。

8-3 SMTP 虛擬伺服器的安全性設定 本節將介紹如何來指定 SMTP 虛擬伺服器的操作員、連入/連出驗證設定、 利用 IP 位址來限制連線、轉送限制與 TLS 安全性連線設定等。

指定操作員 操作員有權利來存取與變更 SMTP 虛擬伺服器的設定,指定操作員的途徑 為【對著 SMTP Virtual Server #1 按右鍵Â內容Â點擊圖 8-3-1 的安全性標 籤Â按 新增 鈕】。

8-9


Windows Server 2008網路管理與IIS架站

圖 8-3-1

連入連線的驗證設定 您可以讓使用者或遠端 SMTP 伺服器利用匿名來連接您的 SMTP 虛擬伺服 器,或是要求他們提供使用者名稱與密碼來連線,其設定途徑為【對著 SMTP Virtual Server #1 按右鍵Â內容Â如圖 8-3-2 所示點選存取標籤Â點 擊 驗證 鈕Â透過前景圖來設定】:

圖 8-3-2

8 - 10


chapter SMTP 伺服器的架設

8

匿名存取(Anonymous access) 表示使用者或其它 SMTP 伺服器,可以不需要提供使用者名稱與密碼來 連接您的 SMTP 虛擬伺服器。 基本驗證(Basic authentication) 表示使用者或其它 SMTP 伺服器可以提供使用者名稱與密碼來連接您 的 SMTP 虛擬伺服器,不過密碼是以不加密的明文(cleartext)來傳送,因 此最好搭配圖中的必須使用 TLS 加密,TLS 加密會在後面另外說明。 整合式 Windows 驗證 表示使用者或其它 SMTP 伺服器可以提供使用者名稱與密碼來連接您 的 SMTP 虛擬伺服器,而且密碼會被加密。 以上三種驗證方法與網站安全性類似,因此可參考第 5 章內關於網站安全 性的其他詳細說明。

若使用者是利用匿名方式來連接SMTP伺服器的話,則SMTP伺服器 預設僅接收內送的郵件,不接受外寄的郵件。

連出連線的驗證設定 當您的 SMTP 虛擬伺服器需要將郵件轉送到其它 SMTP 伺服器時,您必須 視對方的驗證要求,來選擇適當的驗證方法,選擇途徑為【對著 SMTP Virtual Server #1 按右鍵Â內容Â如圖 8-3-3 所示點擊傳遞標籤下的 傳出安 全性 鈕Â透過前景圖來設定】: 匿名存取:表示利用匿名的方式來連接其它的 SMTP 伺服器。 基本驗證:表示提供使用者名稱與密碼來連接其它 SMTP 伺服器,其 密碼是以不加密的明文(cleartext)來傳送。 整合式 Windows 驗證:表示提供使用者名稱與密碼來連接其它 SMTP 伺服器,其密碼會加密。

8 - 11


Windows Server 2008網路管理與IIS架站 TLS 加密:若對方要求採用 TLS 方式來將連線加密的話,請勾選圖中 的 TLS 加密。

圖 8-3-3

利用 IP 位址來限制連線 您也可以允許或拒絕某台特定電腦、某一群電腦來連接您的 SMTP 虛擬伺 服器,其設定的途徑為【對著 SMTP Virtual Server #1 按右鍵Â內容Â如 圖 8-3-4 所示點擊存取標籤下的 連接 鈕Â透過前景圖來設定】,預設是允許 所有的電腦來連線。這些設定與第 5 章網站安全性的設定相同。

8 - 12


chapter SMTP 伺服器的架設

8

圖 8-3-4

設定或移除轉送限制 SMTP 虛擬伺服器預設只接受內送的郵件,不接受外寄的郵件,也就是所收 到的郵件,若不是它所負責的網域,就一律拒收、不轉送。舉例來說,如 果 SMTP 虛擬伺服器所管轄的網域為 sayms.com,則當它收到一封要傳送 給 george@sayms.com 的郵件時,它會接受此郵件,可是如果它收到一封寄 給 mary@yahoo.com 的 郵 件 時 , 它 會 拒 絕 接 收 、 不 轉 送 此 郵 件 , 因 為 yahoo.com 不是它所管轄的網域。 如果要開放讓 SMTP 虛擬伺服器可以轉送(relay)外寄郵件的話,請透過【對 著 SMTP Virtual Server #1 按右鍵Â內容Â如圖 8-3-5 所示點擊存取標籤下 的 轉送 鈕Â透過前景圖來設定】的途徑,圖中您可以透過按 新增 鈕來選擇 要替哪一些電腦轉送外寄的郵件。 另外圖中預設已經勾選不考慮上述清單,允許所有通過驗證的電腦轉送, 表示只要寄件者能夠提供有效的使用者名稱與密碼,就替他們轉送外寄的 郵件,不論他們所使用的電腦是否列在上述清單內。不過您還必須在 SMTP 虛擬伺服器 SMTP Virtual Server #1 內新增驗證方法,也就是在前面的圖 8-3-2 中增加勾選基本驗證或整合式 Windows 驗證。

8 - 13


Windows Server 2008網路管理與IIS架站

圖 8-3-5

TLS 安全連線設定 使用者或遠端 SMTP 伺服器可以採用 TLS(Transport Layer Security)安全連 線來連接到您的 SMTP 虛擬伺服器,也就是將所有傳送的資料經過 TLS 加 密。TLS 是一種類似 SSL(Secure Sockets Layer)的安全通訊協定。 如果 SMTP 虛擬伺服器的驗證方法是選用基本驗證的話,寄件者所傳送的 使用者名稱與密碼都是以不加密的方式來傳送,此時可以採用 TLS 加密來 增加其傳送的安全性。

啟用 SMTP 虛擬伺服器的 TLS 若要啟用 TLS 功能的話,您必須替 SMTP 虛擬伺服器申請憑證與安裝憑 證,這些觀念與步驟都跟網站的 SSL 類似,在此我們僅列其重要步驟(有需 要時再參考第 6 章的說明): 安裝與網站有關的角色服務 由 於 建 立 憑 證 申 請 檔 、 完 成 憑 證 安 裝 等 步 驟 需 要 透 過 Internet Information Services (IIS)管理員來完成,故您需要先暫時在這台 SMTP

8 - 14


chapter SMTP 伺服器的架設

8

伺服器電腦上新增與 IIS 網站有關的角色服務,安裝途徑為【開始Â伺 服器管理員Â展開角色Â點擊網頁伺服器(IIS)Â新增角色服務Â勾選一 般 HTTP 功能與 IIS 管理主控台Â…】。 建立憑證申請檔案 請透過【開始Â系統管理工具ÂInternet Information Services (IIS)管理員 Â點擊伺服器名稱Â雙擊中間的伺服器憑證Â點擊右邊的建立憑證要 求…】的途徑來建立憑證申請檔,注意輸入資料時,在一般名稱處必須 輸入 SMTP 伺服器的 FQDN。 在瀏覽器內輸入 http://CA 的 IP 或網址/certsrv/,以便將憑證申請檔案 的內容傳送到 CA,並下載憑證檔案。 安裝憑證 請透過【開始Â系統管理工具ÂInternet Information Services (IIS)管理員 Â點擊伺服器名稱Â雙擊中間的伺服器憑證Â點擊右邊的完成憑證要 求…】的途徑來安裝憑證,安裝時請選擇剛才所下載的憑證。 如果SMTP伺服器是隸屬於Active Directory網域,而且企業CA在線 上的話,則您可以透過以下步驟來申請與安裝憑證【開始Â執行Â輸 入MMC後按 Enter 鍵Â檔案功能表Â新增/移除嵌入式管理單元Â在 清單中選擇憑證後按 新增 鈕Â點選電腦帳戶Â按 下一步 、 完成 、 確 定 鈕Â展開憑證Â對著個人按右鍵Â所有工作Â要求新憑證Â按 下 一步 鈕Â勾選電腦Â點擊詳細資料右邊的圖示Â內容Â在一般標籤 下輸入好記的名稱Â點擊主體標籤Â在主體名稱的類型處選擇一般 名稱、在值處輸入SMTP虛擬伺服器的FQDN後按 新增 鈕Â在別名的 類型處選擇DNS、在值處輸入SMTP虛擬伺服器的FQDN後按 新增 鈕 Â點擊延伸標籤Â點擊擴充金鑰使用方法(應用程式原則)右邊的圖示 、確認伺服器憑證已被選取Â點擊憑證授權單位標籤、確認已選取發 放憑證的CAÂ按 確定 、 註冊 、 完成 鈕】。

完成憑證安裝後,預設並不會強迫寄件者使用 TLS 加密方式將郵件寄給 SMTP 虛擬伺服器,而是由寄件者自行決定是否要使用 TLS 加密。

8 - 15


Windows Server 2008網路管理與IIS架站 如果 SMTP 虛擬伺服器的驗證方法是基本驗證,同時您要強迫寄件者使用 TLS 加密來連接 SMTP 虛擬伺服器的話,請【對著 SMTP Virtual Server #1 按右鍵Â內容Â點擊圖 8-3-6 中存取標籤下的 驗證 鈕Â在前景中勾選必須 使用 TLS 加密】。

圖 8-3-6

您也可以要求寄件者不論採用哪一種驗證方法都必須使用 TLS 加密,其設 定途徑為【對著 SMTP Virtual Server #1 按右鍵Â內容Â點擊圖 8-3-7 中的 存取標籤Â勾選必須使用 TLS 加密】,若 SMTP 虛擬伺服器沒有安裝憑證 的話,此處將無法勾選必須使用 TLS 加密。

圖 8-3-7

8 - 16


SMTP 伺服器的架設