保護網路控制卡

適用於:Azure Stack HCI 版本 22H2 和 21H2;Windows Server 2022、Windows Server 2019、Windows Server 2016

在本主題中,您將瞭解如何設定網路控制卡與其他軟體和裝置之間所有通訊的安全性。

您可以保護的通訊路徑包括管理平面上的北向 (Northbound) 通訊、叢集中網路控制卡虛擬機器 (VM) 之間的叢集通訊 ,以及資料平面上的南向 (Southbound) 通訊。

  1. 北向 (Northbound) 通訊。 網路控制卡會在管理平面上與支援 SDN 的管理軟體進行通訊,例如 Windows PowerShell 和 System Center Virtual Machine Manager (SCVMM)。 這些管理工具可讓您定義網路原則,並建立網路的目標狀態,因此您可以比較實際的網路組態,以讓實際設定與目標狀態同位。

  2. 網路控制卡叢集通訊。 當您將三個或多個 VM 設定為網路控制卡叢集節點時,這些節點會彼此通訊。 此通訊可能與跨節點同步處理及複寫資料,或與網路控制卡服務之間的特定通訊相關。

  3. 南向 (Southbound) 通訊。 網路控制卡會在資料平面上與 SDN 基礎結構和其他裝置進行通訊,例如軟體負載平衡器、閘道器和主機電腦。 您可以使用網路控制卡設定和管理這些南向 (Southbound) 裝置,讓裝置維持您為網路設定的目標狀態。

北向 (Northbound) 通訊

網路控制卡支援北向 (Northbound) 通訊的驗證、授權和加密。 下列各章節提供如何設定這些安全性設定的資訊。

驗證

當您設定網路控制站 Northbound 通訊的驗證時,允許網路控制站叢集節點和管理客戶端驗證其通訊所在裝置的身分識別。

網路控制卡支援下列三種管理用戶端與網路控制卡節點之間的驗證模式。

注意

如果您要使用 System Center Virtual Machine Manager 部署網路控制站,則僅支援 Kerberos 模式。

  1. Kerberos。 將管理用戶端和所有網路控制卡叢集節點加入 Active Directory 網域時,請使用 Kerberos 驗證。 Active Directory 網域必須具有用於驗證的網域帳戶。

  2. X509。 針對未加入 Active Directory 網域的管理用戶端,請使用 X509 進行憑證式驗證。 您必須向所有網路控制卡叢集節點和管理用戶端註冊憑證。 此外,所有節點和管理用戶端都必須信任彼此的憑證。

  3. None: None 用於在測試環境中進行測試,因此不建議在生產環境中使用。 當您選擇此模式時,節點與管理客戶端之間不會執行任何驗證。

您可以使用 Windows PowerShell 命令 Install-NetworkController 搭配 ClientAuthentication 參數來設定北向 (Northbound) 通訊的驗證模式。

授權

當您設定網路控制站 Northbound 通訊的授權時,允許網路控制站叢集節點和管理客戶端確認其通訊所使用的裝置受到信任,且有權參與通訊。

針對網路控制卡所支援的每個驗證模式,請使用下列授權方法。

  1. Kerberos。 當您使用 Kerberos 驗證方法時,您可以在 Active Directory 中建立安全組,然後將授權的使用者和電腦新增至群組,以定義授權與網路控制站通訊的使用者和計算機。 您可以使用 Install-NetworkController Windows PowerShell 命令的 ClientSecurityGroup 參數,將網路控制卡設為使用安全性群組進行授權。 安裝網路控制卡後,您可以使用 Set-NetworkController 命令搭配 -ClientSecurityGroup 參數來變更安全性群組。 如果使用 SCVMM,則您必須在部署期間提供安全性群組作為參數。

  2. X509。 當您使用 X509 驗證方法時,網路控制站只會接受來自網路控制站已知憑證指紋的管理用戶端的要求。 您可以使用 Install-NetworkController Windows PowerShell 命令的 ClientCertificateThumbprint 參數來設定這些指紋。 您可以使用 Set-NetworkController 命令隨時新增其他用戶端指紋。

  3. None: 當您選擇此模式時,節點與管理客戶端之間不會執行任何驗證。 None 用於在測試環境中進行測試,因此不建議在生產環境中使用。

加密

北向 (Northbound) 通訊使用安全通訊端層 (SSL),以在管理用戶端與網路控制卡節點之間建立加密通道。 北向 (Northbound) 通訊的 SSL 加密包含下列需求:

  • 所有網路控制卡節點都必須有相同的憑證,其中包含「增強金鑰使用方法 (EKU)」延伸中的「伺服器驗證」和「用戶端驗證」用途。

  • 管理用戶端用來與網路控制卡通訊的 URI 必須是憑證主體名稱。 憑證主體名稱必須包含完整網域名稱 (FQDN) 或網路控制卡 REST 端點的 IP 位址。

  • 如果網路控制卡節點位於不同的子網路上,其憑證的主體名稱必須與 Install-NetworkController Windows PowerShell 命令中 RestName 參數所使用的值相同。

  • 所有管理用戶端都必須信任 SSL 憑證。

SSL 憑證註冊和設定

您必須在網路控制卡節點上手動註冊 SSL 憑證。

註冊憑證後,您可以將網路控制卡設為使用憑證搭配 Install-NetworkController Windows PowerShell 命令的 -ServerCertificate 參數。 如果您已安裝網路控制卡,您可以隨時使用 Set-NetworkController 命令來更新設定。

注意

如果您使用 SCVMM,則必須將憑證新增為連結庫資源。 如需詳細資訊,請參閱在 VMM 網狀架構中設定 SDN 網路控制站

網路控制卡叢集通訊

網路控制卡支援網路控制卡節點之間通訊的驗證、授權和加密。 該通訊透過 Windows Communication Foundation (WCF) 和 TCP 進行。

您可以使用 Install-NetworkControllerCluster Windows PowerShell 命令的 ClusterAuthentication 參數來設定此模式。

如需詳細資訊,請參閱 Install-NetworkControllerCluster

驗證

當您設定網路控制站叢集通訊的驗證時,允許網路控制站叢集節點驗證其通訊所在其他節點的身分識別。

網路控制卡支援下列三種網路控制卡節點之間的驗證模式。

注意

如果您使用 SCVMM 部署網路控制卡,則僅支援 Kerberos 模式。

  1. Kerberos。 當所有網路控制卡叢集節點都加入 Active Directory 網域,並具有用於驗證的網域帳戶時,您便可以使用 Kerberos 驗證。

  2. X509。 X509 是憑證式驗證。 當網路控制卡叢集節點未加入 Active Directory 網域時,您可以使用 X509 驗證。 若要使用 X509,您必須向所有網路控制卡叢集節點註冊憑證,而且所有節點都必須信任憑證。 此外,在每個節點上註冊的憑證主體名稱,都必須與節點的 DNS 名稱相同。

  3. None: 當您選擇此模式時,網路控制站節點之間不會執行任何驗證。 此模式僅供測試之用,不建議用於生產環境。

授權

當您設定網路控制站叢集通訊的授權時,允許網路控制站叢集節點確認其通訊所使用的節點是受信任的,而且有權參與通訊。

針對網路控制卡所支援的每個驗證模式,則會使用下列授權方法。

  1. Kerberos。 網路控制卡節點只接受來自其他網路控制卡電腦帳戶的通訊要求。 當您使用 New-NetworkControllerNodeObject Windows PowerShell 命令的 Name 參數部署網路控制站時,您可以設定這些帳戶。

  2. X509。 網路控制卡節點只接受來自其他網路控制卡電腦帳戶的通訊要求。 當您使用 New-NetworkControllerNodeObject Windows PowerShell 命令的 Name 參數部署網路控制站時,您可以設定這些帳戶。

  3. None: 當您選擇此模式時,網路控制站節點之間不會執行任何授權。 此模式僅供測試之用,不建議用於生產環境。

加密

網路控制卡節點之間的通訊會使用 WCF 傳輸層級加密進行加密。 當驗證和授權方法為 Kerberos 或 X509 憑證時,便會使用此加密形式。 如需詳細資訊,請參閱下列主題。

南向 (Southbound) 通訊

網路控制卡會與不同類型的裝置互動,以進行南向 (Southbound) 通訊。 這些互動會使用不同通訊協定。 因此,取決於網路控制卡與裝置通訊的裝置和通訊協定類型,驗證、授權和加密都會有不同需求。

下表提供網路控制卡與不同南向 (Southbound) 裝置互動的相關資訊。

南向 (Southbound) 裝置/服務 通訊協定 使用的驗證
軟體負載平衡器 WCF (MUX)、TCP (主機) 憑證
防火牆 OVSDB 憑證
閘道 WinRM KERBEROS、憑證
虛擬網路 OVSDB、WCF 憑證
使用者定義路由 OVSDB 憑證

下一章節會逐一說明這些通訊協定的通訊機制。

驗證

針對南向 (Southbound) 通訊,將會使用下列通訊協定和驗證方法。

  1. WCF/TCP/OVSDB。 針對這些通訊協定,將會使用 X509 憑證執行驗證。 網路控制卡和對等軟體負載平衡 (SLB) Multixer (MUX)/主機電腦會彼此分享憑證以進行相互驗證。 每個憑證都必須受到遠端對等信任。

    針對南向 (Southbound) 驗證,您可以使用與加密北向 (Northbound) 用戶端通訊相同的 SSL 憑證。 您也必須在 SLB MUX 和主機裝置上設定憑證。 憑證主體名稱必須與裝置的 DNS 名稱相同。

  2. WinRM。 針對此通訊協定,驗證將分別採 Kerberos (適用於網域加入機器),以及採驗證 (適用於非網域加入機器) 方式進行。

授權

針對南向 (Southbound) 通訊,將會使用下列通訊協定和驗證方法。

  1. WCF/TCP。 針對這些通訊協定,授權將依據對等實體的主體名稱。 網路控制卡會儲存對等裝置 DNS 名稱,並將其用於授權。 此 DNS 名稱必須符合憑證中裝置的主體名稱。 同樣地,網路控制卡憑證必須符合儲存在對等裝置上的網路控制卡 DNS 名稱。

  2. WinRM。 如果使用 Kerberos,WinRM 用戶端帳戶必須存在於 Active Directory 中預先定義的群組,或是伺服器上的本機系統管理員群組。 如果使用憑證,用戶端會將憑證分享給使用主體名稱/簽發者授權的伺服器,而伺服器會使用對應的使用者帳戶來執行驗證。

  3. OVSDB。 授權是以對等實體的主體名稱為基礎。 網路控制站會儲存對等裝置 DNS 名稱,並將其用於授權。 此 DNS 名稱必須符合憑證中裝置的主體名稱。

加密

針對南向 (Southbound) 通訊,通訊協定會使用下列加密方法。

  1. WCF/TCP/OVSDB。 針對這些通訊協定,將會使用用戶端或伺服器上註冊的憑證來執行加密。

  2. WinRM。 WinRM 流量預設會使用 Kerberos 安全性支援提供者 (SSP) 進行加密。 您可以在 WinRM 伺服器上以 SSL 形式設定額外的加密。