[Windows]使用 Windows Server 2008 建構企業 VPN 網路

有關於電腦系統設定, 備份, 監控, 網路等機制討論
回覆文章
頭像
tim
文章: 1349
註冊時間: 2008年 11月 26日, 00:49

[Windows]使用 Windows Server 2008 建構企業 VPN 網路

文章 tim »

文章引用自: http://technet.microsoft.com/zh-tw/ee871874.aspx


使用 Windows Server 2008 建構企業 VPN 網路十大秘訣

作者:顧武雄 Jovi Ku、Microsoft MVP、MCITP、MCTS 認證專家、台灣微軟 Technet、TechEd、Tech Day、Webcast 特約資深顧問講師,讀者可以透過他的技術 Blog 與他聯絡。

引言:在全球經濟蕭條的年代裡,藉由 Windows Server 2008 來建構企業 VPN 網路,相信是最經濟實惠的最佳解決方案了,不僅如此它還可以整合網路存取保護(NAP)技術,以及提供採用最新 SSTP 連線的最佳安全機制。

在企業的網路環境規劃中,如想要讓在外頭辦公的行動使用者,可以快速安全的存取到公司內部網路資源,最好的規劃建議當然是建置 VPN 網路,只是單單一個 VPN 的解決方案就有好多種,例如直接申請 ISP 所提供的 VPN 專線,將分散的各點營運處網路全部串起來,雖然這種的架構方式在效能與頻寬上的表現上最為理想,但是所需花費的成本卻也是最可觀的。

取而代之對於許多中小企業來說,您可能會選擇較符合經濟效益的 VPN 設備,或是乾脆直接以防火牆內建的 VPN 功能來使用,但是可別忽略這樣的結果可能會導致防火牆的效能受到影響。

在此建議您不仿直接採用 Windows Server 2008 所內建的 VPN 網路服務(路由及遠端存取),因為透過不僅可以節省掉額外購置 VPN 設備的成本,又可以獲得最佳的網路運作效能,在進階的管理部份還可以使用最新的 SSTP 連線機制,以及整合網路存取保護的安全機制,至於怎麼做呢?請繼續看以下今天要和大家分享的 VPN 網路十大祕訣吧。
TOP1 用戶端無法進行 PPTP 的 VPN 連線

Q:我目前在公司的邊際防火牆內部建置了一部 Windows Server 2008 的 VPN 伺服器,打算用它來提供遠端使用者的 VPN 連線服務,但不知道為何在 VPN 服務完成設定與啟用之後,遠端的使用者在嘗試進行連線時卻出現如圖1所示的錯誤訊息,該如何解決這個問題呢?


圖1 PP TP受防火牆阻擋連線

A:這個問題的發生很單純,主要是由於外部的防火牆未設定開放相關的 VPN 通訊協定連線,以下將以 Windows Server 2008 內建的防火牆設定來作為範例說明。


圖2 確認已開放 GRE 協定連線

首先您必須開啟 VPN 伺服器上的 [具有進階安全性的 Windows 防火牆] 介面,然後在 [輸入規則] 節點頁面上,找到 [路由及遠端存取(GRE-In)] 項目並且確認是否已啟用以及允許連線。如圖2 所示如果目前是設定成 [封鎖連線],那麼理所當然會出現前面所提到的錯誤訊息,至於有關於它的通訊協定設定部份,主要是 GRE 通訊協類型,而本機與遠端連接埠則為所有連接埠。

除了 GRE 連線的開放之外,另一個同樣需確認允許連線的規則項目為 [路由及遠端存取(PPTP-In)],其開放的通訊協定與通訊埠分別為 TCP 與本機連接埠 1723,遠端連接埠則設定為所有連接埠。
TOP2 什麼是 SSTP 的 VPN 連線機制?它的運作原理為何?

Q:我曾經在 Windows Vista Service Pack 1 的技術研討會中,看到講師有提到在 SP1 的更新中,有提供一個全新的 SSTP 通訊協定來連線 Windows Server 2008 VPN 網路的功能,可否請您說明一下有關 SSTP 的運作原理。

A:所謂 SSTP 便是安全通訊端通道通訊協定(Secure Socket Tunneling Protocol)的簡寫,它是 Windows Vista Service Pack 1 在結合 Windows Server 2008 的 VPN 網路連線上,所提供的一個全新安全連線機制。而它為企業IT所帶來的兩項主要效益共有兩項,首先由於它是將 PPTP 通訊流量封裝在 HTTPS 協定的 SSL 通道中,因此對於企業邊際的防火牆來說,便不需要特別為 PPTP 或 L2TP 的 VPN 連線需求而開放特定的連接埠。

第二點效益便是在 VPN 連線通訊安全部份的強化,因為它讓 PPP 使用了更強化的 EAP-TLS 驗證方法,當然啦!也由於是經由 SSL 的 443 埠來建立連線,因此更能夠藉由傳輸層級的加密機制以及一致性檢查,讓整體的安全性比傳統 VPN 的連線方式更加安全許多。

當用戶端的電腦為 Windows Server 2008 或 Windows Vista Service Pack 1 時,只要啟動以 SSTP 的 VPN 連線機制時,便會如圖3 所示開始進行以下的運作程序。

1. SSTP 用戶端與 SSTP 的 VPN 伺服器建立一個 TCP 連線,而 SSTP 的用戶端會自動取得一個動態配置的 TCP 通訊埠,至於 SSTP 的 VPN 伺服器則會固定採用 TCP 443 通訊埠。
2. 接著 SSTP 用戶端會傳送一個 SSL Client-Hello 訊息,指示 SSTP 用戶端將去建立一個與 SSTP 伺服器的 SSL 工作階段。
3. 接著 SSTP 的 VPN 伺服器將會傳送一個它的電腦憑證到 SSTP 用戶端。
4. 接著 SSTP 用戶端將會對於所接收到電腦憑證進行確認,並且確定所採用的加密方法是否符合目前的 SSL 工作階段,以便於可以透過此公開金鑰來進行後續工作階段進行中的加密處理,接著將會將已加密過的 SSL 工作階段金鑰傳送給 SSTP 的 VPN 伺服器。
5. 接著 SSTP 的 VPN 伺服器將會對已加密的 SSL 工作階段金鑰以及電腦憑證的私密金鑰進行解密。接著所有後續 SSTP 用戶端與 SSTP 的 VPN 伺服器之間的通訊,是採用加密與 SSL 工作階段金鑰的加密方法。
6. SSTP 用戶端傳送 HTTP over SSL 要求訊息到 SSTP 的 VPN 伺服器。
7. SSTP 用戶端的連線將與 SSTP 的 VPN 伺服器形成一個 SSTP 通道。
8. 接著 SSTP 用戶端將開始在 SSTP 通道中,以 PPP 方式 SSTP 的 VPN 伺服器進行連線,而其中的交談內容包括了使用者身份的驗證,以及檢查 PPP 的驗證方法與 IPv4 或 IPv6 的組態設定。
9. SSTP 用戶端開始傳送 IPv4 或 IPv6 的資料流量在 PPP 的連線上。


圖3 通訊協定層級的 SSTP 系統架構
TOP3 如何建立 Windows Server 2008 中 VPN 伺服器專屬的憑證範本

Q:請問 Windows Server 2008 的 VPN 伺服器的安裝與管理方法,是否和前一版一樣?另外在安裝完成之後,如果想提供遠端使用者進行 SSTP 的連線機制,需要先完成的第一項前置作業是甚麼呢?

A:有關於 Windows Server 2008 的 VPN 伺服器建置部份,基本的管理方法和前一版的 Windows Server 2003 是一樣的。那麼接下來讓我們來看看一個在 VPN 伺服器建置後,第一個重要的設定步驟,那就是 VPN 伺服器憑證範本的相關建立說明,以便於後續可以進行伺服器憑證的申請與安裝。

在為 VPN 伺服器安裝專屬的電腦憑證之前,我們必須先完成建立一個它專屬的憑證範本。首先請在擔任憑證伺服器的主機登入之後,開啟位在 [系統管理工具] 下拉選單中的 [憑證授權單位] 管理介面,接著請展開至 [憑證範本] 項目節點上,按下滑鼠右鍵點選 [管理] 繼續。

接著在眾多的憑證範本項目中找到 [IPSec(離線要求)] 項目,並且按下滑鼠右鍵點選 [複製範本]。接下來必須設定一個唯一的範本顯示名稱,接著可以自行定義憑證的有效期期間(最多 999 年),以及更新的間隔時間。在 [處理要求] 的頁面中,如圖所示請先將 [允許匯出私密金鑰] 選項勾選,然後點選右下角的 [CSP] 按鈕繼續。


圖4 憑證範本處理要求設定

請將下方 CSP 清單中的 [Microsoft Enhanced RSA and ASE Cryptographic] 項目勾選,接著請切換到 [延伸] 頁面中,在選取 [應用程式原則] 項目之後點選 [編輯]。在 [編輯應用程式原則延伸] 頁面中,先將預設的 [IP 安全性 IKE 中繼] 刪除之後,再分別將 [用戶端驗證] 與 [伺服器驗證] 加入。這部分最後請切換到 [安全性] 頁面中,在 [群組或使用者名稱] 清單中選取 [Authentication Users] 項目,然後將下方權限清單中的允許 [註冊] 勾選即可。
TOP4 如何正確申請與安裝 Windows Server 2008 中的 VPN 伺服器憑證

Q:我已經完成了 Windows Server 2008 VPN 伺服器中所需的憑證範本建立,請問接下來我要如何讓此 VPN 伺服器去申請與安裝憑證,以便於讓以 SSTP 連線機制的 VPN 網路可以正常提供服務。

A:當您完成了 VPN 伺服器憑證範本的建立之後,必須再回到 [憑證授權單位] 的管理介面,然後點選 [憑證範本] 項目後,按下滑鼠右鍵點選 [新增] 下拉選單中的 [要發出的憑證範本] 繼續。在如圖5 所示的 [啟用憑證範本] 頁面中,便可以看見我們所建立的 [VPN SERVER] 憑證範本,請在選取之後點選 [確定]。


圖5 選擇要啟用的憑證範本

接下來當然要從憑證授權單位的主機上,來申請與安裝此電腦憑證在 VPN 主機本機電腦中。首先請在 VPN 主機的 IE 瀏覽器中連線登入憑證授權單位的網站(例如:https://caserver/certsrv),接著將會開啟憑證服務頁面,在此請點選 [要求憑證] 連結繼續。

接著在 [要求憑證] 連結的頁面中,請點選 [進階憑證要求] 連結。來到 [進階憑證要求] 的頁面中,請點選 [向這個 CA 建立並提交一個要求] 連結。緊接著將會來到如圖6 所示的 [進階憑證要求] 表單頁面,在此首先您必須要在 [憑證範本] 下拉選單中選取 [VPN SERVER],然後在離線範本識別資訊區域的第一個欄位中,輸入您公司 VPN 網路給予外部使用者連線的網際網路 FQDN 位址(絕對不可以輸入錯誤),接著請在下方的 CSP 下拉選單中選取 [Microsoft Enhanced RSA and AES Cryptographic Provider],並且也請將 [將金鑰標示成可匯出] 設定勾選,最後請點選 [送出] 按鈕繼續。

當我們點選 [送出] 按鈕時,將會彈跳出 [Web 存取確認] 的警告訊息,請點選 [是(Y)] 繼續。接著將會來到 [憑證已發出] 的頁面,在此請點選 [安裝這個憑證] 連結繼續。執行之後將會再一次出現 [Web 存取確認] 的警告頁面,主要是用來讓使用者可以確認來源憑證的合法性,請點選 [是] 按鈕即可。

完成在憑證授權單位主機上的 VPN SERVER 憑證安裝之後,我們還有一個地方需要作一下調整,那就是我們必須將預設安裝在以目前使用者容器中的 VPN SERVER 憑證項目,加入到以本機為主的憑證容器中才可以正常運作。


圖6 進階憑證要求設定

首先請在 VPN 伺服器上以 MMC 介面開啟 MMC 管理介面之後,然後在如圖4-5-21 所示的 [新增或移除嵌入式管理單元] 頁面中,分別加入兩個 [憑證] 管理項目,請務必記得 [目前的使用者] 以及 [本機電腦] 都必須加入才可以。

接著請在 [憑證-目前的使用者] [個人] [憑證] 的容器中,看到目前所安裝的 VPN SERVER 專屬的電腦憑證,請針對此憑證項目按下滑鼠右鍵點選 [所有工作] [匯出] 繼續。在 [憑證匯出精靈] 的頁面,整個過程中有些設定要別注意。首先 [匯出私密金鑰] 頁面中,必須選取 [是,匯出私密金鑰] 選項,點選 [下一步] 繼續。在 [匯出檔案格式] 頁面中,請將 [如果可能的話,包含憑證路徑中的所有憑證] 以及 [匯出所有延伸內容] 項目勾選繼續。點選 [下一步] 繼續。在 [密碼] 的頁面中您可以設定用來保護這個憑證檔案的密碼,而這個密碼也將在後續的匯入到本機電腦的作業中需要再次輸入。

最後我們只需要將此憑證檔案匯入本機電腦的憑證容器中即可。請在本機電腦的 [個人] [憑證] 節點上按下滑鼠右鍵點選 [匯入],執行後過程中將會出現 [匯入檔案] 的頁面,請點選 [瀏覽] 按鈕選取前面所匯出的憑證檔案(副檔名=pfx)即可。
TOP5 如何設定讓 Windows Vista SP1 可以採用 SSTP 協定連線 VPN 網路

Q:當我已經完成了 Windows Server 2008 的 VPN 伺服器憑證範本建立,以及完成了憑證的申請與安裝之後,請問是否還有哪一些設定需要繼續完成呢?如果都已經完成了 VPN 伺服端的設定之後,用戶端的 Windows Vista SP1 電腦要如何進行 SSTP 的 VPN 網路連線呢?

A:完成了有關於憑證的申請與安裝的各項設定動作之後,基本上便算是已經完成了 VPN 伺服器的 SSTP 組態配置了,因此我們接下來便可以開始將準備好的一部 Windows Vista Services Pack 1 電腦,在完成一些必要的設定之後,來從外部網路嘗試進行 SSTP 的 VPN 網路連線了。

首先請將您已經預先建立好的 VPN 網路連線開啟 [內容] 頁面,並且切換到 [安全性] 頁面中,然後在選取 [進階(自訂的設定)] 項目之後點選 [設定] 按鈕繼續。接下來將會開啟 [進階安全性設定] 頁面,請在 [登入安全性] 區域中先選取 [使用可延伸的驗證通訊協定(EAP)],然後從下拉選單中選取 [Protected EAP(PEAP)(啟用加密)] 並且點選 [內容]。

在 [受保護的 EAP 內容] 頁面中,請將 [確認伺服器憑證] 項目勾選,然後您可以將位在下方 [受信任的根憑證授權單位] 窗格中的公司憑證勾選,而在下方的 [選擇驗證方法] 的下拉選單中選取 [Secured password(EAP-MSCHAP v2)] 項目,至於是否要勾選 [啟用隔離檢查] 設定,則是端看在您公司內部的網路中是否有整合網路存取保護(NAP)的安全機制。

請注意!關於公司受信任的根憑證授權單位是否會出現在下方窗格中,主要關鍵因素有兩點,第一是公司內部網域是否有建置企業級的跟憑證伺服器,以及這部用戶端電腦是否曾經有開機登入過相同的網域。

完成了 [安全性] 部份的組態配置之後,接下來請切換到 [網路功能] 的頁面中,如圖7所示在 [VPN 的類型] 下拉選單中,選取 [安全通訊端通道通訊協定(SSTP)] 項目,點選 [確定] 完成設定。


圖7 設定連線的 VPN 類型

完成了有關於 Windows Vista Services Pack 1 用戶端的 SSTP 連線組態的 VPN 設定之後,接下來我們便可以開始來嘗試連線看看。請在開啟 VPN 網路連線之後,您將會發現會出現如圖8 所示的連線頁面,請點選 [連線] 按鈕繼續。


圖8 執行 VPN 連線

接下來將會出現 [輸入認證] 頁面,請正確輸入已經開放遠端連線存取的網域使用者帳戶與密碼,點選 [確定] 繼續。在我們進行第一次 VPN 連線時,將會出現 [確認伺服器憑證] 的頁面,您可以在此點選 [檢視伺服器憑證] 按鈕來查看一下憑證內容,或是點選 [確定] 完成連線。在成功完成 SSTP 的 VPN 網路連線的網路狀態,在此您將可以清楚看到它目前所採用的連線方式即為 SSTP 而不是 PPTP。
TOP6 當 SSTP 連線出現 CN 名稱不符合傳遞值的錯誤,要如何解決呢?

Q:目前我根據 Windows Server 2008 SSTP 的 VPN 建置需求,在伺服端上安裝了 CA 相關的電腦憑證,可是在 Windows Vista SP1 用戶端連線時,卻出現了如圖9 所示的「憑證的 CN 名稱不符合傳遞值」錯誤訊息,請問這個問題是如何產生的,該如何解決呢?


圖9 憑證主體名稱不符合

A:這個問題說明了雖然您在 Windows Server 2008 的 VPN 伺服器安裝了電腦憑證,但是憑證的主體名稱(CN),卻與在網際網路上所發佈的連線位址(FQDN)不符合,以至於會出現此錯誤訊息。

針對這個問題的發生除了以上問題的可能性之外,也有可能是用戶端 VPN 的連線位址設定成了 IP 位址而非 FQDN,至於如果是伺服器憑證主體名稱的問題,則必須透過憑證伺服器網頁的方式來申請,而無法直接透過 MMC 的 [憑證] 管理介面來申請,這是因為一般憑證預設的主體名稱都是直接以內部的電腦名稱+DNS 網域名稱來命名(例如:msft.local)以至於會造上述的錯誤訊息。
TOP7 如何解決當進行 VPN 連線時,出現 SSTP 撤銷伺服器已離線的錯誤訊息

Q:之前我們公司是使用 Windows Server 2003 的 VPN 服務來提供員工遠端存取企業資源的需求,而如今知道在 Windows Server 2008 上所提供的 VPN 服務,支援了最新直接以 TCP 443 埠的 SSTP(Secure Socket Tunneling Protocol)連線方式,因此便打算改用這種連線方式,只是為何我在所支援的 Windows Vista SP1 上進行 SSTP 的 VPN 連線時,卻會出現如圖10 所示的「因為撤銷伺服器已離線,無法完成撤銷檢查」錯誤訊息呢?


圖10 SSTP 連線 VPN 錯誤訊息

A:有關於在 Windows Server 2008 上所提供的 SSTP 的 VPN 連線方式,基本上只要在 [路由及遠端存取] 介面中啟用了 VPN 功能之後,再完成了伺服器憑證的申請與 CA 憑證伺服器網址的發佈之後便可以正常提供 Windows Vista SP1 與 Windows XP SP3 的 SSTP 連線。

而您在問題的錯誤訊息中,便是屬於沒有正確完成 CA 憑證伺服器網址發佈時,所導致的錯誤訊息。想要解決這個問題,首先請在 VPN 伺服器上透過 MMC 介面開啟 [憑證] 管理介面,然後開啟所申請的伺服器憑證內容,如圖11 所示切換到該憑證檢視的 [詳細資料] 頁面,在此您可以找到 [CRL 發佈點] 的欄位資訊,其中會發現有關於 URL 的位址相關資訊,您可以在網際網路上透過 IE 瀏覽器來測試看看此網址是否可以正常連線,如果可以正常連線即表示您的這部 CA 伺服器網址有正常發佈到網際網路上,反之則表示在您目前的網路邊際防火牆上沒有正確完成相關安全發佈設定,以下簡單說明兩種不同防火牆類型的設定方向:

* 一般硬體式防火牆:需設定由內到外的 NAT 一對一 IP 位址靜態對應到內部的 CA 憑證伺服器。
* Microsoft ISA Server:可透過伺服器發佈規則,設定唯一發佈 CA 憑證伺服器上的 /CerEnroll 資料夾路徑即可,這種方式在安全性上會較高許多。


圖11 查看憑證撤銷清單網址
TOP8 如何得知哪一些連線的使用者目前正遭到 NAP 的網路隔離中

Q:請問對於在整合 NAP 安全架構的企業網路環境中,IT 人員要如何從即時監控中,得知哪一些使用者或電腦目前正遭受網路隔離中,以便於可以在第一時間中告知與協助使用者來進行到合法的網路中。

A:根據筆者的了解,在目前所有 NAP 的架構中,若想要得知哪一些 NAP 用戶端目前正遭到網路隔離中的需求,也只有整合 VPN 與 802.1x 兩部分可以做的到,前者可以 Windows Server 2008 自行來監看,至於後者呢?則必須由所支援動態 VLAN 的 802.1x 交換器介面來監看。

關於 VPN 用戶端連線的即時監視部份,您可以從 VPN 伺服器上的 [路由及遠端存取] 介面中的 [遠端存取用戶端] 項目節點來查看即可,如果 [狀態] 欄位資訊顯示為 [沒有限制],這表示該 NAP 用戶端電腦並沒有遭到隔離。如果 NAP 用戶端電腦遭到隔離呢?那麼將會出現如圖12 所示的狀態顯示,清楚看到顯示為 [受限制]。


圖12 受隔離的 VPN 用戶端
TOP9 如何讓非公司的網域電腦無法連線公司的內部網路

Q:Windows Server 2008 所提供針對 VPN 網路的存取保護機制(NAP)雖然好用,但是我擔心的是萬一有非公司之外的使用者,剛好他們的電腦也有啟用 NAP 的相關設定,並且也碰巧符合公司所定義的 NAP 健康原則,那麼如此一來不就只要有帳號密碼,便可以輕易的取得公司內部網路的動態 IP 位址配置,針對這個問題我想知道是否在 VPN 的 NAP 架構設計中,可以強制設定僅有公司網域內的電腦,才能夠取得 VPN 網路所核發的動態 IP 位址呢?

A:在 NAP 的架構中除了可以驗證用戶端電腦的健康狀態之外,在此之前還可以先檢查用戶端的電腦是否相容於 NAP 的系統需求,以及是否為特定的使用者或電腦群組成員。

以 DHCP 或 VPN 架構為主的 NAP 安全規劃來說,您便可以先在 [Active Directory 使用者及電腦] 的介面中,先建立一個安全性群組並且設定好所有其下的電腦成員,緊接著您便可以在網路原則伺服器的[網路原則]節點頁面中,來新增一個自訂的網路原則,其內容首先在 [概觀] 的頁面中先將存取權限設定為 [拒絕存取],然後再如圖13 所示切換到 [條件] 的頁面中新增一個驗證 [電腦群組] 的條件,而所設定的電腦群組便是前面您所設定的電腦群組,如此一來用戶端電腦在取得 DHCP 所配置的動態 IP 位址之前,便需要先通過是否為指定電腦群組成員的檢查。


圖13 自訂網路原則設定

當一個非指定 NAP 電腦群組的用戶端電腦,無法成功取得動態 IP 位址的顯示範例,理所當然也無法進行第二道的安全健康原則檢查程序。此外值得注意的是,如果原先合法的 NAP 用戶端電腦目前正在連線存取網路資源中,而這時候如果系統管理員臨時將它從合法的電腦群組成員清單中移除,那麼此電腦在下一回重新取得動態 IP 位址時,將無法取得合法的 IP 位址了。
TOP10 如何設定 NPS 事件記錄與變更 RADIUS 連接埠號碼

Q:請問在網路原則伺服器的管理中,是否可以針對運作中產生的錯誤,以及被拒絕與成功獲得連線的事件進行記錄控管,此外有關於它在與 RADIUS 的整合應用部份,我們是否可以自行調整它預設的連接埠呢?

A:基本上您所提到的這一些管理需求在網路原則伺服器上都可以做的到。請在網路原則伺服器管理介面中,針對最上層的本機節點項目按下滑鼠右鍵點選 [內容],接著將會開啟 [內容] 頁面,首先在 [一般] 頁面中您除了可以變更預設的伺服器描述之外,也可以決定是否要在事件檢視器中記錄有關於被拒絕以及成功通過驗證的事件,值得注意的是有關於網路原則伺服器(NPS)的錯誤事件,在系統預設的狀態下都將被記錄下來。

接下來請切換到[連接埠]頁面中,如圖14 所示在此您可以分別看到預設的 RADIUS 服務,所設定的驗證連接埠(1812,1645)以及負責帳戶處理的連接埠(1813,1646),像這樣的預設值可以符合大部份需要與它進行整合的軟硬體設備。

此外在這裡還有一點需要特別注意,那就是如果您修改預設的任何連接埠號碼,除了需要在與它整合的裝置上變更同樣的設定之外,還需要在本機的 Windows 防火牆中將這一些連接埠號碼設定在 [例外] 的清單中。


圖14 NPS 的 RADIUS 連接埠設定
多多留言, 整理文章, 把經驗累積下來.....
回覆文章