ネットワーク コントローラーをセキュリティで保護するSecure the Network Controller

適用先:Windows Server 2019、Windows Server 2016Applies to: Windows Server 2019, Windows Server 2016

このトピックでは、 ネットワークコントローラー とその他のソフトウェアおよびデバイス間のすべての通信のセキュリティを構成する方法について説明します。In this topic, you learn how to configure security for all communication between Network Controller and other software and devices.

セキュリティで保護できる通信パスには、管理プレーンでの Northbound 通信、クラスター内のネットワークコントローラー仮想マシン vm 間のクラスター通信、 ( ) およびデータプレーンでの通信の Southbound が含まれます。The communication paths that you can secure include Northbound communication on the management plane, cluster communication between Network Controller virtual machines (VMs) in a cluster, and Southbound communication on the data plane.

  1. Northbound 通信Northbound Communication. ネットワークコントローラーは、管理プレーンと、 - Windows PowerShell や System Center Virtual Machine Manager SCVMM などの SDN 対応管理ソフトウェアとの通信を ( ) 行います。Network Controller communicates on the management plane with SDN-capable management software like Windows PowerShell and System Center Virtual Machine Manager (SCVMM). これらの管理ツールを使用すると、ネットワークポリシーを定義し、ネットワークの目標状態を作成することができます。これにより、実際のネットワーク構成を比較して、実際の構成を目標の状態でパリティにすることができます。These management tools provide you with the ability to define network policy and to create a goal state for the network, against which you can compare the actual network configuration to bring the actual configuration into parity with the goal state.

  2. ネットワークコントローラーのクラスター通信Network Controller Cluster Communication. 3つ以上の Vm をネットワークコントローラークラスターノードとして構成すると、これらのノードは相互に通信します。When you configure three or more VMs as Network Controller cluster nodes, these nodes communicate with each other. この通信は、ノード間でのデータの同期とレプリケーション、またはネットワークコントローラーサービス間の特定の通信に関連している場合があります。This communication might be related to synchronizing and replication of data across nodes, or specific communication between Network Controller services.

  3. Southbound 通信Southbound Communication. ネットワークコントローラーは、データプレーンと SDN インフラストラクチャ、およびソフトウェアロードバランサー、ゲートウェイ、ホストコンピューターなどの他のデバイスと通信します。Network Controller communicates on the data plane with SDN infrastructure and other devices like software load balancers, gateways, and host machines. ネットワークコントローラーを使用して、これらの southbound デバイスを構成および管理し、ネットワーク用に構成した目標の状態を維持することができます。You can use Network Controller to configure and manage these southbound devices so that they maintain the goal state that you have configured for the network.

Northbound 通信Northbound Communication

ネットワークコントローラーは、Northbound 通信の認証、承認、および暗号化をサポートしています。Network Controller supports authentication, authorization, and encryption for Northbound communication. 以下のセクションでは、これらのセキュリティ設定を構成する方法について説明します。The following sections provide information on how to configure these security settings.

認証Authentication

ネットワークコントローラーの Northbound 通信の認証を構成すると、ネットワークコントローラーのクラスターノードと管理クライアントは、通信しているデバイスの id を確認できます。When you configure authentication for Network Controller Northbound communication, you allow Network Controller cluster nodes and management clients to verify the identity of the device with which they are communicating.

ネットワークコントローラーは、管理クライアントとネットワークコントローラーのノード間で、次の3つの認証モードをサポートしています。Network Controller supports the following three modes of authentication between management clients and Network Controller nodes.

注意

System Center Virtual Machine Manager を使用してネットワークコントローラーを展開する場合は、 Kerberos モードのみがサポートされます。If you are deploying Network Controller with System Center Virtual Machine Manager, only Kerberos mode is supported.

  1. KerberosKerberos. 管理クライアントとすべてのネットワークコントローラークラスターノードを Active Directory ドメインに参加させる場合は、Kerberos 認証を使用します。Use Kerberos authentication when joining both the management client and all Network Controller cluster nodes to an Active Directory domain. Active Directory ドメインには、認証に使用するドメインアカウントが必要です。The Active Directory domain must have domain accounts used for authentication.

  2. X509X509. -Active Directory ドメインに参加していない管理クライアントに対しては、証明書ベースの認証に X509 を使用します。Use X509 for certificate-based authentication for management clients not joined to an Active Directory domain. すべてのネットワークコントローラークラスターノードと管理クライアントに証明書を登録する必要があります。You must enroll certificates to all Network Controller cluster nodes and management clients. また、すべてのノードと管理クライアントは、他のすべての証明書を信頼する必要があります。Also, all nodes and management clients must trust each others' certificates.

  3. なしNone. テスト環境でテスト目的には None を使用するため、運用環境では使用しないことをお勧めします。Use None for testing purposes in a test environment and, therefore, not recommended for use in a production environment. このモードを選択した場合、ノードと管理クライアントの間で認証は実行されません。When you choose this mode, there is no authentication performed between nodes and management clients.

Northbound 通信の認証モードを構成するには、Windows PowerShell コマンド NetworkControllerclientauthentication パラメーターを使用します。You can configure the Authentication mode for Northbound communication by using the Windows PowerShell command Install-NetworkController with the ClientAuthentication parameter.

承認Authorization

ネットワークコントローラーの Northbound 通信の承認を構成すると、ネットワークコントローラーのクラスターノードと管理クライアントは、通信しているデバイスが信頼されており、通信に参加するためのアクセス許可を持っていることを確認できます。When you configure authorization for Network Controller Northbound communication, you allow Network Controller cluster nodes and management clients to verify that the device with which they are communicating is trusted and has permission to participate in the communication.

ネットワークコントローラーでサポートされている各認証モードには、次の承認方法を使用します。Use the following authorization methods for each of the authentication modes supported by Network Controller.

  1. KerberosKerberos. Kerberos 認証方法を使用する場合は、Active Directory でセキュリティグループを作成してから、承認されたユーザーとコンピューターをグループに追加することによって、ネットワークコントローラーとの通信を許可するユーザーとコンピューターを定義します。When you are using the Kerberos authentication method, you define the users and computers authorized to communicate with Network Controller by creating a security group in Active Directory, and then adding the authorized users and computers to the group. NetworkController Windows PowerShell コマンドの ClientSecurityGroup パラメーターを使用して、認証にセキュリティグループを使用するようにネットワークコントローラーを構成できます。You can configure Network Controller to use the security group for authorization by using the ClientSecurityGroup parameter of the Install-NetworkController Windows PowerShell command. ネットワークコントローラーをインストールした後、 NetworkController コマンドと -ClientSecurityGroup パラメーターを使用して、セキュリティグループを変更できます。After installing the Network Controller, you can change the security group by using the Set-NetworkController command with the parameter -ClientSecurityGroup. SCVMM を使用する場合は、デプロイ時にパラメーターとしてセキュリティグループを指定する必要があります。If using SCVMM, you must provide the security group as a parameter during deployment.

  2. X509X509. X509 認証方法を使用している場合、ネットワークコントローラーは、証明書の拇印がネットワークコントローラーに認識されている管理クライアントからの要求のみを受け入れます。When you are using the X509 authentication method, Network Controller only accepts requests from management clients whose certificate thumbprints are known to Network Controller. これらの拇印は、 NetworkController Windows PowerShell コマンドの clientcertificatethumbprint パラメーターを使用して構成できます。You can configure these thumbprints by using the ClientCertificateThumbprint parameter of the Install-NetworkController Windows PowerShell command. NetworkController コマンドを使用して、いつでも他のクライアントの拇印を追加できます。You can add other client thumbprints at any time by using the Set-NetworkController command.

  3. なしNone. このモードを選択した場合、ノードと管理クライアントの間で認証は実行されません。When you choose this mode, there is no authentication performed between nodes and management clients. テスト環境でテスト目的には None を使用するため、運用環境では使用しないことをお勧めします。Use None for testing purposes in a test environment and, therefore, not recommended for use in a production environment.

暗号化Encryption

Northbound 通信では Secure Sockets Layer ( SSL を使用し ) て、管理クライアントとネットワークコントローラーノードの間に暗号化されたチャネルを作成します。Northbound communication uses Secure Sockets Layer (SSL) to create an encrypted channel between management clients and Network Controller nodes. Northbound 通信の SSL 暗号化には、次の要件があります。SSL encryption for Northbound communication includes the following requirements:

  • すべてのネットワークコントローラーノードには、拡張キー使用法 EKU 拡張でのサーバー認証とクライアント認証を含む、同一の証明書が必要です ( ) 。All Network Controller nodes must have an identical certificate that includes the Server Authentication and Client Authentication purposes in Enhanced Key Usage (EKU) extensions.

  • ネットワークコントローラーとの通信に管理クライアントが使用する URI は、証明書のサブジェクト名である必要があります。The URI used by management clients to communicate with Network Controller must be the certificate subject name. 証明書のサブジェクト名には、完全修飾ドメイン名 (FQDN) またはネットワークコントローラー REST エンドポイントの IP アドレスのいずれかが含まれている必要があります。The certificate subject name must contain either the Fully Qualified Domain Name (FQDN) or the IP address of the Network Controller REST Endpoint.

  • ネットワークコントローラーノードが異なるサブネット上にある場合、証明書のサブジェクト名は、 NetworkController Windows PowerShell コマンドの た restname パラメーターに使用されている値と同じである必要があります。If Network Controller nodes are on different subnets, the subject name of their certificates must be the same as the value used for the RestName parameter in the Install-NetworkController Windows PowerShell command.

  • すべての管理クライアントは、SSL 証明書を信頼する必要があります。All of the management clients must trust the SSL certificate.

SSL 証明書の登録と構成SSL Certificate Enrollment and Configuration

SSL 証明書は、ネットワークコントローラーのノードに手動で登録する必要があります。You must manually enroll the SSL certificate on Network Controller nodes.

証明書が登録されたら、 NetworkController Windows PowerShell コマンドの -servercertificate パラメーターで証明書を使用するようにネットワークコントローラーを構成できます。After the certificate is enrolled, you can configure Network Controller to use the certificate with the -ServerCertificate parameter of the Install-NetworkController Windows PowerShell command. ネットワークコントローラーを既にインストールしている場合は、 NetworkController コマンドを使用して、いつでも構成を更新できます。If you have already installed Network Controller, you can update the configuration at any time by using the Set-NetworkController command.

注意

SCVMM を使用している場合は、証明書をライブラリリソースとして追加する必要があります。If you are using SCVMM, you must add the certificate as a library resource. 詳細については、「 VMM ファブリックでの SDN ネットワークコントローラーのセットアップ」を参照してください。For more information, see Set up an SDN network controller in the VMM fabric.

ネットワークコントローラーのクラスター通信Network Controller Cluster Communication

ネットワークコントローラーは、ネットワークコントローラーノード間の通信の認証、承認、および暗号化をサポートしています。Network Controller supports authentication, authorization, and encryption for communication between Network Controller nodes. 通信は Windows Communication Foundation ( WCF と TCP を経由し ) ます。The communication is over Windows Communication Foundation (WCF) and TCP.

このモードは、 NetworkControllerCluster Windows PowerShell コマンドの clusterauthentication パラメーターを使用して構成できます。You can configure this mode with the ClusterAuthentication parameter of the Install-NetworkControllerCluster Windows PowerShell command.

詳細については、「 NetworkControllerCluster」を参照してください。For more information, see Install-NetworkControllerCluster.

認証Authentication

ネットワークコントローラークラスター通信の認証を構成すると、ネットワークコントローラークラスターノードは、通信している他のノードの id を確認できるようになります。When you configure authentication for Network Controller Cluster communication, you allow Network Controller cluster nodes to verify the identity of the other nodes with which they are communicating.

ネットワークコントローラーは、ネットワークコントローラーノード間で次の3つの認証モードをサポートしています。Network Controller supports the following three modes of authentication between Network Controller nodes.

注意

SCVMM を使用してネットワークコントローラーを展開する場合、 Kerberos モードのみがサポートされます。If you deploy Network Controller by using SCVMM, only Kerberos mode is supported.

  1. KerberosKerberos. 認証に使用されるドメインアカウントを使用して、すべてのネットワークコントローラークラスターノードが Active Directory ドメインに参加している場合は、Kerberos 認証を使用できます。You can use Kerberos authentication when all Network Controller cluster nodes are joined to an Active Directory domain, with domain accounts used for authentication.

  2. X509X509. X509 は証明書 - ベースの認証です。X509 is certificate-based authentication. ネットワークコントローラーのクラスターノードが Active Directory ドメインに参加していない場合は、X509 認証を使用できます。You can use X509 authentication when Network Controller cluster nodes are not joined to an Active Directory domain. X509 を使用するには、すべてのネットワークコントローラークラスターノードに証明書を登録する必要があります。また、すべてのノードが証明書を信頼する必要があります。To use X509, you must enroll certificates to all Network Controller cluster nodes, and all nodes must trust the certificates. また、各ノードに登録されている証明書のサブジェクト名は、ノードの DNS 名と同じである必要があります。In addition, the subject name of the certificate that is enrolled on each node must be the same as the DNS name of the node.

  3. なしNone. このモードを選択すると、ネットワークコントローラーノード間で認証は実行されません。When you choose this mode, there is no authentication performed between Network Controller nodes. このモードはテスト目的でのみ提供されており、運用環境での使用は推奨されていません。This mode is provided only for testing purposes, and is not recommended for use in a production environment.

承認Authorization

ネットワークコントローラークラスター通信の承認を構成すると、ネットワークコントローラークラスターノードは、通信しているノードが信頼されていること、および通信に参加するためのアクセス許可を持っていることを確認できるようになります。When you configure authorization for Network Controller Cluster communication, you allow Network Controller cluster nodes to verify that the nodes with which they are communicating are trusted and have permission to participate in the communication.

ネットワークコントローラーでサポートされている各認証モードについて、次の承認方法が使用されます。For each of the authentication modes supported by Network Controller, the following authorization methods are used.

  1. KerberosKerberos. ネットワークコントローラーのノードは、他のネットワークコントローラーのコンピューターアカウントからの通信要求のみを受け入れます。Network Controller nodes accept communication requests only from other Network Controller machine accounts. NetworkControllerNodeObject Windows PowerShell コマンドの Name パラメーターを使用して、ネットワークコントローラーを展開するときにこれらのアカウントを構成できます。You can configure these accounts when you deploy Network Controller by using the Name parameter of the New-NetworkControllerNodeObject Windows PowerShell command.

  2. X509X509. ネットワークコントローラーのノードは、他のネットワークコントローラーのコンピューターアカウントからの通信要求のみを受け入れます。Network Controller nodes accept communication requests only from other Network Controller machine accounts. NetworkControllerNodeObject Windows PowerShell コマンドの Name パラメーターを使用して、ネットワークコントローラーを展開するときにこれらのアカウントを構成できます。You can configure these accounts when you deploy Network Controller by using the Name parameter of the New-NetworkControllerNodeObject Windows PowerShell command.

  3. なしNone. このモードを選択した場合、ネットワークコントローラーノード間で承認は実行されません。When you choose this mode, there is no authorization performed between Network Controller nodes. このモードはテスト目的でのみ提供されており、運用環境での使用は推奨されていません。This mode is provided only for testing purposes, and is not recommended for use in a production environment.

暗号化Encryption

ネットワークコントローラーノード間の通信は、WCF トランスポートレベルの暗号化を使用して暗号化されます。Communication between Network Controller nodes is encrypted using WCF Transport level encryption. この形式の暗号化は、認証と承認の方法が Kerberos 証明書または X509 証明書のいずれかである場合に使用されます。This form of encryption is used when the authentication and authorization methods are either Kerberos or X509 certificates. 詳細については、次の各トピックを参照してください。For more information, see the following topics.

Southbound 通信Southbound Communication

ネットワークコントローラーは、Southbound 通信用にさまざまな種類のデバイスと対話します。Network Controller interacts with different types of devices for Southbound communication. これらの相互作用は異なるプロトコルを使用します。These interactions use different protocols. このため、デバイスとの通信にネットワークコントローラーが使用するデバイスとプロトコルの種類に応じて、認証、承認、および暗号化に関するさまざまな要件があります。Because of this, there are different requirements for authentication, authorization, and encryption depending on the type of device and protocol used by Network Controller to communicate with the device.

次の表は、さまざまな southbound デバイスとのネットワークコントローラーの相互作用に関する情報を示しています。The following table provides information about Network Controller interaction with different southbound devices.

Southbound デバイス/サービスSouthbound device/service プロトコルProtocol 使用される認証Authentication used
ソフトウェア ロード バランサーSoftware Load Balancer WCF (MUX)、TCP (ホスト)WCF (MUX), TCP (Host) 証明書Certificates
ファイアウォールFirewall OVSDBOVSDB 証明書Certificates
GatewayGateway WinRMWinRM Kerberos、証明書Kerberos, Certificates
仮想ネットワークVirtual Networking [すべての]、[WCF]OVSDB, WCF 証明書Certificates
ユーザー定義ルーティングUser defined routing OVSDBOVSDB 証明書Certificates

これらのプロトコルごとに、次のセクションで通信メカニズムについて説明します。For each of these protocols, the communication mechanism is described in the following section.

認証Authentication

Southbound 通信では、次のプロトコルと認証方法が使用されます。For Southbound communication, the following protocols and authentication methods are used.

  1. WCF/TCP//////////////WCF/TCP/OVSDB. これらのプロトコルでは、X509 証明書を使用して認証が実行されます。For these protocols, authentication is performed by using X509 certificates. ネットワークコントローラーとピアソフトウェア負荷分散 ( SLB ) マルチプレクサー ( MUX ) /host マシンは、相互認証のために証明書を相互に提示します。Both Network Controller and the peer Software Load Balancing (SLB) Multiplexer (MUX)/host machines present their certificates to each other for mutual authentication. 各証明書は、リモートピアによって信頼されている必要があります。Each certificate must be trusted by the remote peer.

    Southbound 認証の場合、Northbound クライアントとの通信を暗号化するように構成されているのと同じ SSL 証明書を使用できます。For southbound authentication, you can use the same SSL certificate that is configured for encrypting the communication with the Northbound clients. また、SLB MUX とホストデバイスで証明書を構成する必要があります。You must also configure a certificate on the SLB MUX and host devices. 証明書のサブジェクト名は、デバイスの DNS 名と同じである必要があります。The certificate subject name must be same as the DNS name of the device.

  2. WinRMWinRM. このプロトコルでは、ドメインに参加しているコンピューターには Kerberos を使用し、ドメインに参加して ( ) いないコンピューターには証明書を使用して認証が実行され ( ) ます。For this protocol, authentication is performed by using Kerberos (for domain joined machines) and by using certificates (for non-domain joined machines).

承認Authorization

Southbound 通信では、次のプロトコルと承認方法が使用されます。For Southbound communication, the following protocols and authorization methods are used.

  1. WCF/TCPWCF/TCP. これらのプロトコルでは、承認はピアエンティティのサブジェクト名に基づいて行われます。For these protocols, authorization is based on the subject name of the peer entity. ネットワークコントローラーは、ピアデバイスの DNS 名を保存し、承認に使用します。Network Controller stores the peer device DNS name, and uses it for authorization. この DNS 名は、証明書内のデバイスのサブジェクト名と一致している必要があります。This DNS name must match the subject name of the device in the certificate. 同様に、ネットワークコントローラー証明書は、ピアデバイスに格納されているネットワークコントローラーの DNS 名と一致している必要があります。Likewise, Network Controller certificate must match the Network Controller DNS name stored on the peer device.

  2. WinRMWinRM. Kerberos が使用されている場合は、Active Directory 内の事前定義されたグループまたはサーバーのローカル管理者グループに WinRM クライアントアカウントが存在している必要があります。If Kerberos is being used, the WinRM client account must be present in a predefined group in Active Directory or in the Local Administrators group on the server. 証明書が使用されている場合、クライアントは、サーバーがサブジェクト名/発行者を使用して承認した証明書をサーバーに提示し、サーバーは、マップされたユーザーアカウントを使用して認証を実行します。If certificates are being used, the client presents a certificate to the server that the server authorizes using the subject name/issuer, and the server uses a mapped user account to perform authentication.

  3. このよう にして います。OVSDB. このプロトコルには認証は提供されません。There is no authorization provided for this protocol.

暗号化Encryption

Southbound 通信では、次の暗号化方法がプロトコルに使用されます。For Southbound communication, the following encryption methods are used for protocols.

  1. WCF/TCP//////////////WCF/TCP/OVSDB. これらのプロトコルでは、クライアントまたはサーバーに登録されている証明書を使用して暗号化が実行されます。For these protocols, encryption is performed using the certificate that is enrolled on the client or server.

  2. WinRMWinRM. WinRM のトラフィックは、Kerberos セキュリティサポートプロバイダーの SSP を使用して既定で暗号化され ( ) ます。WinRM traffic is encrypted by default using Kerberos security support provider (SSP). WinRM サーバーでは、SSL の形式で追加の暗号化を構成できます。You can configure Additional encryption, in the form of SSL, on the WinRM server.