Azure Firewall 用にエンタープライズ CA 証明書をデプロイおよび構成する
Azure Firewall Premium には、証明書認証チェーンを必要とする TLS 検査機能が含まれています。 運用環境のデプロイでは、エンタープライズ PKI を使用して Azure Firewall Premium で使用する証明書を生成する必要があります。 この記事を使用して、Azure Firewall Premium 用の中間 CA 証明書を作成して管理します。
Azure Firewall Premium で使用される証明書に関する詳細については、「Azure Firewall Premium の証明書」を参照してください。
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
エンタープライズ CA を使用して Azure Firewall Premium で使用する証明書を生成するには、次のリソースが必要です。
- Active Directory フォレスト
- Web 登録が有効になっている Active Directory 証明書サービスのルート CA
- Premium レベルのファイアウォール ポリシーを使用した Premium Azure Firewall
- Azure Key Vault
- Key Vault アクセス ポリシーで定義されている "証明書とシークレット" に対する読み取りアクセス許可を持つマネージド ID
証明書の要求とエクスポート
- ルート CA の Web 登録サイト (通常は
https://<servername>/certsrv
) にアクセスし、 [証明書の要求] を選択します。 - [証明書の要求の詳細設定] を選択します。
- [この CA への要求を作成し送信する] リンクを選択します。
- 下位証明機関テンプレートを使用してフォームに入力します。
- 要求を送信し、証明書をインストールします。
- この要求が Internet Explorer を使用して Windows Server から行われた場合は、 [インターネット オプション] を開きます。
- [コンテンツ] タブに移動し、 [証明書] を選択します。
- 発行したばかりの証明書を選択し、 [エクスポート] を選択します。
- [次へ] を選択してウィザードを開始します。 [はい、秘密キーをエクスポートします] を選択し、 [次へ] を選択します。
- 既定では、.pfx ファイル形式が選択されています。 [可能であれば、証明書パスにあるすべての証明書を含む] をオフにします。 証明書チェーン全体をエクスポートすると、Azure Firewall へのインポート処理が失敗します。
- キーを保護するためのパスワードを割り当てて確認し、 [次へ] を選択します。
- ファイル名とエクスポート先を選択し、 [次へ] を選択します。
- [完了] を選択し、エクスポートした証明書を安全な場所に移動します。
証明書をファイアウォール ポリシーに追加する
- Azure portal で、Key Vault の [証明書] ページに移動し、 [生成/インポート] を選択します。
- 作成方法として [インポート] を選択し、証明書に名前を付け、エクスポートした .pfx ファイルを選択して、パスワードを入力し、 [作成] を選択します。
- 対象のファイアウォール ポリシーの [TLS 検査] ページに移動し、対象のマネージド ID、キー コンテナー、および証明書を選択します。
- [保存] を選択します。
TLS 検査の検証
- 選択した宛先 URL または FQDN に対する TLS 検査を使用して、アプリケーション ルールを作成します。 (例:
*bing.com
)。 - ルールのソース範囲内にあるドメイン参加済みのマシンから、宛先に移動し、ブラウザーのアドレス バーの横にあるロック記号を選択します。 証明書には、パブリック CA ではなく、エンタープライズ CA によって発行されたことが表示されます。
- 証明書を表示して、証明書のパスなどの詳細情報を表示します。
- Log Analytics で、次の KQL クエリを実行して、TLS 検査の対象となったすべての要求を返します。
結果には、検査されたトラフィックの完全な URL が表示されます。AzureDiagnostics | where ResourceType == "AZUREFIREWALLS" | where Category == "AzureFirewallApplicationRule" | where msg_s contains "Url:" | sort by TimeGenerated desc