レイヤー 7 サービス オブジェクトを定義することで、コンテキスト アウェアまたはアプリケーション ベースのファイアウォール ルールを設定できます。レイヤー 7 コンテキスト アウェア ファイアウォール ルールは、パケットの内容をインテリジェントに検査します。

この例では、APP_HTTP サービス オブジェクトを使用するレイヤー 7 ファイアウォール ルールの作成方法について説明します。このファイアウォール ルールでは、仮想マシンから任意の宛先への HTTP 要求を許可します。ファイアウォール ルールを作成したら、このファイアウォール ルールを渡す送信元の仮想マシンで HTTP セッションを開始し、送信元の仮想マシンの特定の vNIC でフロー監視をオンにします。このファイアウォール ルールは、HTTP アプリケーション コンテキストを検出し、送信元の仮想マシンにルールを適用します。

前提条件

次の NSX ロールを持つアカウントを使用して、 vSphere Web Client にログインする必要があります。
  • セキュリティ管理者
  • NSX 管理者
  • セキュリティ エンジニア
  • エンタープライズ管理者
注: NSX Data Center for vSphere 6.4 以降がインストールされていることを確認します。

手順

  1. vSphere Web Client で、[ネットワークとセキュリティ (Networking & Security)] > [セキュリティ (Security)] > [ファイアウォール (Firewall)] の順に移動します。
  2. (オプション) ファイアウォール ルール セクションを追加して、コンテキスト アウェア ファイアウォール ルールをグループ化します。
  3. [ルールの追加 (Add Rule)] をクリックします。
  4. コンテキスト アウェア ファイアウォール ルールを作成します。
    1. このルールを識別できるように、ルール名を入力します。たとえば、L7_Rule_HTTP_Service と入力します。
    2. [送信元] 列をクリックして、[編集 (Edit)]HTML5 の編集アイコン)アイコンをクリックします。
      [送信元の指定] ページが開きます。
    3. [オブジェクト タイプ (Object Type)] ドロップダウン メニューから、[仮想マシン (Virtual Machine)] を選択します。
    4. [使用可能なオブジェクト (Available Objects)] リストから仮想マシンを選択します。このオブジェクトを [選択したオブジェクト (Selected Objects)] リストに移動し、[保存 (Save)] をクリックします。
    5. [宛先] 列で、デフォルト値(「任意」)を使用します。
    6. [サービス] 列で、[編集 (Edit)]HTML5 の編集アイコン)アイコンをクリックします。
      [サービスの指定] ページが開きます。
    7. [オブジェクト タイプ (Object Type)] ドロップダウン メニューから、[サービス (Services)] を選択します。
    8. [使用可能なオブジェクト (Available Objects)] リストから [App_HTTP] サービスを選択します。このサービスを [選択したオブジェクト (Selected Objects)] リストに移動し、[保存 (Save)] をクリックします。
    9. ファイアウォール ルールが有効で、ルール アクションが [許可 (Allow)] に設定されていることを確認します。
    10. [発行 (Publish)] をクリックして、ファイアウォール ルールの設定を発行します。
    次の図に、作成したファイアウォール ルールを示します。
    図 1. コンテキスト アウェア ファイアウォール ルールの定義
    この図は、コンテキスト アウェア ファイアウォール ルールの定義を表しています。
  5. 送信元の仮想マシンのコンソールにログインして wget Linux コマンドを実行し、HTTP 経由で Web からファイルをダウンロードします。
  6. 送信元の仮想マシンの vNIC でライブ フローの監視をオンにし、送信元の仮想マシンのトラフィック フローを監視します。
    1. [ツール (Tools)] > [フロー モニタリング (Flow Monitoring)] の順に移動します。
    2. 送信元の仮想マシンの特定の vNIC を選択します。たとえば、l2vpn-client-vm-Network adapter 1 を選択します。
    3. [開始 (Start)] をクリックして、フロー監視データを表示します。
  7. 次の図のフロー監視データは、ファイアウォール ルールがアプリケーション (HTTP) コンテキストを検出したことを表しています。ルール 1005 が送信元の仮想マシン (10.161.117.238) に適用され、トラフィックの宛先の IP アドレス 151.101.129.67 と 151.101.53.67 になっています。
    図 2. 送信元の仮想マシンのトラフィック フロー
    送信元の仮想マシンの vNIC でのトラフィック フロー(ルール アクションが「許可」に設定されている場合)
  8. [ファイアウォール] ページに戻り、ルール アクションを [ブロック (Block)] に変更します。
  9. 送信元の仮想マシンのコンソールに移動して、再度 wget コマンドを実行します。
    送信元の仮想マシンで HTTP 要求がブロックされていることを確認します。仮想マシン コンソールに、次のようなエラーが表示されます。
    HTTP request sent, awaiting response ... Read error (Connection reset by peer) in headers
    Retrying.
    次の図は、アプリケーション (HTTP) コンテキストのフローが検出され、送信元の仮想マシン (10.161.117.238) の vNIC でブロックされたことを示しています。
    図 3. 送信元の仮想マシンのトラフィック フロー
    送信元の仮想マシンの vNIC でのトラフィック フロー(コンテキストに応じたルール アクションが「ブロック」に設定されている場合)

次のタスク

コンテキスト アウェア ファイアウォール ルールを使用する場合の他のシナリオについては、コンテキスト アウェア ファイアウォールのシナリオを参照してください。