自宅のNWに外出中でも接続できる環境を構築します。 Microsoft の Entra Secure Access を導入する作業の記録です。
Entra Private Access を利用するための Microsoft Entra 管理センターでの設定作業、自宅に配置するコネクタの構築、接続するクライアントの準備、動作確認までの一連の作業をできる限り画面スクリーンショットありで記録に残します。 自分の構築メモ兼、Microsoft の ZTNA ソリューションを検討している方向けの参考になればと。
目次
どうして ZTNA (Entra Private Access)を導入するのか?
ZTNA を導入する理由を一枚の絵にしました。(by 生成AI)

昔はリモートアクセス用のVPNサーバを準備して SSL-VPN や IPsecでトンネル掘って接続する構成が一般的でした。 家庭向けのブロードバンドルータやWiFiルータにVPN機能が標準で付与されていたり価格も非常にリーズナブルということもありました。
昨今はインターネット向けに Public IP アドレスをさらすことは非常に危ういです。 セキュリティの対応を 24時間365日継続できる覚悟および実行力と体制が必要です(個人の自宅NWとしては大げさな言葉ですが、ほんとそう思う)。 ソフトウェア的な脆弱性や設定ミスを0にすることは出来ないし、特に個人の環境においては仕事や睡眠、その他やることがある中で常時監視し続けることや、リアルタイムなパッチ適用は難しく、仕事などで数日家を離れている間に脆弱性を放置し、そのまま侵入されるということも十分おきえます。
ということで従来型のVPNのようにインターネットにPublic IP をさらさない ZTNA を導入することにしました。 また、従来型のVPNのように1つの認証・認可で自宅NWにすべてアクセスできるのではなく、接続先も制御(認可)していきます。
ZTNAのツールについて、特にこだわりはなかったのですがライセンスの観点でお得感があった Microsoft Entra Private Access を利用してみることにします。 全く初めて扱うソリューションということでわたしのスキル不足による設計や設定の不備の心配はありますがインターネットにIPアドレスやポートをさらさないということでよるそこまでリスクは高まらないだろうと考えての導入です。 なんにせよ自分でやってみた方が気づきはあるし、手に負えないならやめてしまうだけです。
Entra Private Access の構成イメージ
実現イメージは以下の感じです。
- 自宅ネットワーク(Home Network)にはインターネットに公開するVPNサーバはおかない
- VPNサーバの代わりにコネクタを自宅内のWindows にインストールし、そのコネクタが常時インターネット上のEntra Private Access とトンネルを構成
- 自宅外のクライアントはEntra ID の条件付きアクセスやID保護など様々なセキュリティチェックを経て自宅のリソースにアクセス可能
- 自宅NWに接続するのではなく、特定のIDが特定のシステムの特定のサービスにだけ接続可能

Entra Private Access の構築作業の流れ
Microsoft Entra Private Access の構築作業の大まかな流れを最初に説明します。 SaaS な感じなのであっという間に構築は完了できそうです。
- Entra 管理センターでの初期設定
- 自宅の Windows にコネクター(Connector)をインストール
- 自宅リソース(IP / ポート等)をアプリとして登録
- 接続クライアントの準備
- クライアントから接続テスト
Entra 管理センターでの初期設定
Entra 管理センターで初期設定を行います。
グローバルセキュアアクセスの管理画面に移動します。

“アクティブ化”をクリックします。

アクティブ化が開始されます。

3分弱でアクティブ化は完了しました。

“作業の開始”をクリックすると、チュートリアルビデオで勉強できます。

グローバル セキュア アクセス > 接続 > トラフィック転送 の画面に移動します。
“プライベート アクセス プロファイル“のトグルをクリックし、有効化します。

確認が来るので
“OK”をクリックします。

有効になりました。

トラフィック転送するユーザまたはグループを割り当てます。 このプライベートアクセスプロファイルでのユーザ・グループの割り当ては ZTNA に接続できるクライアント(実際にはユーザですが)を指定します。 この設定以外にも接続先ごとにも指定をしますがそれは後ほど。
今回はライセンスをもっているユーザ”すべて”に割り当てます。

設定後の画面。

自宅の Windows にコネクター(Connector)をインストール
自宅のWindows環境にコネクタをインストールします。 このコネクタを導入したマシンはインターネット上の Microsoft Entra Private Access に接続します。 インターネット向けのアウトバウンド通信となり、パブリックIPで待ち受けることはありません。
Microsoft Entra 管理センターにサインインし、コネクタサービスをダウンロードします。
“コネクタ サービスのダウンロード”をクリックします。

“規約に同意してダウンロード”をクリックし、ダウンロードを開始します。

ダウンロードしたインストーラ(MicrosoftEntraPrivateNetworkConnectorInstaller.exe)を実行し、インストールを開始します。
規約をちゃんと確認して、同意のチェックボックスにチェックして”Install”をクリックします。

インストール先の選択やその他オプションの選択などはなく、インストールが実行されます。
以下、インストール中の画面。

途中でMicrosoft アカウントでの認証が求められます。 Entra Suite のライセンスを付与した職場のアカウントでサインインします。 職場といっているのは Microsoft用語で個人で払い出したMicrosoft アカウントに対しての有償のライセンスでのアカウントという感じ。

ブラウザが古かったりすると、”Update your browser”と警告がでて進めませんでした。 今年の夏前ごろからでしょうか、高性能AIのおかげかChromeもEdgeも大量かつ頻繁に更新が提供されるのでついつい適用が遅れてしまってしまいます。

あとスクリーンショットの紹介はありませんが、Windows Server で進める際にはOSインストール直後のEdge では進めることができず IE ESC (IE セキュリティ強化の構成)を一時的に無効にして進めました。 無効にしなくても通信先だけを必要最小限に権限付与、実行許可すればインストールと Entra Private Access 管理プレーンへのコネクタのオンボードを進められるとは思いますが面倒だったので今回は安直な無効化で進めています。 仕事ではないですし。
インストールが完了です。

インストールが完了すると Entra 管理センターのグローバル セキュア アクセス > コネクタとセンサー画面にコネクタをインストールしたコンピュータが一覧表示されます。 自宅の中のマシンを2台登録したので2つ”アクティブ”になりました。
これでコネクタのインストールとPrivate Access への登録は完了です

自宅リソース(IP / ポート等)をアプリとして登録
アプリの登録を行います。 アプリケーションといってもEntra Private Access の世界でいうと自宅にある接続先となる機器やシステム、デバイスとなります。
左側のメニューから グローバル セキュア アクセス > アプリケーション > クィックアクセス を開きます。
名前は任意です。 コネクタグループは”Default – アジア”しか選べませんでした。
Connector Routing Method は”Rnadoum”、”Session Persistence”、”Performance”から選択できます。 複数のコネクタが存在する場合は方針を決めて選択します。 Randomは言葉通りなので同じ可用性、性能のコネクタサーバがある場合に適しています。 Session Persistence は接続先のシステムでPersistence が必要な場合に利用することになります。 Performance も言葉通りでコネクタの負荷(応答速度)を見て振り分けます。 私の場合は自宅環境で特に要件はないため Random にしています。

“クィック アクセス のアプリケーション セグメントを追加”をクリックします

自宅内の接続先となるシステムのIPアドレスやポート番号を登録します。

登録後の画面。 ここで一度”保存”を実行します。 ”保存”を実行しないと次のユーザ登録に進めません。

クィックアクセス内の管理メニューから 「ユーザーとグループ」 を開きます。
“ユーザーまたはグループの追加”をクリックします。

実際の検索と選択画面は省略し、以下、選択後の画面。 ”割り当て”を実行します。

割り当てがおわりました。

最終的に宛先・ポートとして8つほど構成しました。

接続クライアントの準備
まずはクライアントのアプリケーションをダウンロードします。

ダウンロードした”GlobalSecureAccessInstaller_2.32.294.exe” を実行しインストールします。

Termをちゃんと読んだうえでチェックボックスにチェックし、”Install”を開始します。

それほど待たずにインストールは完了です。

インストールが完了するとタスクトレイにアイコンが表示されます。

アイコンをクリックすると Global Secure Access のクライアント側の管理画面が開きます。 ここでStatusだったりトラブルシューティングのためのログ採取や詳細情報を確認したり、接続状態をDisableにしたり、Enableにしたり切り替えできます。

Troubleshootingの画面は以下。 最新のポリシーやログを取得したり、画面で適用されているポリシーを確認することができます(Run toolから)

動作テスト
動作テストは以下の内容を実施しました。 問題なく動作を確認できました。
- テスト用クライアントを自宅以外のインターネット回線に接続する(キャリアSIMのテザリング)
- 接続テスト(UbuntuマシンへのSSH)
- 接続テスト(TrueNAS管理画面)
- 接続テスト(Windows へのリモートデスクトップ)
テストの中身をすべて紹介することはないのですが、ポイントだけ紹介です。
UbuntuマシンへのSSHですが、接続元IPを Secure Access 経由なのかそうでないのかを判断します。
Secure Access 経由ではない場合、接続元は接続元クライアントのIPアドレスとなり、Secure Accessを経由する場合はコネクタをインストールしたホストのIPアドレスが接続元のIPアドレスとなります。 lastコマンドで確認できます。
postwater9@sun:~$ last | head -1
postwate ssh 192.168.XX.61 Sat Oct 17 17:45 - still logged in
→ 第4オクテットが"61"のホストからSSH接続されているpostwater9@sun:~$ last | head -1
postwate ssh 192.168.XX.199 Sat Oct 17 17:50 - still logged in
→ 第4オクテットが"199"のコネクタをインストールしたホストからSSH接続されている以上
