35.3K Views
September 26, 23
スライド概要
VPNを使わずWeb Appの外部公開に最適な、Microsoft Entra Application Proxyの構築方法を記載しています。
.NETラボ 2023 09月勉強会 小鮒 通成
自己紹介です 都内Sierに勤務し、Windows/MEID認証基盤のコンサ ル・設計・トラブルシュート・ブログ公開などをやっています。 Microsoft Q&Aで、ときどき回答しています。 商業誌でWindows記事の寄稿を行うことがあります。 MSMVP Enterprise Mobility→Securityを受賞していま す(MVP受賞回数21回+α)。 秋葉原によく現れます。最近は48型有機ELディスプレイ を買いました…。
Azure AD→MEIDへのリブランド Azure ADからMicrosoft Entra IDへの名称変更 オンプレADとの違いの明確化 クラウド認証基盤の別ブランド化 Microsoft Entraファミリーの再編(一部) Microsoft Entra ID Governance Microsoft Entra External ID Microsoft Entra Verified ID Microsoft Entra Permissions Management Microsoft Entra Internet Access Microsoft Entra Private Access
Microsoftが考えるゼロトラスト Azureにおける6つの基本要素 ID(アイデンティティ) エンドポイント データ アプリケーション インフラストラクチャ ネットワーク 可視性を高め、自動化やオーケストレーションを推進 ゼロ トラストとは | Microsoft Learn
VPNとゼロトラスト VPNのセキュリティリスク 社内ネットワークに入られたら内部リソース見放題 アカウントの権限が小さくても商用情報は剽窃可能 小さな権限から大きな権限を取得するクラック手法の一般化 VPNのネットワークオーバーヘッド インターネットアクセスをVPN経由にすることでのパフォーマンス 低下 外部経由のインターネットアクセスのフィルタリング・ロギングは本 当に有用なのか VPNを「やめる」ことがゼロトラストの推進につながる AVD for Azure Stack HCIを採用 Microsoft Entra Application Proxyの採用 Microsoft Entra Internet Access / Private Accessの採用
参考:MEIAとMEPA Global Secure Accessとは オンプレミスに存在したVPN機器のSaaS化のイメージ AzureのWAN(バックボーンネットワーク)を使用して「プレ ゼンスポイント」から提供される。 Microsoft Entra Internet Access クライアントがGSA経由して、Microsoft 365や、サードパー ティのクラウドや任意のインターネットアクセスを可能にする。 Microsoft Entra Private Access GSA内部にプライベートエンドポイントを設定し、SaaSやオ ンプレミスのサーバー・アプリにアクセスを可能にする。
確実に置き換わるのですが… 温故知新 古いソリューションを知っていると、新しいソリューションの開発理 由や背景がわかるため、エンジニアとしての技量が増えるかもし れません。 新しいソリューションとの比較検討 古いソリューションができないものが新しいソリューションでできる、 という比較が新しいソリューションのよいところを強調してくれます。 実装の要諦を知る 古いソリューションとの共通性などの引き継がれた部分を、評価 セットアップで体験できます(これはこじつけですかね…)
Microsoft Entra Application Proxyと は 旧名はAzure AD Application Proxy WebアプリをMicrosoft Entra ID(Azure AD)の認証認可 で公開 クラウドアプリ扱いでMicrosoft Entra IDにエンタープライ ズアプリケーションとして登録 Microsoft Entra (Hybrid) Joined環境があれば外部から VPNで繋ぎ込む必要なし 「条件付きアクセス」での多要素ベースの認可条件付け が可能
Microsoft Entra App Proxyの動作 オンプレミス側でApplication Proxy Connectorと呼ばれ るエージェントでMicrosoft Entra IDに内側からコネクショ ンを張る Microsoft Entra ID認証が通ったあと、そのコネクション を使ってConnectorの仲立ちによるWebアプリとのプロキ シ通信を行う 外部からプロキシで認証する場合、統合Windows認証 に必要な「対象サーバーと直接認証する」ことができない ので、「Kerberosの制限付き委任」でConnectorサーバー が代理で統合Windows認証を引き受けている
前提条件 Microsoft Entra ID Premium 1 or 2の契約が必要 .NET Framework 4.7.1以降が必要 TLS 1.2以降が必要 WinhttpコンポーネントでのHTTP 2.0の無効化が必要 (Windows Server 2019以降) 80/tcpおよび443/tcpのアウトバウンド接続が必要 指定URLのフィルタリングがないこと App Proxyパブリック側のDNS名前解決が必要 Tutorial - Add an on-premises app - Application Proxy in Microsoft Entra ID - Microsoft Entra | Microsoft Learn
検証環境 Windows Server 2022ドメインコントローラー Windows Server 2022 IIS Webサーバー(IWA) Windows 11クライアント Azureポータルでカスタムドメイン名を構成 Microsoft Entra ID Premium 2を有効
Azureでのカスタムドメインの構成 Azureポータルでカスタムドメイン名を構成。オンプレミス ADのDNS名と同一のモノをAzure DNSに設定。
オンプレミス環境の構成 ドメインコントローラーの構成。Microsoft Entra Connect を追加インストール。 IIS Webサーバーの構成。IWA認証に構成。 クライアントの構成。
Kerberosの制限付き委任の構成 委任される側はドメインコントローラー。Application Proxy Connectorをインストールするため。(検証のためセキュリ ティは考慮外) 委任する側はIIS Web サーバー。
Kerberosの制限付き委任の構成2 Connectorをインストールするドメインコントローラー上で、 WinhttpのHTTP2.0を無効化するレジストリを設定。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Win dows\CurrentVersion\ Internet Settings\WinHttp!EnableDefaultHTTP2 (REG_DWORD:0x00000000)
App Proxy Connectorのインストー ル Connectorをインストールするドメインコントローラー上で、 ダウンロードしたConnectorをインストール。Azure(アプ リーケーション)管理者アカウントを指定するだけ。
App Proxy へのWebアプリの登録 Application Proxy自体はSaaSのため、Azureポータルか ら登録を行う。 外部URLはカスタムドメイン名のほか[最初のサブドメイン +msappproxy.net]も使用できる。
外部URLをDNS名前解決する インターネット側(Azure DNS)とオンプレミス側(オンプレ AD)両方について、CNAMEを登録する。
App Proxyの有効化 Azureポータルから有効化することでApp Proxy側の設 定は終了。 「メンテナンスモード」で、外部からの接続は遮断できる。
エンタープライズアプリへのユー ザー割り当て この段階でMicrosoft Entra IDにエンタープライズアプリ ケーションとして登録されているため、ユーザー割り当て を行うことができる。
エンタープライズアプリへのSSO設 定 -[エンタープライズアプリケーション]からアプリを選択し、 [シングルサインオン]-[Windows統合認証]でIWA設定 を構成。
App Proxy経由でWebアプリをIWA 認証する Azure DNS / オンプレAD に登録したCNAMEで名前解 決されている IWA認証によるWebアクセスが可能
まとめ ゼロトラストを高度に実現するためには、ネットワーク境界 のセキュリティを変える必要があり、オンプレミスベースの VPNには脆弱面が否めない。 将来的にはMEIA/MEPAが、オンプレミスVPNに置き換 わる可能性がある。レガシーとはなるが、MEAPはそのた めの基盤技術のひとつして、習得しておくとよい。 内部的には高度だが、技術的な要諦がわかれば、管理 者としては実装展開が比較的容易なため、オンプレVPN 卒業の第一歩として、検討の余地は十分にある。
参考情報 グローバル セキュリティで保護されたアクセスの概要 (プレ ビュー) | Microsoft Learn グローバルなセキュリティで保護されたプレゼンス アクセス ポ イント | Microsoft Learn Microsoft Entra Internet Access (microsoft.com) Microsoft Entra Private Access (microsoft.com) オンプレミスのアプリへのリモート アクセス - Azure AD アプリ ケーション プロキシ - Microsoft Entra | Microsoft Learn アプリケーション プロキシを使った Azure Active Directory の Kerberos ベースのシングル サインオン (SSO) - Microsoft Entra | Microsoft Learn