このトピックでは、NSX Advanced Load Balancer Controller の管理インターフェイスと、管理セッションで許可される暗号と HMAC のリストの両方へのアクセスを制限する方法について説明します。

デフォルトでは、NSX Advanced Load Balancer Controller は、管理インターフェイスを介したコントローラへのアクセスが許可されているクライアント IP アドレスを制限しません。NSX Advanced Load Balancer は、コントローラへの管理アクセスの試行を可能にする IP アドレスのセットを定義する方法を提供します。

さらに、すべての管理インターフェイスを介したアクセスは、許可する暗号と HMAC(キー付きハッシュ メッセージ認証コード)を明示的に指定することで、さらに制限できます。

任意の管理インターフェイスを介してコントローラとの管理接続を確立するには、コントローラで許可されている暗号と HMAC をクライアントがサポートしている必要があります。

注:
  • API と SSH の IP アクセス リストを構成する際は、コントローラ ノードを同じサブネットに配置するか、コントローラの IP アドレスを明示的に追加して、コントローラ ノードどうしが相互に通信できるようにします。

  • コントローラの IP アドレスが FQDN ベースの場合、NSX Advanced Load Balancer は現在、SSH およびシステム内部アクセスのコントロール タイプをサポートしていません。

IP アクセス リスト

特定の管理インターフェイスへのアクセスを許可する IP アドレスを指定するように構成を変更すると、NSX Advanced Load Balancer は、ネットワーク レイヤーで指定された IP アドレスを許可するように、NSX Advanced Load Balancer Controller ホスト上の Linux IP テーブルをプログラミングします。

次の管理インターフェイスについては、別個の IP アクセス リストをそれぞれ構成できます。

  • REST API/Web インターフェイス(または REST API を使用する任意のスクリプトまたはその他の自動化手段)

  • SSH デーモン

  • CLI シェル(リモート CLI アクセスを許可)

  • SNMP

次に示すのは、管理インターフェイスの論理ビューです。



注:

NSX Advanced Load Balancer は、Web インターフェイスまたは CLI シェルを介して入力されたコマンドを REST API コマンドに内部的に変換します。同様に、システム応答は、NSX Advanced Load Balancer ユーザーに返されるときに Web インターフェイスまたは CLI の形式に変換されます。インターフェイスを介した IP アクセスを制限するには、インターフェイスごとに個別の IP アドレス リストを入力する必要があります。

IP アクセス リストの形式

管理インターフェイスごとに、そのインターフェイスへのアクセスを許可するクライアント IP アドレスのセットを次のいずれかの方法で指定できます。

  • 個々の IP アドレス。例:1.1.1.1, 2.2.2.2

  • IP アドレス範囲。例:1.1.1.1-1.1.1.100

  • IP アドレス プレフィックス(サブネット)。例:1.1.1.0/24

  • IP アドレス グループ

注意:
  • 管理インターフェイスの IP アクセス リストを変更する場合は、アクセス リストに IP アドレスを含めてください。そうしないと、変更の保存後に管理セッションが終了します。

  • 管理サービスのアクセス リストに IP アドレスが追加されていないと、どの IP アドレスからもそのサービスにアクセスできてしまいます。

Web インターフェイスを介した管理インターフェイスへの IP アクセスの制限

  1. [管理] > [システム設定] の順に移動します。

  2. [編集] アイコンをクリックして、[システム設定の編集] ポップアップ ウィンドウを開きます。



  3. [クライアント管理アクセス] セクションで、[許可された SSH クライアント][許可された CLI シェル クライアント][許可された外部 HTTPS クライアント][許可された外部 SNMP クライアント] の各フィールドを必要に応じて構成し、アクセスを許可する IP アドレスを入力または選択します。

    • ホスト、範囲、またはサブネット:[[使用可能] から選択] または [カスタム値を入力] を選択してフィールドを有効にし、アドレスを選択または入力します。複数のアドレスをリストする場合は、カンマを使用して区切ります。範囲を入力する場合は、先頭(最小)と末尾(最大)のアドレスの間にハイフンを使用します。

    • IP グループ:IP グループ(すでに構成されている場合)を選択するか、[作成] をクリックしてグループ(リスト)を作成します。グループ名とアドレス情報を入力し、[保存] をクリックして [システム設定の編集] ポップアップ ウィンドウに戻ります。

    注:

    [許可された外部 HTTP(S) クライアント] フィールドを使用して、HTTP 設定のコントローラ管理 IP アドレスを入力します。クラスタ ノードの管理 IP アドレスが、外部 HTTP で許可されている IP アドレスのリストに含まれていない場合、内部分析 API は失敗します。

  4. [許可された SSH クライアント] ドロップダウン メニューをクリックします。

  5. サービスへのアクセスを許可する追加の IP アドレスに対して、この手順を繰り返します。

  6. 各管理サービスに対して許可するクライアント IP アドレスを指定したら、次のセクションに移動するか、[保存] をクリックして変更を保存し、ポップアップを閉じます。

許可された暗号の制限

デフォルトでは、NSX Advanced Load Balancer は、管理セッションによる次のいずれかの暗号の使用を許可します。

  • aes128-ctr

  • aes256-ctr

  • arcfour256

  • arcfour128

  • aes128-cbc

  • 3des-cbc

  • blowfish-cbc

  • aes192-cbc

  • aes256-cbc

arcfour128 および arcfour256 の暗号はサポートされていません。これらの暗号のサブセットへのアクセスを制限するには、個々の暗号を指定します。

  • [システム アクセス設定の更新] ポップアップの [許可された暗号] フィールドで、暗号名を入力します。上記のように、名前は正しく表記する必要があります。名前の間にはカンマを使用します。

  • 次のセクションに移動するか、[保存] をクリックします。

許可された HMAC の制限

NSX Advanced Load Balancer は、管理セッションによる次のいずれかの HMAC の使用を許可します。

  • hmac-md5

  • hmac-md5-96

  • hmac-sha1

  • umac-128-etm@openssh.com

  • hmac-sha256@ssh.com

  • umac-64-etm@openssh.com

  • hmac-sha256-96@ssh.com

  • hmac-sha2-512

  • hmac-md5-96-etm@openssh.com

  • hmac-md5-etm@openssh.com

  • hmac-sha2-512-etm@openssh.com

  • hmac-sha2-256-etm@openssh.com

  • hmac-sha1-96-etm@openssh.com

  • hmac-sha1-etm@openssh.com

サポートする HMAC の数を減らすには、個々の HMAC を指定します。

  1. [[システム設定の編集]] ポップアップ ウィンドウの [許可された HMAC] フィールドで、HMAC 名を入力します。上記のように、名前は正しく表記する必要があります。名前の間にはカンマを使用します。

  2. 更新後、[保存] をクリックして変更を保存し、ポップアップを閉じます。

REST API - 管理アクセスが許可されている IP アドレス

NSX Advanced Load Balancer REST API に対する次の要求は、mgmt_ip_access_control セクションを含む現在のシステム設定を取得します。このセクションでは、管理サービスを介してコントローラにアクセスすることが許可されているクライアント IP アドレスを指定します。

この例では、Web インターフェイスまたは REST API を介したアクセスは、10.10.0.0/16 サブネット内のアドレス、および 3.3.3.1 ~ 100 の範囲の IP アドレスに制限されています。この出力には、他の管理サービスへの IP アクセスは含まれません。それらについては IP アクセスが明示的に定義されていないためです。

API: GET /api/systemconfiguration
Data:
{
    "email_configuration": {
        "from_email": "admin@avicontroller.net",
        "mail_server_name": "localhost",
        "smtp_type": "SMTP_NONE",
        "mail_server_port": 25
    },
	...

    "mgmt_ip_access_control": {
        "api_access": {
            "ranges": [
                {
                    "begin": {
                        "type": "V4",
                        "addr": "3.3.3.0"
                    },
                    "end": {
                        "type": "V4",
                        "addr": "3.3.3.100"
                    }
                }
            ],
            "prefixes": [
                {
                    "ip_addr": {
                        "type": "V4",
                        "addr": "10.10.0.0"
                    },
                    "mask": 16
                }
            ],
            "match_criteria": "IS_IN"
        }
    },
}

許可された暗号と HMAC

次の REST API 要求は、許可されている暗号と HMAC のリストを取得します。

API: GET /api/systemconfiguration
Data:
{
    "email_configuration": {
        "from_email": "admin@avicontroller.net",
        "mail_server_name": "localhost",
        "smtp_type": "SMTP_NONE",
        "mail_server_port": 25
    },
        ...

    "ssh_ciphers": [
        "aes128-ctr",
        "aes256-ctr",
        "aes192-cbc",
        "aes256-cbc"
    ],

    "ssh_hmacs": [
        "hmac-md5",
        "hmac-md5-96",
        "hmac-sha1",
        "hmac-sha256-96@ssh.com",
        "hmac-sha2-512"
    ],
}

詳細については、Renewing Default (Self-Signed) Certificates on NSX Advanced Load Balancerを参照してください。

デフォルトのポータル証明書を変更する方法の詳細については、『VMware NSX Advanced Load Balancer 構成ガイド』の「Change the Default Certificate of the Controller」トピックを参照してください。