Azure VMのアウトバウンド通信をWindows Updateに制限
AzureのNSG(Network Security Group(ネットワークセキュリティグループ))を作成した場合、デフォルトではすべてのアウトバウンド通信が許可されています。
仮想マシンをデプロイした場合、インターネットへのアクセスが許可された状態になります。
セキュリティの観点から、アウトバウンド通信を制限したい場合もあるかと思います。
しかし、Windows の仮想マシンの場合、インターネットへのアクセスをすべて閉じてしまうと、Windows Updateができなくなってしまいます。
NSGには、Windows Update用のサービスタグが用意されています。
このサービスタグを使用することで、Windows Updateのみを許可することができます。
この記事では、Windows Update用のサービスタグを利用して仮想マシンからWindows Updateを許可する設定手順を紹介しています。
PowerShellを使用したNSGの設定方法も紹介しています。
※本記事内では、Azure Virtual Machines(Azure VM)を"仮想マシン"として表記しています。
※本記事内では、Network Security Group(ネットワークセキュリティグループ)を"NSG"として表記しています。
※本記事内では、Service Tagをサービスタグとして表記しています。
NSGのセキュリティ規則設定にはWindows Update用のサービスタグがある
サービスタグとは
サービスタグとは、マイクロソフトが提供するサービスのIPアドレスプレフィックスのグループです。
NSGだけではなく、Azure Firewallでも利用できます。
Azure SQLなどのサービスが、リージョンごとに利用しているIPアドレスをまとめてサービスタグとして規定されています。
たとえば"sql.japaneast"といった形でサービスタグがあります。
サービスタグで、よく見るのがAzure Load BalancerやVirtual Networkのサービスタグになります。
サービスタグには、Azureのサービスだけではなく、Power AutomateやDynamics 365と言ったものもあります。
マイクロソフトが提供するサービスのIPアドレスは変わる事があります。それに合わせて設定変更するのはとても大変です。
サービスタグに含まれるIPアドレスの管理はAzure側で自動で行われます。
AzureサービスのIPアドレスについてユーザー側で意識する必要なくなります。
※リージョン指定できずサービスだけを指定するタグもあります。
Windows Update用のサービスタグはAzureUpdateDelivery
Windows Updateを許可するために利用するサービスタグは、AzureUpdateDeliveryです。
また、AzureFrontDoor.FirstPartyも必要になります。
利用可能なサービス タグ(仮想ネットワーク サービス タグ)
送信セキュリティ規則でAzureUpdateDeliveryとAzureFrontDoor.FirstPartyの2つの許可設定が必要です。
-
- AzureUpdateDelivery: TCP、ポート 443
- AzureFrontDoor.FirstParty: TCP、ポート 80
※Windows UpdateのIPアドレス以外もAzureUpdateDeliveryには含まれます。
アウトバウンド通信の許可状態
NSG(ネットワークセキュリティグループ)に送信セキュリティ規則を追加した場合のアウトバウンド通信の許可状態です。
NSGの設定状態 | 仮想マシンから インターネットへアクセス |
仮想マシンで Windows Update |
デフォルト設定 | 〇 | 〇 |
インターネットへの アウトバウンド通信を拒否 |
× | × |
インターネットへの アウトバウンド通信を拒否 AzureUpdateDeliveryの アウトバウンド通信を許可 |
× | 〇 |
※AzureUpdateDeliveryはAzureFrontDoor.FirstPartyと組み合わせて利用した場合です。
※AzureUpdateDeliveryにはWindows Update以外の通信も含まれます。YahooやGoogle等のWebサイトへの通信を許可しない状態と考える方が適切かと思います。
プライベートサブネット(Azure Private Subnet)について
プライベートサブネット(Azure Private Subnet)を利用する事で、仮想マシンからのインターネットへのアクセスを制限できます。
この場合はNATゲートウェイ(Azure NAT Gateway)等と組み合わせて利用します。
Windows Updateを許可する送信セキュリティ規則を設定
仮想マシンからインターネットへのアクセスを拒否とWindows Updateを許可する送信セキュリティ規則を追加します。
送信セキュリティ規則設定
追加する送信セキュリティ規則は3つです。
-
- 宛先AzureUpdateDeliveryへの443(TCP)通信を許可
- 宛先AzureFrontDoor.FirstPartyへの80(TCP)通信を許可
- 宛先InterNetへの通信を拒否
※InterNetへの通信を拒否設定しなかった場合はすべてのアウトバウンド通信が許可されたままの状態となります。
区分 | 項目 | 設定値 |
AzureUpdateDeliveryを許可 | 名前 | AllowOutbound-AzurePdateDelivery |
優先度 | 100 | |
宛先 | Service Tag | |
宛先サービスタグ | AzureUpdateDelivery | |
サービス(宛先ポート範囲) | HTTPS(443)(TCP) | |
アクション | 許可 | |
AzureFrontDoor.FirstPartyを許可 | 名前 | AllowOutbound-AzureFrontDoorFirstParty |
優先度 | 101 | |
宛先 | Service Tag | |
宛先サービスタグ | AzureFrontDoor.FirstParty | |
サービス(宛先ポート範囲) | HTTP(80)(TCP) | |
アクション | 許可 | |
インターネットへのアウトバウンド通信を拒否 | 名前 | DenyOutbound-InterNet |
優先度 | 110 | |
宛先 | Service Tag | |
宛先サービスタグ | Internet | |
サービス(宛先ポート範囲) | ※(Any) | |
アクション | 拒否 |
Azure Portalを利用して送信セキュリティ規則をデプロイ
Azure Portalを使ってNSG(ネットワークセキュリティグループ)へ送信セキュリティ規則追加します。
今回は仮想マシンのメニューから実施しています。
—広告—
PowerShellを使って送信セキュリティ規則設定
Azure PowerShellをNSGを設定します。
セキュリティ規則追加時に利用するPowerShellコマンドレット
NSG(ネットワークセキュリティグループ)に送受信セキュリティ規則を追加する時には3つコマンドレットを利用します。
Get-AzNetworkSecurityGroup、Add-AzNetworkSecurityRuleConfig、Set-AzNetworkSecurityGroupを利用します。
コマンド | 概要 |
Get-AzNetworkSecurityGroup | NSG(ネットワークセキュリティグループ)の設定情報を取得 |
Add-AzNetworkSecurityRuleConfig | 送受信セキュリティ規則の設定情報を追加 |
Set-AzNetworkSecurityGroup | NSG(ネットワークセキュリティグループ)の設定を更新 |
※事前にAzure PowerShellをインストールしておく必要があります。
インターネットへアウトバウンド通信を禁止する送信セキュリティ規則を追加
Azure PowerShellを利用してインターネットへのアウトバウンド通信を禁止する送信セキュリティ規則を追加します。
インターネットへのアウトバウンド通信を拒否した状態でWindows Update
インターネットへのアウトバウンド通信を拒否した状態でWindows Updateしてみます。
Windows Updateを実行 | |
Windows Updateもブラウザを使ったインターネットアクセスもすべて拒否されている事が確認できます。 |
|
Windows Updateを許可する送信セキュリティ規則を追加
仮想マシンのWindows Updateを許可する送信セキュリティ規則を作成します。
インターネットへのアクセス拒否する送信セキュリティ規則より優先順位を高くします。
※複数の送信セキュリティ規則を追加するように、PowerShellを作成しています。
Windows Updateを許可 | |
|
|
WindowsUpdate01と02の送信セキュリティ規則が追加されている事が分かります。 |
Windows Updateが許可されているか確認
Windows Updateを許可する送信セキュリティ規則を追加した状態で確認します。
インターネットアクセスを拒否したまま、Windows Updateが許可されている事が確認できます。
Windows Updateを実行 | |
Windows Updateが出来る事が確認できます。 |
|
—広告—
最後に
NSGの送信セキュリティ規則を追加することで、インターネットアクセスを拒否しながらWindows Updateを許可することができました。
Windows Updateだけが許可されるわけではありませんが、それでもWebサイトへのアクセスを制限できるのは便利だと思いました。
NSGやセキュリティ規則についてはこちらにまとめています。