演習 - NVA と仮想マシンを作成する

完了

セキュリティ実装の次のステージでは、ネットワーク仮想アプライアンス (NVA) をデプロイし、フロントエンド パブリック サーバーと内部プライベート サーバーの間のトラフィックをセキュリティで保護して監視します。

まず、IP トラフィックを転送するようにアプライアンスを構成します。 IP 転送が有効になっていない場合、アプライアンス経由でルーティングされるトラフィックは、目的の宛先サーバーで受信されません。

この演習では、nva ネットワーク アプライアンスを dmzsubnet サブネットにデプロイします。 その後、* からのトラフィックと、カスタム ルートを使用するトラフィックが、privatesubnet サブネットに送信されるように、IP 転送を有効にします。

IP 転送が有効になっているネットワーク仮想アプライアンスのダイアグラム。

次の手順では、NVA をデプロイします。 その後、Azure 仮想 NIC と、アプライアンス内のネットワーク設定を更新して、IP 転送を有効にします。

ネットワーク仮想アプライアンスをデプロイする

NVA をビルドするには、Ubuntu LTS インスタンスをデプロイします。

  1. Cloud Shell で次のコマンドを実行して、アプライアンスをデプロイします。 <password> は、azureuser 管理者アカウントに適した任意のパスワードに置き換えます。

    az vm create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name nva \
        --vnet-name vnet \
        --subnet dmzsubnet \
        --image Ubuntu2204 \
        --admin-username azureuser \
        --admin-password <password>
    

Azure ネットワーク インターフェイスの IP 転送を有効にする

次の手順では、nva ネットワーク アプライアンスの IP 転送を有効にします。 トラフィックが NVA に流れていても、別のターゲットのためのものである場合、NVA ではそのトラフィックを適切な宛先にルーティングします。

  1. 次のコマンドを実行して、NVA ネットワーク インターフェイスの ID を取得します。

    NICID=$(az vm nic list \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --vm-name nva \
        --query "[].{id:id}" --output tsv)
    
    echo $NICID
    
  2. 次のコマンドを実行して、NVA ネットワーク インターフェイスの名前を取得します。

    NICNAME=$(az vm nic show \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --vm-name nva \
        --nic $NICID \
        --query "{name:name}" --output tsv)
    
    echo $NICNAME
    
  3. 次のコマンドを実行して、ネットワーク インターフェイスでの IP 転送を有効にします。

    az network nic update --name $NICNAME \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --ip-forwarding true
    

アプライアンスで IP 転送を有効にする

  1. 次のコマンドを実行して、NVA 仮想マシンのパブリック IP アドレスを、変数 NVAIP に保存します。

    NVAIP="$(az vm list-ip-addresses \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name nva \
        --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
        --output tsv)"
    
    echo $NVAIP
    
  2. 次のコマンドを実行して、NVA 内での IP 転送を有効にします。

    ssh -t -o StrictHostKeyChecking=no azureuser@$NVAIP 'sudo sysctl -w net.ipv4.ip_forward=1; exit;'
    

    要求されたら、仮想マシンを作成したときに使ったパスワードを入力します。