記事公開日
最終更新日
【Azure】Azureネットワーク 第3回 AzureFirewall編

こんにちは、システムソリューション営業本部の中道です。
第1回はAzureネットワークの概要
第2回は実際に構築する場合の手順について解説しました。
今回は、Azure Firewallについて紹介します。
ファイアウォールと聞くと、馴染みのある「Windows ファイアウォール」を思い浮かべると思いますが、
AzureFirewallは、ネットワーク全体やサブネット全体を一括で管理することができ、状況に応じて柔軟に対応もしてくれる製品
といったところでしょうか。
フル運用した場合1日で3,360円、1か月で10万円ほど費用として掛かります。
以下のコマンドをCloudShell上から操作する事で、Azurefirewallの停止と起動を操作できます。検証環境やコストが気になる方はご使用ください。
停止時コマンド
停止した場合は、いくつかの項目が「-」になります。

起動時コマンド
主に使用するのは以下の3か所です。
本機能の詳細な説明や動作は、後述の構築手順内で解説しています。
「WSUSをAzureに構築し、Firewallを用いて、必要な通信のみを通過させるようにする」
です。



2.左上の「追加」または中央の「ファイアウォールの作成」をクリックします。

3.「ファイアウォールの作成」画面で各設定を行います。

4.「確認および作成」で検証に成功したことを確認して「作成」をクリックします。
5.デプロイが完了したら、ファイアウォールの完成です。
しかし、これではファイアウォールが出来ただけで、仮想ネットワークや仮想マシンには何の影響もありません。
なので、仮想ネットワーク内の全ての通信が、ファイアウォールを経由するように設定します。
ルートテーブルは、Azure既定の設定を変更する場合に使用する機能です。今回は仮想ネットワークの設定を変更するために使用します。
手順は以下の通りです。
1.検索バーからルートテーブルを検索し、クリックします。

2.ページ中央の「ルートテーブルの作成」または左上の「追加」から作成を始めます。

3.ファイアウォールが入っているリソースグループを選択し、「確認及び作成」から「作成」をクリックします。

4.デプロイが完了したことを確認します。
5.作成したルートテーブルをクリックし、左メニューから「ルート」をクリックします。
6.左上の「追加」をクリックし、以下に設定します。

7.ルートテーブルをクリックし、左メニューから「サブネット」をクリックします。
8.左上の「関連付け」から、Azure Firewallが参加している仮想ネットワークとサブネットを選択し、「OK」をクリックします。
対象になった場合、RDPもFirewallによって制限されるため、仮想マシンへの接続が出来なくなります。
パブリックIPアドレスを付与していても、接続できなくなっている事が確認できます。
そのため、RDPができるよう作業をしなくてはなりません。
手順は以下の通りです。
1.ファイアウォール>ルール>NATルールコレクションに移動し、「NATルールコレクションの追加」をクリックします。
2.各項目は以下を設定します。

3.RDPが可能か接続します。
WSUSサーバーには接続ができたと思います。
しかしこのままでは、WSUSのウィザードの進行や同期ができません。
理由は、WSUSの通信に必要なポートが空いておらず、インターネットへの接続ができないからです。
WSUSに必要な通信を設定するために、ネットワークルールコレクションと、アプリケーションルールコレクションの2つの方法があります。
WSUSで使用するポートはHTTPの80、HTTPSの443の2つです。
1.ファイアウォール>ルール>ネットワークルールコレクションに移動し、「ネットワークルールコレクションの追加」をクリックします。
2.各項目は以下を設定します。

ネットワークルールコレクションの設定は以上のように簡単ですが、
特定のサイトのみに接続させたい要件がある場合は、もう1つの方法を使用します。
HTTP:80、HTTPS:443以外に、以下のサイトに繋がる許可が必要です。
必要な接続はこちらで確認できます。
1.ファイアウォール>ルール>アプリケーションルールコレクションに移動し、「アプリケーションルールコレクションの追加」をクリックします。
2.各項目は以下を設定します。

コレクションが多いほど、設定に手間と時間がかかりますが、指定したFQDN以外のインターネット接続はできなくなり、セキュリテイレベルが向上します。
ルールコレクションは、接続要件に合ったものを選んでください。
これで、WSUSの通信が通るようになり、Azure上にWSUSを構築できるようになりました。
構築が複雑で、ルートテーブルやファイアウォールを複数回操作しましたが、
AzureFirewallの機能性が理解できたと思います。
次回以降も、お楽しみにお待ちください!
また、「Microsoft Azure」が気になる!という会社様は是非「お問い合わせ」よりお問い合わせください!
※このブログで参照されている、Microsoft、Windows、Microsoft Azure、その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。
第1回はAzureネットワークの概要
第2回は実際に構築する場合の手順について解説しました。
今回は、Azure Firewallについて紹介します。
概要
AzureFirewallとは
マイクロソフト社では以下のように説明しています。Azure Firewall は、Azure Virtual Network リソースを保護するクラウドベースのマネージド ネットワーク セキュリティ サービスです。 組み込みの高可用性とクラウドの無制限のスケーラビリティを備えた、完全にステートフルなサービスとしてのファイアウォールです。サブスクリプションと仮想ネットワークをまたいでアプリケーションとネットワークの接続ポリシーを一元的に作成、適用、記録できます。 |
ファイアウォールと聞くと、馴染みのある「Windows ファイアウォール」を思い浮かべると思いますが、
AzureFirewallは、ネットワーク全体やサブネット全体を一括で管理することができ、状況に応じて柔軟に対応もしてくれる製品
といったところでしょうか。
料金
料金はデプロイが完了した時点から発生し、1時間140円です。これ以外に通信量に応じて料金が発生します。フル運用した場合1日で3,360円、1か月で10万円ほど費用として掛かります。
以下のコマンドをCloudShell上から操作する事で、Azurefirewallの停止と起動を操作できます。検証環境やコストが気になる方はご使用ください。
停止時コマンド
$azfw = Get-AzFirewall -Name ”(ファイアウォール名)" -ResourceGroupName "(リソースグループ名)" |
$azfw.Deallocate() |
Set-AzFirewall -AzureFirewall $azfw |
停止した場合は、いくつかの項目が「-」になります。

起動時コマンド
$azfw = Get-AzFirewall -Name ”(ファイアウォール名)" -ResourceGroupName "(リソースグループ名)" |
$vnet = Get-AzVirtualNetwork -ResourceGroupName "(リソースグループ名)" -Name "(仮想ネットワーク名)" |
$publicip1 = Get-AzPublicIpAddress -Name "(パブリックIPアドレス名)" -ResourceGroupName "(リソースグループ名)" |
//複数のパブリックIPアドレスを付与する場合は、$publicipの末尾数字を増やす事で対応可能。 |
$azfw.Allocate($vnet,@($publicip1)) |
//複数ある場合は、$publicip1以降を","で区切り増やす。 |
Set-AzFirewall -AzureFirewall $azfw |
機能の紹介
次に、AzureFirewallの機能について紹介していきます。主に使用するのは以下の3か所です。
本機能の詳細な説明や動作は、後述の構築手順内で解説しています。
NATルールコレクション
インターネット接続を許可するルールを構成します。

ネットワークルールコレクション
送信元アドレス、宛先ポートなどを含むルールを構成します。

アプリケーションルールコレクション
サブネットアクセスできるFQDNを構成します。

課題
今回の課題は「WSUSをAzureに構築し、Firewallを用いて、必要な通信のみを通過させるようにする」
です。

構築
それでは、実際に構築していきます。事前準備
サブネットの追加
Azure Firewallを使用するには、仮想ネットワークに特定のサブネットの追加が必要になります。
1.ホームの「Azureサービス」または検索バーから「仮想ネットワーク」をクリックします。
2.使用する仮想ネットワークをクリックし、左メニューからサブネットをクリックします。
3.左上の「サブネット」から新規にサブネットを追加します。
名前は「AzureFirewallSubnet」、プレフィックスは「25以下」と定められています。

WSUSサーバーの構築
WSUSサーバーとなる仮想マシンを作成します。
設定はデフォルトでパブリックIPアドレスも付与してください。
サーバー構築やWSUSの設定は割愛します。
AzureFirewallの構築
1.ホームの「Azureサービス」または検索バーから「ファイアウォール」をクリックします。
2.左上の「追加」または中央の「ファイアウォールの作成」をクリックします。

3.「ファイアウォールの作成」画面で各設定を行います。

4.「確認および作成」で検証に成功したことを確認して「作成」をクリックします。
5.デプロイが完了したら、ファイアウォールの完成です。
しかし、これではファイアウォールが出来ただけで、仮想ネットワークや仮想マシンには何の影響もありません。
なので、仮想ネットワーク内の全ての通信が、ファイアウォールを経由するように設定します。
ルートテーブルの構築
ファイアウォールを経由させるには、ルートテーブルを使用します。ルートテーブルは、Azure既定の設定を変更する場合に使用する機能です。今回は仮想ネットワークの設定を変更するために使用します。
手順は以下の通りです。
1.検索バーからルートテーブルを検索し、クリックします。

2.ページ中央の「ルートテーブルの作成」または左上の「追加」から作成を始めます。

3.ファイアウォールが入っているリソースグループを選択し、「確認及び作成」から「作成」をクリックします。

4.デプロイが完了したことを確認します。
5.作成したルートテーブルをクリックし、左メニューから「ルート」をクリックします。
6.左上の「追加」をクリックし、以下に設定します。
root名 | : | 任意 |
アドレスプレフィックス | : | 0.0.0.0/0 |
次ポップの種類 | : | 仮想アプライアンス |
次ポップアドレス | : | ファイアウォールのプライベートIPアドレス |
この設定でインターネットに抜ける配信が全てファイアウォールを経由するようになります。

7.ルートテーブルをクリックし、左メニューから「サブネット」をクリックします。
8.左上の「関連付け」から、Azure Firewallが参加している仮想ネットワークとサブネットを選択し、「OK」をクリックします。
私の環境では「default」のサブネットにWSUSサーバーを構築したため、「defalut」を選択しました。

このサブネットの設定を行うことで、どの仮想ネットワークのサブネットがルートを使用するのか指定します。

このサブネットの設定を行うことで、どの仮想ネットワークのサブネットがルートを使用するのか指定します。
対象になった場合、RDPもFirewallによって制限されるため、仮想マシンへの接続が出来なくなります。
パブリックIPアドレスを付与していても、接続できなくなっている事が確認できます。
そのため、RDPができるよう作業をしなくてはなりません。
RDPの設定
RDPを有効化するには、ファイアウォールのNATルールコレクションから、IPアドレスやポートを指定する必要があります。手順は以下の通りです。
1.ファイアウォール>ルール>NATルールコレクションに移動し、「NATルールコレクションの追加」をクリックします。
2.各項目は以下を設定します。
名前 | : | 任意 | ||
優先度 | : | 任意(若い数字ほど優先度が高くなります) | ||
ルール | ||||
名前 | : | 任意 | ||
プロトコル | : | TDP | ||
Source Type | : | IP address | ||
Source | : | * または 接続元のパブリックIPアドレス | ||
宛先アドレス | : | AzureFirewallに付与されているパブリックIPアドレス | ||
宛先ポート | : | 3389 | ||
変換されたアドレス | : | WSUSサ―バーのプライベートIPアドレス | ||
変換されたポート | : | 3389 |

3.RDPが可能か接続します。
この時、接続先はファイアウォールのパブリックIPアドレスになります。
仮想マシンにパブリックIPアドレスを付与していても、それでは接続できないので気をつけてください。
接続が確認できたら、仮想マシンのパブリックIPアドレスは関連付けを解除してもかまいません。
WSUSサーバーには接続ができたと思います。
しかしこのままでは、WSUSのウィザードの進行や同期ができません。
理由は、WSUSの通信に必要なポートが空いておらず、インターネットへの接続ができないからです。
WSUSに必要な通信を設定するために、ネットワークルールコレクションと、アプリケーションルールコレクションの2つの方法があります。
AzureFirewallの設定
ネットワークルールコレクション
ネットワークルールでは、そのアプリケーションに必要なポートのみ指定します。WSUSで使用するポートはHTTPの80、HTTPSの443の2つです。
1.ファイアウォール>ルール>ネットワークルールコレクションに移動し、「ネットワークルールコレクションの追加」をクリックします。
2.各項目は以下を設定します。
名前 | : | 任意 | ||
優先度 | : | 任意(若い数字ほど優先度が高くなります) | ||
ルール | ||||
名前 | : | 任意 | ||
プロトコル | : | TDP | ||
Source Type | : | IP address | ||
Source | : | * または 接続元のパブリックIPアドレス | ||
宛先アドレス | : | AzureFirewallに付与されているパブリックIPアドレス | ||
宛先ポート | : | 3389 | ||
変換されたアドレス | : | WSUSサ―バーのプライベートIPアドレス | ||
変換されたポート | : | 3389 |

ネットワークルールコレクションの設定は以上のように簡単ですが、
特定のサイトのみに接続させたい要件がある場合は、もう1つの方法を使用します。
アプリケーションルールコレクション
アプリケーションルールで設定する場合は、プロトコル(http/https)とポート、FQDNをそれぞれ指定します。HTTP:80、HTTPS:443以外に、以下のサイトに繋がる許可が必要です。
必要な接続はこちらで確認できます。
1.ファイアウォール>ルール>アプリケーションルールコレクションに移動し、「アプリケーションルールコレクションの追加」をクリックします。
2.各項目は以下を設定します。
名前 | : | 任意 | ||
優先度 | : | 任意(若い数字ほど優先度が高くなります) | ||
ルール | ||||
名前 | : | 任意 | ||
Source Type | : | TDP | ||
Source | : | IP address | ||
プロトコルポート | : | http:80または、http:443 | ||
ターゲットのFQDN | : | 指定されているURLの「https://」以降 |

コレクションが多いほど、設定に手間と時間がかかりますが、指定したFQDN以外のインターネット接続はできなくなり、セキュリテイレベルが向上します。
ルールコレクションは、接続要件に合ったものを選んでください。
これで、WSUSの通信が通るようになり、Azure上にWSUSを構築できるようになりました。
まとめ
今回は、AzureFirewallについて紹介、構築いたしました。構築が複雑で、ルートテーブルやファイアウォールを複数回操作しましたが、
AzureFirewallの機能性が理解できたと思います。
次回以降も、お楽しみにお待ちください!
また、「Microsoft Azure」が気になる!という会社様は是非「お問い合わせ」よりお問い合わせください!
※このブログで参照されている、Microsoft、Windows、Microsoft Azure、その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。