演習 - NVA と仮想マシンを作成する
セキュリティ実装の次のステージでは、ネットワーク仮想アプライアンス (NVA) をデプロイし、フロントエンド パブリック サーバーと内部プライベート サーバーの間のトラフィックをセキュリティで保護して監視します。
まず、IP トラフィックを転送するようにアプライアンスを構成します。 IP 転送が有効になっていない場合、アプライアンス経由でルーティングされるトラフィックは、目的の宛先サーバーで受信されません。
この演習では、nva ネットワーク アプライアンスを dmzsubnet サブネットにデプロイします。 その後、*
からのトラフィックと、カスタム ルートを使用するトラフィックが、privatesubnet サブネットに送信されるように、IP 転送を有効にします。
次の手順では、NVA をデプロイします。 その後、Azure 仮想 NIC と、アプライアンス内のネットワーク設定を更新して、IP 転送を有効にします。
ネットワーク仮想アプライアンスをデプロイする
NVA をビルドするには、Ubuntu LTS インスタンスをデプロイします。
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 ではそのトラフィックを適切な宛先にルーティングします。
次のコマンドを実行して、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
次のコマンドを実行して、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
次のコマンドを実行して、ネットワーク インターフェイスでの IP 転送を有効にします。
az network nic update --name $NICNAME \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --ip-forwarding true
アプライアンスで IP 転送を有効にする
次のコマンドを実行して、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
次のコマンドを実行して、NVA 内での IP 転送を有効にします。
ssh -t -o StrictHostKeyChecking=no azureuser@$NVAIP 'sudo sysctl -w net.ipv4.ip_forward=1; exit;'
要求されたら、仮想マシンを作成したときに使ったパスワードを入力します。