4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

サクッと検証用Azure Firewall Premiumを構築

Last updated at Posted at 2021-02-25

この記事について

  • Azure Virtual Desktop(AVD)のインターネットブレークアウトで使える
  • まずはどんなものか、サクッと検証環境を作るための情報

なぜAVDで求められているのか

Azure上の仮想デスクトップから直接インターネットにアクセスさせる、いわゆるインターネットブレイクアウトを構成する際、セキュリティの観点からアクセスを制御したりログを取りたいことがよくあります。
Azure Firewall Premiumは、単純なIPアドレス、FQDN、ポートのようなフィルターだけではなく、HTTPS暗号化された通信も対象とし、怪しいふるまいを検知したり、WebアクセスをURL単位/カテゴリーでフィルターすることが可能になり、より細かくユーザーの活動や意図しないアクセスを記録、制限することが可能になります。

環境構築

MicrosoftのdocsにあるARMテンプレートを使えば10分程度で検証環境ができます。東日本リージョンへのデプロイも問題ありません。
https://docs.microsoft.com/ja-jp/azure/firewall/premium-deploy

以下、このdocsの補足です。

ログ分析 (Log Analytics) ワークスペース

Security Centerがデフォルトで作っているワークスペースを使っても問題ありません。なければ、新規にワークスペースを作って設定します。

インターナルWebサーバー

IDPSをテストするためインターナルWebサーバーを構築するように記載がありますが、不要です。
代わりに、既存のアプリケーションルールにHTTP(ポート:80)を加えます。
Policy-1.png

この環境をもとに

curl -A "BlackSun" http://www.azure.com/

curl --ssl-no-revoke -A "BlackSun" https://www.azure.com/

を実行します。

ログの確認

ログは、Azure Firewall Premiumのブレードを開いて、ログを選び、クエリを発行することで確認できます。
IDPSは**Network rule log data、URLフィルタリングやWebカテゴリはApplication rule log data**を選択し、そのクエリを実行することで確認できます。
Log-1.png
Log-2.png
**Network rule log data**で生成されるクエリでは、2021年7月20日現在、IDPSのログが表示されません。下記のフィルタを記載するか、OperationNameのフィルタを削除することで表示されるようになります。

OperationName == "AzureFirewallIDSLog"

クエリは編集可能ですので、見たい範囲を絞ったり、形式を変えたりすることもできます。
また、クエリ結果をCSVにエクスポートしてExcelで見たり、監査のために一定期間保持するようなことも可能です。
Log-3.png
さらにPower BIで見たりAzure Monitorのブックもあります。

ユーザーエクスペリエンス

アクセスがブロックされると、Microsoft Edgeの場合はこのように表示されます。HTTPSとHTTPで異なっていることがわかります。
User-1.png

シグネチャでDeny(拒否)を設定したルールに合致した場合はパケットが落とされるので、ユーザー側はタイムアウトとして経験する形になると思います。

Azure Firewall Premiumによって生成される証明書は、下記のようになります。
EdgeのCertificate Informationには3つしか写っていませんが、この上にRoot CA(Self Signed Root CA)があり、証明書ストアにはこれが信頼している証明機関として登録されています。
User-2.png

AVD視点での考察

Premiumだからのポイント

TLS Inspectionを使うことで、Webカテゴリによるアプリケーションルールで、https://www.google.comがSearch Engineとしてカテゴライズされ、https://www.google.com/newsがNewsとしてカテゴライズされるようになります。
category-1.png
category-2.png
Googleのニュースサイトを表示するには、www.google.com/news(News)からnews.google.com(Search Engine)にリダイレクトされるので、両方のWebカテゴリを許可する必要があります。

クライアントOSを使うためのルール設定

AVDで必要となるルールはこちらに解説があります。
しかし、ここで使ったARMテンプレートからのデプロイで、アプリケーションルールにプライオリティ100のルールがセットされますが、KMSを通すためのルールはネットワークルールで追加する必要があるものの、ネットワークルールはアプリケーションルールより先に評価するため若い番号のプライオリティを設定しなければいけないにもかかわらず、プライオリティ100が最低という仕様のため追加できません。このため、既存のルールのプライオリティを1ケタ上げるなど変更する必要があります。なお、これはこのARMテンプレートを使ったからであって、製品仕様的な問題ではありません。
Rule-1.png

注意

2021年7月20日現在、既知の課題がこちらに記載されています。特に、IDPSでログに記録されるアドレスが、特定条件下で正しくないことには注意が必要です。
その他、ログが記録されるまでに20分以上かかる場合があるようです。

Tips

環境の再構築

検証環境を削除し同じリソースグループ名で再構築しようとすると、最初に作成した環境のKey Valultが論理削除されてAzure上に残っているため、同じ名前のKey Vaultがあるということでデプロイに失敗します。このため、同じ環境を再デプロイする場合は、以前のKey Vaultを完全削除する必要があります。

  • 削除したKey Vaultのリストアップ
az keyvault list-deleted
  • 完全削除(パージ)
az keyvault purge -n fw-quick-<name>
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?