皆さん、こんにちは。ヘルプデスクの田中です。
今回は、久々に Azure AD Application Proxy (以降、App Proxy) の記事を執筆してみようと思います!
なお、App Proxy については、4年前の記事を参考にしてください。
Azure AD Application Proxy を触ってみよう ①既存のリバース プロキシをやめて App Proxy への切替をする企業は少なくないと思います。
例えば、以下のような理由で App Proxy への切替を検討します。
1. 既存のリバース プロキシの保守切れ、またはサポート切れ
2. セキュリティへの懸念点
特に「2」についてはリモートワークを推進する上で、社内システムへのセキュリティはとても重要だと思います。
App Proxy は Azure AD の条件付きアクセス機能を利用できるため、よりセキュリティを強化することが可能です。
(IT リテラシーが低い場合でも、多要素認証を導入するだけでセキュリティレベルは上がります。)
今回、App Proxy への移行方法を検証してみようと思います。
今回は後述する、項番「1」の切替前の URL を踏襲して検証していきたいと思います。
外部から接続するための URL (外部 URL) と内部から接続するための URL (内部 URL) を、以下の値を利用して検証していきます。
内部 URL:https://web.help-es.net/web/
外部 URL:https://web.help-es.net/web/
切替方法は以下の2パターンあると考えており、どちらかを選択することになると思います。
1. 切替前の URL を踏襲
2. 完全に別の URL (既定ドメイン等) に変更
項番「1」の場合は、外部 DNS の参照先が既存のリバース プロキシになっているため、外部 DNS の参照先を App Proxy に変更することで切替が完了する方法になります。
項番「2」の場合、全く別の URL となります。外部 DNS の参照先が別になるため、比較的切替は楽だと思いますが、混乱を避けるためユーザー周知などの事前準備は必要になります。
既存のリバースプロキシの設定は以下の通りです。
社外から [https://web.help-es.net/web/] へ接続し、筆者が作成したテスト Web サイトに接続できることを確認できます。
今回、App Proxy に切替後は、Azure AD 認証が必要な設定にします。そのため、切替後の正常性確認は、Azure AD 認証が表示されていれば問題ないとの判断が可能だと思います。
まずは、Azure AD でエンタープライズアプリケーションを作成します。
Azure Active Directory 管理センター (https://aad.portal.azure.com/) に管理者アカウントでサインインして、[エンタープライズ アプリケーション] – [すべてのアプリケーション] – [+ 新しいアプリケーション] を選択します。
[Azure AD ギャラリーの参照] 画面に遷移後、「オンプレミスのアプリケーションの追加」を選択します。
[独自のオンプレミスのアプリケーションの追加] 画面に遷移後、以下の設定をして、「+ 追加」をクリックします。
(今回は検証環境用の値となります。実際に設定する値を登録するように注意してください。)
左右にスクロールしてご覧ください。
設定項目 | 既定値 | 設定値 | 備考 |
---|---|---|---|
名前 | (空白) | Webアプリ | ― |
内部 URL | (空白) | https://web.help-es.net/web/ | IP アドレスは設定できません。 |
外部 URL | (空白) | https://web.help-es.net/web/ | 独自ドメインを利用するため、証明書が必要になります。 |
事前認証 | Azure Active Directory | Azure Active Directory | ― |
正常にアプリが作成されたことを確認した後、[エンタープライズ アプリケーション] 画面でアプリを検索し、作成したアプリが存在することを確認してクリックします。
今回、独自ドメインを利用するため証明書の設定が必要になります。そのため、証明書の設定が必要になります。
[対象アプリ] 画面に遷移後、[アプリケーション プロキシ] – [ここをクリックして証明書をアップロードしてください] をクリックし、[SSL 証明書] が設定されていることを確認します。設定されていない場合は、証明書を準備して、アップロードする必要があります。
正常にアップロードされた場合は、証明書が表示されます。
次に、事前認証を [Azure Active Directory] で設定しましたので、ユーザーの割当てが必要になります。今回は、ユーザー割当てが不要な設定をします。
[対象アプリ] 画面より、[プロパティ] をクリックします。
その後、[割当てが必要ですか?] を「いいえ」に変更して [保存] をクリックします。
事前準備はここまでとなります。
切替を実施する前に動作確認を行い、切替後の動作や接続先に問題ないことを確認する必要があります。
外部 DNS が既存のリバース プロキシを参照している場合の動作確認方法ですが、クライアントの hosts ファイルに追記する方法があります。
hosts ファイルに追記することで、参照先を強制的に変更することが可能となりますので、切替前の動作確認のテクニックとして覚えてもらえればと思います。
Azure Active Directory 管理センター (https://aad.portal.azure.com/) に管理者アカウントでサインインして、[エンタープライズ アプリケーション] – [すべてのアプリケーション]を選択し、今回作成したアプリを検索してクリックします。
[アプリ] の画面に遷移後、[アプリケーション プロキシ] を選択して、参照する CNAME レコードを確認します。今回だと、”web-m365x023467.msappproxy.net” という値が参照先になりますね。
操作端末で、[Win キー] + [R] で [ファイル名を指定して実行] を起動して、"cmd" と入力して「OK」をクリックし、コマンドプロンプトを起動します。
以下のコマンドを実行して、IP アドレスを確認します。
・ping web-m365x023467.msappproxy.net
表示された IP アドレスを hosts ファイルに追記して保存します。
なお、hosts ファイルは、以下のパスにあります。
・C:\Windows\System32\drivers\etc
それでは、実際に接続してみます。
社外から [https://web.help-es.net/web/] へ接続してみると、Azure AD 認証にリダイレクトされました。
ID とパスワードを入力すると、テスト Web サイトに接続できることを確認できました。
動作確認に問題がない場合は、外部 DNS の登録を App Proxy に変更して切替が完了となります!
外部 DNS へ登録する値は、以下の様になります。
ホスト名:web.help-es.net
TYPE:CNAME
値:web-m365x023467.msappproxy.net
変更後、正常に切替が完了しているか “nslookup” を利用して確認します。
あとは、"https:// web.help-es.net" にアクセスして、問題ないことを確認して完了となります。
いかがでしたでしょうか。
切替方法を事前に理解し、準備を進めておくことで App Proxy への切替はスムーズに行えたかと思います。
App Proxy へ切替ることで、Azure AD 認証が利用できるため、条件付きアクセスとも組合せができて、セキュリティの向上も望めると思います。
ただ、App Proxy へ移行する前に絶対実施して欲しいのは、”切替前確認” となります。
ぶっつけ本番でいざ切替をしたときに、問題が発生して切戻しなどもあるかもしれません。そのため、切替前に Web アプリ側の見え方に問題がないか
(文字化けなど) の事前確認は行うようにして下さい。
次回も EMS に関連する記事、または自分が興味ある分野について執筆していこうと思います。最後まで読んでいただきありがとうございました!
関連ページ |