Azure Firewall Premium は、機密性の高い規制された環境に必要な機能を備えた次世代ファイアウォールです。 このパックには、次の機能があります。
- TLS 検査 - 送信トラフィックを復号化し、データを処理し、その後にデータを暗号化して宛先に送信します。
- IDPS - 悪意のあるアクティビティのネットワーク アクティビティの監視、このアクティビティに関する情報のログ記録、レポート、および必要に応じてブロックを試みるために使用できるネットワーク侵入検出および防止システム (IDPS)。
-
URL フィルタリング - Azure Firewall の FQDN フィルタリング機能を拡張して URL 全体が考慮対象になるようにします。 たとえば、
www.contoso.com/a/cの代わりにwww.contoso.comとなります。 - Web カテゴリ - 管理者は、ギャンブルの Web サイトやソーシャル メディアの Web サイトといった Web サイト カテゴリへのユーザーのアクセスを許可または禁止できます。
詳細については、「Azure Firewall Premium の機能」を参照してください。
テンプレートを使用して、3 つのサブネットを持つ中央仮想ネットワーク (10.0.0.0/16) を持つテスト環境をデプロイします。
- ワーカー サブネット (10.0.10.0/24)
- Azure Bastion サブネット (10.0.20.0/24)
- ファイアウォール サブネット (10.0.100.0/24)
重要
時間単位の料金は、送信データの使用量に関係なく、Bastion がデプロイされた時点から発生します。 詳しくは、「価格」および「SKU」を参照してください。 チュートリアルまたはテストの一環として Bastion をデプロイしている場合は、使用終了後にこのリソースを削除することをお勧めします。
このテスト環境では、わかりやすくするために 1 つの中央仮想ネットワークが使用されます。 運用環境では、ピアリングされた仮想ネットワークを使用する ハブ アンド スポーク トポロジ の方が一般的です。
worker 仮想マシンは、ファイアウォールを介して HTTP/S 要求を送信するクライアントです。
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
インフラストラクチャをデプロイする
テンプレートは、IDPS、TLS 検査、URL フィルタリング、および Web カテゴリを使用して、Azure Firewall Premium の完全なテスト環境をデプロイします。
- コア機能 (IDPS、TLS 検査、URL フィルタリング、Web カテゴリ) を簡単に検証できるように、定義済みの設定を備えた新しい Azure Firewall Premium とファイアウォール ポリシー。
- Key Vault とマネージド ID を含むすべての依存関係。 運用環境では、これらのリソースが既に存在する場合、同じテンプレートではそれらを必要としないことがあります。
- 自己署名のルート CA が生成され、作成された Key Vault にデプロイされます。
- Windows テスト仮想マシン (WorkerVM) で生成およびデプロイされる派生中間 CA。
- Bastion ホスト (BastionHost) もデプロイされ、それを使用して Windows テスト マシン (WorkerVM) に接続できます。
ファイアウォールをテストする
これで、IDPS、TLS 検査、Web フィルタリング、Web カテゴリをテストできます。
ファイアウォール診断設定を追加する
ファイアウォール ログを収集するには、診断設定を追加してファイアウォール ログを収集します。
- DemoFirewall を選択します。 [監視] で [診断設定] を選択します。
- [診断設定の追加] を選択します。
- [診断設定名] に「fw-diag」と入力します。
- ログで、AzureFirewallApplicationRule と AzureFirewallNetworkRule を選択します。
- [宛先の詳細] で、 [Log Analytics ワークスペースに送信する] を選択します。
- [保存] を選択します。
IDPS のテスト
IDPS をテストするには、適切なサーバー証明書を使用して独自の内部テスト Web サーバーをデプロイします。 このテストには、悪意のあるトラフィックを Web サーバーに送信することが含まれているため、パブリック Web サーバーでこのテストを実行しないでください。 Azure Firewall Premium の証明書の要件に関する詳細については、「Azure Firewall Premium の証明書」を参照してください。
curlを使用して、さまざまな HTTP ヘッダーを制御し、悪意のあるトラフィックをシミュレートします。
HTTP トラフィックの IDPS をテストするには
WorkerVM 仮想マシンで、管理者のコマンド プロンプト ウィンドウを開きます。
コマンド プロンプトに、次のコマンドを入力します。
curl -A "HaxerMen" <your web server address>Web サーバーの応答が表示されます。
Azure portal でファイアウォール ネットワーク規則のログに移動し、次のメッセージのようなアラートを見つけます。
{ “msg” : “TCP request from 10.0.100.5:16036 to 10.0.20.10:80. Action: Alert. Rule: 2032081. IDS: USER_AGENTS Suspicious User Agent (HaxerMen). Priority: 1. Classification: A Network Trojan was detected”}注意
ログにデータが表示され始めるまでに、しばらく時間がかかる可能性があります。 ログにデータが表示され始めるまで、少なくとも数分かかります。
署名 2032081 の署名規則を追加します。
- DemoFirewallPolicy を選択し、 [設定] で [IDPS] を選択します。
- [署名規則] タブを選択します。
- [署名 ID] の下に開くテキスト ボックスに「2032081」と入力します。
- [モード] で、 [禁止] を選択します。
- [保存] を選択します。
- デプロイが完了するのを待ってから続行します。
WorkerVM で、
curlコマンドをもう一度実行します。curl -A "HaxerMen" <your web server address>HTTP 要求がファイアウォールによってブロックされたので、接続タイムアウトの有効期限が切れると、次の出力が表示されます。
read tcp 10.0.100.5:55734->10.0.20.10:80: read: connection reset by peerAzure portal で監視ログに移動し、ブロックされた要求に関するメッセージを見つけます。
HTTPS トラフィックの場合に IDPS をテストするには
HTTP ではなく HTTPS を使用してこれらの curl テストを繰り返します。 次に例を示します。
curl --ssl-no-revoke -A "HaxerMen" <your web server address>
HTTP テストと同じ結果が表示されます。
URL フィルタリングによる TLS 検査
URL フィルタリングによる TLS 検査をテストするには、次の手順を使用します。
ファイアウォール ポリシーのアプリケーション規則を編集し、
AllowURLという名前の新しい規則をAllowWeb規則コレクションに追加します。 ターゲット URLwww.nytimes.com/section/world、送信元 IP アドレスの *、宛先の種類 の URL、 TLS 検査の選択、http 、https のプロトコルを構成します。デプロイが完了したら、WorkerVM でブラウザーを開き、
https://www.nytimes.com/section/worldに移動します。 ブラウザーに HTML 応答が期待どおりに表示されていることを確認します。Azure portal で、アプリケーション規則の監視ログ内で URL 全体を表示できます。
一部の HTML ページは、拒否された他の URL を参照するため、不完全に見える場合があります。 この問題を解決するには、次の方法を使用します。
HTML ページに他のドメインへのリンクが含まれている場合は、これらの FQDN へのアクセスを許可する新しいアプリケーション ルールにこれらのドメインを追加します。
HTML ページにサブ URL へのリンクが含まれている場合は、ルールを変更し、URL にアスタリスクを追加します。 例:
targetURLs=www.nytimes.com/section/world*または、ルールに新しい URL を追加します。 次に例を示します。
www.nytimes.com/section/world, www.nytimes.com/section/world/*
Web カテゴリのテスト
スポーツ Web サイトへのアクセスを許可するアプリケーション ルールを作成します。
ポータルから、リソース グループを開いて DemoFirewallPolicy を選択します。
[ アプリケーション ルール] を選択し、[ ルール コレクションの追加] を選択します。
[名前] に「GeneralWeb」と入力します。 [優先度] に「103」と入力します。 ルール コレクション グループ で、DefaultApplicationRuleCollectionGroup を選択します。
ルール で、名前 に AllowSports と入力します。 ソースの*を入力します。 http と入力し、プロトコルに https を入力します。 [ TLS 検査] を選択します。 転送先の種類 で、Web カテゴリ を選択します。 [ 宛先] で [ スポーツ] を選択します。
[追加] を選択します。
デプロイが完了したら、 WorkerVM に移動し、Web ブラウザーを開き、
https://www.nfl.comを参照します。NFL Web ページが表示され、アプリケーション ルール ログに Web カテゴリ: スポーツ ルールが一致し、要求が許可されたことが示されます。