共用方式為


Cable Guy:DirectAccess 與網路存取保護 (NAP)

DirectAccess 很好,搭配網路存取保護更棒。

作者:Cable Guy

遠端使用者現在可以更安全地存取您的公司網路。DirectAccess 是 Windows 7 和 Windows Server 2008 R2 中的新功能,讓遠端使用者無須連線到虛擬私人網路 (VPN),即可安全地存取內部網路資源。

網路存取保護 (NAP) 也已內建至 Windows Server 2008 R2 與 Windows 7。當用戶端電腦嘗試在網路上連線或通訊時,NAP 可監控和評估這些電腦的健康情況。

兩者形成強大的組合。DirectAccess 與 NAP 可讓您指定只有符合系統健康狀態需求的 DirectAccess 用戶端才能跨越網際網路連至內部網路資源。

DirectAccess 通道

DirectAccess 用戶端使用完整內部網路存取選定伺服器存取模型建立下列 DirectAccess 伺服器的網際網路通訊協定安全型 (IPsec) 通道:

  • **基礎結構通道:**連至內部網路網域名稱系統 (DNS) 伺服器與 Active Directory 網域服務 (AD DS) 網域控制站。根據預設,此通道需要電腦憑證和電腦帳戶 NT LAN Manager 版本 2 (NTLMv2) 認證以進行驗證。DirectAccess 用戶端會在使用者登入之前建立此通道。
  • **管理通道:**在使用者登入之前連至其他內部網路位置。內部網路管理伺服器也可以建立此通道以便從遠端管理 DirectAccess 用戶端。如同基礎結構通道,根據預設,此通道需要電腦憑證和電腦帳戶 NTLMv2 認證以進行驗證。
  • **內部網路通道:**在使用者登入之後,連至並非位於基礎結構與管理通道規則的目的地位址清單上的內部網路位置。根據預設,此通道需要電腦憑證和使用者帳戶 Kerberos 認證以進行驗證。

NAP 與 IPsec 強制執行

您可以使用各種強制方法來部署 NAP,以便強制執行連線或通訊的系統健康狀態需求。IPsec 強制方法使用健康情況憑證與 IPsec 連線安全性規則,前者是在 [增強金鑰使用方法 (EKU)] 欄位中具有系統健康驗證物件識別碼 (OID) 的數位憑證,後者則需要內部網路流量的 IPsec 保護與包含健康情況憑證的 IPsec 對等驗證。

這種組合能夠在內部網路上的電腦之間強制執行通訊的系統健康狀態需求。不遵守系統健康狀態需求和缺少健康情況憑證的電腦將無法在內部網路上起始通訊。

IPsec 強制部署需要下列項目:

  • **健康情況登錄授權單位 (HRA):**可接收及回應 NAP 用戶端與其要求以驗證系統健康狀態並取得健康情況憑證的網頁伺服器。
  • **NAP 憑證授權單位 (CA):**您的公開金鑰基礎結構 (PKI) 中的 CA,通常是專用的,可核發健康情況憑證給合格的 NAP 用戶端。
  • **NAP 健康原則伺服器:**驗證系統健康情況要求的網路原則伺服器 (NPS)。
  • **補救伺服器:**包含 NAP 用戶端修正不合格系統健康情況所需的資源的伺服器。

經由 HRA 取得的健康情況憑證的生命週期較短,通常以小時計。您也可以核發豁免健康情況憑證,對於需要健康情況憑證進行 IPsec 對等驗證但不需要執行系統健康情況驗證的伺服器而言,這種憑證的存留期較長。

DirectAccess 與 NAP

DirectAccess 與 NAP 整合了系統健康狀態遵循規範和 DirectAccess 連線程序。當您結合 DirectAccess with NAP 在允許存取內部網路資源之前先強制執行系統健康情況需求時,您是運用 NAP 基礎結構來核發健康情況憑證 (HRA、NAP CA、NAP 健康原則伺服器) 及修正系統健康情況 (補救伺服器)。另外也將 DirectAccess 連線安全性規則應用到基礎結構、管理及內部網路通道。

根據預設,在 DirectAccess 用戶端與伺服器上針對基礎結構、管理和內部網路通道所設定的連線安全性規則不需要健康情況憑證來進行驗證。您需要修改以要求健康情況憑證的規則集將視下列因素而定:

  • NAP 部署模式 (報告或完全強制)

報告模式不需要系統健康情況遵循規範。不合格的 DirectAccess 用戶端可以存取內部網路。因此,不需要變更 DirectAccess 連線安全性規則。

完全強制模式需要系統健康情況遵循規範。在此模式中,您必須設定連線安全性規則以便要求健康情況憑證,而不是一般電腦憑證。

  • HRA 和補救伺服器的位置

您可以將 HRA 和補救伺服器放在內部網路或網際網路上。

以下各節說明 HRA 與補救伺服器位於這兩種可能位置的情況,以及如何據此變更好讓連線安全性規則要求憑證。

以內部網路為基礎的 HRA 與補救伺服器

當 HRA 與補救伺服器位於內部網路上時,含電腦憑證但不含健康情況憑證的 DirectAccess 用戶端必須能夠加以存取。建立基礎結構和管理通道後便會進行健康情況驗證。DirectAccess 用戶端需要基礎結構通道來存取內部網路 DNS 伺服器,以便解析內部網路名稱,且需要管理通道來存取 HRA 與補救伺服器。

Figure 1  DirectAccess with NAP when the HRAs and remediation servers are on the intranet.

[圖 1] HRA 和補救伺服器位於內部網路上時的 DirectAccess 與 NAP。

但是以完全強制模式來說,DirectAccess 用戶端需要健康情況憑證,之後才能連至其他內部網路資源。因此,健康情況憑證需求僅適用於內部網路通道的連線安全性規則。

設定步驟

當 HRA 和補救伺服器位於內部網路上時,您需要執行下列步驟來設定 DirectAccess 與 NAP:

  • 將 HRA 和補救伺服器的 IPv6 位址加入管理伺服器清單中。您也可以在 DirectAccess 安裝精靈的第三個步驟或使用 Netsh.exe 命令來執行這個動作。
  • 使用 Netsh.exe 命令將 DirectAccess 伺服器群組原則物件 (GPO) 中的內部網路通道規則設定為需要健康情況憑證。

請參閱針對 NAP 設定 DirectAccess 連線安全規則以了解詳細步驟。

如果使用 Netsh.exe 來自訂 DirectAccess 連線安全性規則,則當您下次套用 DirectAccess 安裝精靈設定時會覆寫變更內容。為了確保維持自訂設定,您應該停止使用 DirectAccess 安裝精靈來變更設定,或是將自訂變更清單編譯在指令碼中,然後在每次套用 DirectAccess 安裝精靈設定之後執行此指令碼。

運作方式

下列程序描述當 HRA 和補救伺服器只位於內部網路上時,DirectAccess 與 NAP 對 DirectAccess 用戶端而言如何運作:

  1. 當 DirectAccess 用戶端啟動並嘗試以電腦帳戶登入 AD 網域時,此用戶端會使用電腦憑證建立基礎結構通道。[基礎結構通道]
  2. 當 NAP 代理程式啟動時,DirectAccess 用戶端會解析已設定 HRA 統一資源定位器 (URL) 的完整網域名稱 (FQDN),使用其電腦憑證建立管理通道,然後將目前的健康狀態資訊傳送到 HRA。[管理通道]
  3. HRA 將 DirectAccess 用戶端的健康狀態資訊傳送到 NAP 健康原則伺服器。[內部網路流量]
  4. NAP 健康原則伺服器評估 DirectAccess 用戶端的健康狀態資訊,確定用戶端是否合格,然後將結果傳送給 HRA。[內部網路流量]
  5. HRA 將健康情況評估結果傳送給 DirectAccess 用戶端。[管理通道]
  6. 如果是合格的健康狀態,HRA 會從 NAP CA 取得健康情況憑證,然後傳送到 DirectAccess 用戶端。[管理通道]
  7. 當 DirectAccess 用戶端嘗試存取內部網路上的資源時,會先使用健康情況憑證建立內部網路通道。[內部網路通道]

如果 DirectAccess 用戶端不合格:

  1. HRA 將健康情況評估結果傳送給 DirectAccess 用戶端,其中包含健康補救指示,而且不會取得健康情況憑證。[管理通道]
  2. 視安裝的健康情況評估元件而定,DirectAccess 用戶端可能需要存取補救伺服器來修正健康狀態。若是如此,DirectAccess 用戶端會將更新要求傳送到適當的補救伺服器。[管理通道]
  3. 補救伺服器為 DirectAccess 用戶端提供必要設定或更新,以便符合系統健康情況需求。[管理通道]
  4. DirectAccess 用戶端將更新的健康狀態資訊傳送到 HRA。[管理通道]
  5. HRA 將更新的健康狀態資訊傳送到 NAP 健康原則伺服器。假設已經完成所有必要的更新,NAP 健康原則伺服器會確定 DirectAccess 用戶端已合格,然後將結果傳送到 HRA。[內部網路流量]
  6. HRA 從 NAP CA 取得健康情況憑證。[內部網路流量]
  7. HRA 將健康情況憑證傳送給 DirectAccess 用戶端。[管理通道]
  8. 當 DirectAccess 用戶端嘗試存取內部網路上的資源時,會使用健康情況憑證建立內部網路通道。[內部網路通道]

網際網路上的 HRA 與補救伺服器

當 HRA 與補救伺服器只位於網際網路上時,DirectAccess 用戶端永遠可存取它們,而系統健康情況驗證會獨立於 DirectAccess 通道執行。

[圖 2] 顯示 HRA 和補救伺服器只位於網際網路上時的設定。如需有關此設定的詳細資訊,請參閱 2009 年 6 月份的《Cable Guy》文章<網際網路上的 NAP>。

Figure 2  DirectAccess with NAP when the HRAs and remediation servers are on the Internet.

[圖 2] HRA 和補救伺服器位於網際網路上時的 DirectAccess with NAP。

在完全強制模式中,DirectAccess 用戶端需要健康情況憑證以連至「任何」內部網路資源,但管理伺服器例外,它可能需要使用管理伺服器才能從內部網路遠端管理或支援不合格的 DirectAccess 用戶端。因此,要求健康情況憑證適用於基礎結構、內部網路及管理 (選擇性) 通道的連線安全性規則。

設定步驟

若要在 HRA 與補救伺服器位於網際網路的情況下設定 DirectAccess 與 NAP,您必須變更 DirectAccess 伺服器 GPO 中的基礎結構、內部網路及管理通道規則,以便使用 Netsh.exe 命令要求健康情況憑證。

下列命令根據 Windows Server 2008 R2 中的 DirectAccess 安裝精靈的設定,使用 GPO 與連線安全性規則的預設名稱:

  1. 在系統管理員層級的命令提示字元中,執行 netsh –c advfirewall 命令。
  2. 在 netsh advfirewall 提示中,執行下列命令:

 

set store gpo="DomainName\DirectAccess Policy-{ab991ef0-6fa9-4bd9-bc42-3c397e8ad300}"

consec set rule "DirectAccess Policy-DaServerToDnsDC" new auth1=computercert auth1ca=CANameString auth1healthcert=yes applyauthz=yes

consec set rule "DirectAccess Policy-DaServerToCorp" new auth1=computercert auth1ca=CANameString auth1healthcert=yes applyauthz=yes

consec set rule "DirectAccess Policy-DaServerToMgmt" new auth1=computercert auth1ca=CANameString auth1healthcert=yes applyauthz=yes

附註:DomainName 是 AD DS 網域的 FQDN。CANameString 是 consec show rule name=“DirectAccess Policy-DaServerToCorp” 命令中 Auth1CAName 欄位的值。

只有當您已經定義管理伺服器,而且想要防止不合格的 DirectAccess 用戶端存取這些伺服器時,才執行最後一個命令。

運作方式

下列程序描述當 HRA 和補救伺服器只位於網際網路上時,DirectAccess 與 NAP 對 DirectAccess 用戶端而言如何運作:

  1. 當 DirectAccess 用戶端啟動時,它嘗試以電腦帳戶登入 AD DS 網域,並建立基礎結構通道。由於 DirectAccess 用戶端沒有健康情況憑證,因此嘗試失敗。[網際網路流量]
  2. 當 NAP 代理程式啟動時,DirectAccess 用戶端解析 HRA URL 的 FQDN ,然後將目前的健康狀態資訊傳送到網際網路上的 HRA。[網際網路流量]
  3. HRA 將 DirectAccess 用戶端的健康狀態資訊傳送到 NAP 健康原則伺服器。[內部網路流量]
  4. NAP 健康原則伺服器評估 DirectAccess 用戶端的健康狀態資訊,確定用戶端是否合格,然後將結果傳送給 HRA。[內部網路流量]
  5. HRA 將健康情況評估結果傳送給 DirectAccess 用戶端。[網際網路流量]
  6. 如果是合格的健康狀態,HRA 會從 NAP CA 取得健康情況憑證,然後傳送到 DirectAccess 用戶端。[網際網路流量]
  7. DirectAccess 用戶端電腦下一次嘗試以電腦帳戶登入 AD DS 網域或解析內部網路 FQDN 時,會先使用健康情況憑證建立基礎結構通道。[基礎結構通道]
  8. 當 DirectAccess 用戶端需要存取內部網路上的資源時,會先使用健康情況憑證建立內部網路通道。[內部網路通道]

如果 DirectAccess 用戶端不合格:

  1. HRA 將健康情況評估結果傳送給 DirectAccess 用戶端,其中包含健康補救指示,而且不會取得健康情況憑證。[網際網路流量]
  2. 視安裝的健康情況評估元件而定,DirectAccess 用戶端可能需要存取補救伺服器來修正健康狀態。若是如此,DirectAccess 用戶端會將更新要求傳送到適當的補救伺服器。[網際網路流量]
  3. 補救伺服器為 DirectAccess 用戶端提供必要的設定或更新,以便符合系統健康情況需求。[網際網路流量]
  4. DirectAccess 用戶端將更新的健康狀態資訊傳送到 HRA。[網際網路流量]
  5. HRA 將更新的健康狀態資訊傳送到 NAP 健康原則伺服器。假設已經完成所有必要的更新,NAP 健康原則伺服器會確定 DirectAccess 用戶端已合格,然後將結果傳送到 HRA。[內部網路流量]
  6. HRA 從 NAP CA 取得健康情況憑證。[內部網路流量]
  7. HRA 將健康情況憑證傳送給 DirectAccess 用戶端。[網際網路流量]
  8. DirectAccess 用戶端電腦下一次嘗試以電腦帳戶登入 AD DS 網域或解析內部網路 FQDN 時,會先使用健康情況憑證建立基礎結構通道。[基礎結構通道]
  9. 當 DirectAccess 用戶端需要存取內部網路上的資源時,會使用健康情況憑證建立內部網路通道。[內部網路通道]

Joseph Davies在 Microsoft 的 Windows 網路寫作小組擔任技術主筆。Microsoft Press 發行了幾本由他著作以及與其他人合著的書籍,包括《Windows Server 2008 Networking and Network Access Protection (NAP)》、《Understanding IPv6, Second Edition》和《Windows Server 2008 TCP/IP Protocols and Services》。

相關內容: