保護網路控制卡
適用於:Azure Local 2311.2 和更新版本;Windows Server 2022、Windows Server 2019、Windows Server 2016
本文說明如何設定網路控制站與其他軟體和裝置之間所有通訊的安全性。
您可以保護的通訊路徑包括管理平面上的 Northbound 通訊、叢集中網路控制卡虛擬機器 (VM) 之間的叢集通訊,以及資料平面上的 Southbound 通訊。
北向通訊。 網路控制卡會在管理平面上與支援 SDN 的管理軟體通訊,例如 Windows PowerShell 和 System Center Virtual Machine Manager (SCVMM)。 這些管理工具可讓您定義網路原則,並建立網路的目標狀態,您可以比較實際的網路組態,讓實際組態與目標狀態相符。
網路控制卡叢集通訊。 當您將三個以上的 VM 設定為網路控制卡叢集節點時,這些節點會彼此通訊。 此通訊可能與跨節點同步處理和資料複寫,或是網路控制卡服務之間的特定通訊有關。
Southbound Communication。 網路控制卡會在資料平面上與 SDN 基礎結構和其他裝置進行通訊,例如軟體負載平衡器、閘道和主機電腦。 您可以使用網路控制卡來設定及管理這些 Southbound 裝置,使其維持您為網路設定的目標狀態。
北向通訊
網路控制卡支援 Northbound 通訊的驗證、授權和加密。 下列各節提供如何設定這些安全性設定的資訊。
驗證
當您為網路控制器的北向通訊設定驗證時,您就可以允許網路控制器集群節點和管理客戶端驗證與其通信裝置的身分。
網路控制卡支援下列三種管理用戶端與網路控制卡節點之間的驗證模式。
注意
如果您要使用 System Center Virtual Machine Manager 部署網路控制站,則僅 支援 Kerberos 模式。
Kerberos。 將管理用戶端和所有網路控制卡叢集節點都加入 Active Directory 網域時,請使用 Kerberos 驗證。 Active Directory 網域必須有用於驗證的網域帳戶。
X509。 針對未加入 Active Directory 網域的管理用戶端,使用 X509 進行憑證式驗證。 您必須向所有網路控制卡叢集節點和管理用戶端註冊憑證。 此外,所有節點和管理用戶端都必須信任彼此的憑證。
None: 使用 "None" 值是為了滿足測試環境中的測試用途,所以不建議在生產環境中使用。 當您選擇此模式時,節點與管理客戶端之間不會執行驗證。
您可以使用 Windows PowerShell 命令 Install-NetworkController 搭配 ClientAuthentication 參數來設定 Northbound 通訊的 [驗證] 模式。
授權
當您設定網路控制站 Northbound 通訊的授權時,允許網路控制站叢集節點和管理客戶端驗證其通訊的裝置是否受信任,且有權參與通訊。
針對網路控制卡所支援的每個驗證模式,使用下列授權方法。
Kerberos。 當您使用 Kerberos 驗證方法時,您會在 Active Directory 中建立安全組,然後將授權的使用者和電腦新增至群組,以定義授權與網路控制站通訊的使用者和計算機。 您可以使用 ClientSecurityGroup 參數 (屬於 Install-NetworkController Windows PowerShell 命令) ,將網路控制卡設定為使用安全性群組進行授權。 安裝網路控制卡之後,您可以使用 Set-NetworkController 命令搭配參數 -ClientSecurityGroup 來變更安全性群組。 如果使用 SCVMM,您必須在部署期間提供安全性群組作為參數。
X509。 當您使用 X509 驗證方法時,網路控制站只會接受來自網路控制站已知其憑證指紋的管理用戶端的要求。 您可以使用 ClientCertificateThumbprint 參數 (屬於 Install-NetworkController Windows PowerShell 命令) 來設定這些指紋。 您可以使用 Set-NetworkController 命令隨時新增其他用戶端指紋。
None: 當您選擇此模式時,節點與管理客戶端之間不會執行驗證。 在測試環境中使用 None 以進行測試用途,因此不建議在生產環境中使用。
加密
Northbound 通訊會使用安全通訊端層 (SSL) 在管理用戶端與網路控制卡節點之間建立加密通道。 Northbound 通訊的 SSL 加密包含下列需求:
所有網路控制卡節點都必須有相同的憑證,其中包含 [增強金鑰使用方法] (EKU) 擴充功能中的 [伺服器驗證] 和 [用戶端驗證] 用途。
管理用戶端用來與網路控制卡通訊的 URI 必須是憑證主體名稱。 憑證主體名稱必須包含完整網域名稱 (FQDN) 或網路控制卡 REST 端點的 IP 位址。
如果網路控制卡節點位於不同的子網路上,其憑證的主體名稱必須與 RestName 參數 (屬於Install-NetworkController Windows PowerShell 命令) 所使用的值相同。
所有管理用戶端都必須信任 SSL 憑證。
SSL 憑證註冊和設定
您必須在網路控制卡節點上手動註冊 SSL 憑證。
註冊憑證之後,您可以設定網路控制卡搭配 -ServerCertificate 參數 (屬於 Install-NetworkController Windows PowerShell 命令) 來使用憑證。 如果您已安裝網路控制卡,您可以使用 Set-NetworkController 命令隨時更新設定。
注意
如果您使用 SCVMM,您必須將憑證新增為連結庫資源。 如需詳細資訊,請參閱 在 VMM 網狀架構中設定 SDN 網路控制卡。
網路控制卡叢集通訊
網路控制卡支援網路控制卡節點之間通訊的驗證、授權和加密。 通訊是透過 Windows Communication Foundation (WCF) 和 TCP 進行。
您可以使用 ClusterAuthentication 参數 (屬於 Install-NetworkControllerCluster Windows PowerShell 命令) 來設定此模式。
如需詳細資訊,請參閱 Install-NetworkControllerCluster。
驗證
當您設定網路控制站叢集通訊的驗證時,允許網路控制站叢集節點驗證其通訊之其他節點的身分識別。
網路控制卡支援下列三種網路控制卡節點之間的驗證模式。
注意
如果您使用 SCVMM 部署網路控制卡,則僅支援 Kerberos 模式。
Kerberos。 當所有網路控制卡叢集節點都加入 Active Directory 網域時,您可以使用 Kerberos 驗證,搭配用於驗證的網域帳戶。
X509。 X509 是憑證型驗證。 當網路控制卡叢集節點未加入 Active Directory 網域時,您可以使用 X509 驗證。 若要使用 X509,您必須向所有網路控制卡叢集節點註冊憑證,而且所有節點都必須信任憑證。 此外,每個節點上註冊之憑證的主體名稱必須與節點的 DNS 名稱相同。
None: 當您選擇此模式時,網路控制站節點之間不會執行驗證。 此模式僅供測試之用,不建議在生產環境中使用。
授權
當您設定網路控制站叢集通訊的授權時,允許網路控制站叢集節點確認其通訊的節點是否受信任,並具有參與通訊的許可權。
針對網路控制卡所支援的每個驗證模式,會使用下列授權方法。
Kerberos。 網路控制卡節點只接受來自其他網路控制卡電腦帳戶的通訊要求。 您可以在部署網路控制卡時,使用 Name 參數 (屬於 New-NetworkControllerNodeObject Windows PowerShell 命令) 來設定這些帳戶。
X509。 網路控制卡節點只接受來自其他網路控制卡電腦帳戶的通訊要求。 您可以在部署網路控制卡時,使用 Name 參數 (屬於 New-NetworkControllerNodeObject Windows PowerShell 命令) 來設定這些帳戶。
None: 當您選擇此模式時,網路控制站節點之間不會執行任何授權。 此模式僅供測試之用,不建議在生產環境中使用。
加密
網路控制卡節點之間的通訊會使用 WCF 傳輸層級加密進行加密。 當驗證和授權方法為 Kerberos 或 X509 憑證時,會使用這種形式的加密。 如需詳細資訊,請參閱下列主題。
南向通訊
網路控制卡會與不同類型的裝置互動,以進行 Southbound 通訊。 這些互動會使用不同的通訊協定。 因此,根據網路控制卡用來與裝置通訊的裝置和通訊協定類型,會有不同的驗證、授權和加密需求。
下表提供網路控制卡與不同 Southbound 裝置互動的相關資訊。
Southbound 裝置/服務 | 通訊協定 | 已使用的驗證 |
---|---|---|
軟體負載平衡器 | WCF (MUX)、TCP (主機) | 憑證 |
防火牆 | OVSDB | 憑證 |
閘道 | WinRM | Kerberos、憑證 |
虛擬網路 | OVSDB、WCF | 憑證 |
使用者定義的路由 | OVSDB | 憑證 |
針對各個通訊協定的通訊機制,會在下一節中說明。
驗證
針對 Southbound 通訊,會使用下列通訊協定和驗證方法。
WCF/TCP/OVSDB。 針對這些通訊協定,會使用 X509 憑證來執行驗證。 網路控制器和對等軟體負載平衡 (SLB) 多工器 (MUX)/主機電腦都會向彼此出示其憑證,以進行相互驗證。 每個憑證都必須由遠端對等個體所信任。
針對南向驗證,您可以使用相同的 SSL 憑證,該憑證已配置用於加密與北向用戶端通信。 您也必須在 SLB MUX 和主機裝置上設定憑證。 憑證主體名稱必須與裝置的 DNS 名稱相同。
WinRM。 針對此通訊協定,驗證是使用 Kerberos 執行 (針對已加入網域的電腦) 以及使用憑證執行 (針對未加入網域的電腦)。
授權
針對 Southbound 通訊,會使用下列通訊協定和授權方法。
WCF/TCP。 針對這些通訊協定,授權是以對等實體的主體名稱為基礎。 網路控制卡會儲存對等裝置 DNS 名稱,並將其用於授權。 此 DNS 名稱必須與憑證中裝置的主體名稱相符。 同樣地,網路控制卡憑證必須符合儲存在對等裝置上的網路控制卡 DNS 名稱。
WinRM。 如果使用 Kerberos,WinRM 用戶端帳戶必須存在於 Active Directory 的預先定義群組或伺服器上的 [本機管理員] 群組。 如果使用憑證,用戶端會將憑證出示給伺服器,其中伺服器使用主體名稱/簽發者來授權,而伺服器會使用對應的使用者帳戶來執行驗證。
OVSDB。 授權是以對等實體的主體名稱為基礎。 網路控制站會儲存對等裝置 DNS 名稱,並將其用於授權。 此 DNS 名稱必須與憑證中裝置的主體名稱相符。
加密
針對 Southbound 通訊,下列加密方法會用於通訊協定。
WCF/TCP/OVSDB。 針對這些通訊協定,會使用在用戶端或伺服器上註冊的憑證來執行加密。
WinRM。 WinRM 流量預設會使用 Kerberos 安全性支援提供者 (SSP) 加密。 您可以在 WinRM 伺服器上以 SSL 形式設定其他加密。