【インターネットアクセス編】一般公開されたMicrosoft Entra Global Secure Access の動作確認 (1/3)

# 1.はじめに

***Microsoft Entra Global Secure Accessが、2024年7月11日(米国時間)に、Entra Suiteのプランの一部として、一般公開（GA）されました***。
そのため、***2024年7月末時点での調査・検証レポート***をここに記載します。

https://techcommunity.microsoft.com/t5/microsoft-entra-blog/microsoft-entra-suite-now-generally-available/ba-p/2520427

Microsoft Entra Global Secure Accessは、Microsoft Entra Internet AccessとMicrosoft Entra Private Accessの2つのネットワークセキュリティを提供しています。
今回は、インターネットアクセスセキュリティの機能を提供する***Entra Internet Access編***です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/5e74350e-4a99-ec7f-96b3-dd5afb033e56.png)

::: note
プランや価格情報
~~2024年7月20日では、Microsoft社の日本語ページ(ja-jp)の方には、情報の掲載がないようでしたので、英語ページ(en-us)の方で情報を確認する必要があります。~~

2024年8月7日に見てみると、Microsoft社の日本語ページ(ja-jp)の方に、価格情報の記載が追加されました。掲載情報のそのまま転記ですが、以下プライスです。

* Microsoft Entra Suite ¥1,799 ユーザー/月
* Microsoft Entra Internet Access ¥749 ユーザー/月
* Microsoft Entra Private Access ¥749 ユーザー/月

https://www.microsoft.com/ja-jp/security/business/microsoft-entra-pricing#xf10485b90ec24f94a590066f61bcf7fa

:::

# 2.現状のまとめ

本セクションでは、現状の仕様を確認して記載しています。

## 2-1.仕様調査
### 機能面
Microsoft Entra Internet Accessは、SWG (Secure Web Gateway)としての機能提供となっており、具体的には以下機能を提供しています。

* ***ユニバーサル条件付きアクセス***
* ***ウェブカテゴリーフィルタリング***
* ***FQDN(Fully qualified domain name)によるフィルタリング***
* ***トラフィックログのロギング***

つまり、HTTP, HTTPS通信を前提としたクラウドプロキシに相当する機能となっています。

:::note info
***Microsoft トラフィック転送プロファイル***

Microsoft Entra Global Secure Accessには、M365用トラフィックのフォワーディングの機能もありますが、こちらは別記事で記載します。

:::

### POP

現在提供されているPOPは、以下となり、日本では東京と大阪にロケ―ションがある模様です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/2c80fec4-98e9-ff14-9f98-6060bbefe920.png)

https://learn.microsoft.com/ja-jp/entra/global-secure-access/reference-points-of-presence#microsoft-entra-internet-access-and-microsoft-entra-private-access

### サポートするプラットフォーム

現状としては、WindowsとAndroidとなります。
ただし、Windowsにおいては、以下がサポートされています。特に、Entra JoinedやEntra Hybrid Joinedという観点は、導入のハードルになりやすいかと思います。

* Windows 11 または Windows 10 
* Azure Virtual Desktop シングルセッション、Windows 365
※Azure Virtual Desktop のマルチセッションはサポートされていません
* Microsoft Entra 参加済みまたは Microsoft Entra ハイブリッド参加済み
※Microsoft Entra 登録済みデバイスはサポートされていません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/160d6c3a-7b68-9b8d-3eca-565de9c6baae.png)
<br>


### ログの保持期間

トラフィックログに関しては、30日間保持されます。
監査ログに関しては、Entra ID P1/P2の場合は、30日間保持されます。
ログのエクスポートに関しては、診断設定機能から実現することができます。

https://learn.microsoft.com/ja-jp/entra/global-secure-access/concept-global-secure-access-logs-monitoring#log-retention-and-storage

### 設定可能なWEBカテゴリ

利用できるWEBカテゴリは、以下URL先にあります。

https://learn.microsoft.com/ja-jp/entra/global-secure-access/reference-web-content-filtering-categories

### 未提供機能(2024年7月時点)

2024年7月時点では、クラウドプロキシとしての機能提供が中心となっています。
そのため、以下のような機能は***2024年7月時点では、提供されていません***。

【未提供機能】
* クラウド型ファイア―ウォール（非HTTP,HTTPS通信に対する通信制御）
* IPS(Intrusion Prevention System)
* TLS復号処理
* WEB分離（実行環境の分離や画面転送によって、インターネットとデバイスの間を分離すること）
* CASB（インライン制御やシャドーITの可視化）

細かい点ですが、現時点では、以下機能も***サポートされていない、または、制限されます***。

* IPv6用通信
* ゲスト用ワイヤレスソリューションのキャプティブポータル
* DNS over HTTPS (DoH、セキュリティで保護されたDNS)
* UDP、QUIC
* HTTP,HTTPSは、それぞれ標準ポート(80,443)の利用が前提

https://learn.microsoft.com/ja-jp/entra/global-secure-access/how-to-install-windows-client#known-limitations

https://learn.microsoft.com/ja-jp/entra/global-secure-access/concept-internet-access#known-limitations

SWG通信における送信元IPレンジは、以下となり、テナント固有にすることはできません。

* 128.94.0.0/19
* 151.206.0.0/16

https://learn.microsoft.com/ja-jp/entra/global-secure-access/reference-points-of-presence#global-secure-access-egress-ip-ranges

### ユニークな点：条件付きアクセスとの統合

やはり、Entra IDの条件付きアクセスとして利用できる点が、特徴ですね。


以下画像のように、条件付きアクセスのポリシーの「セッション」のところに、「グローバルセキュアアクセスのセキュリティプロファイルを使用する」という項目が追加されています。
加えて、ターゲットリソースは、単純にインターネットトラフィックとすることができます。これをユニバーサル条件付きアクセスと呼んでいます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/80509217-caf1-e517-f505-a43d12b0db83.png)


### ユニークな点：他社SSEとの共存

Entra Global Secure Accessとしては、他社SASEやSSE製品との共存をうたっています。
軽量フィルター (LWF) ドライバーを使ってトラフィックをキャプチャすることで、Entra Global Secure AccessのPOPに通信をフォワードしているようです。

一般的なSSE製品は、仮想NICにルーティングするイメージがありますので、ネットワーク的に競合しないということかもしれませんね。SSE製品としても、Microsoft 365宛ての通信は、インターネットブレークアウトさせるのが主流であるため、Microsoft 365宛ての通信は、Entra Global Secure Accessを利用するといったユースケースを狙っているのかもしれません。

>Global Secure Access クライアントは軽量フィルター (LWF) ドライバーを使ってトラフィックを取得しますが、他の多くの Security Service Edge (SSE) ソリューションは、仮想プライベート ネットワーク (VPN) 接続として統合されます。 この違いにより、Global Secure Access クライアントは、これらの他のソリューションと共存できます。

https://learn.microsoft.com/ja-jp/entra/global-secure-access/concept-clients

以下はMicrosoft LearnのZscalerとの共存の記事です。
他にもCiscoやPalo Alto Networks、Netskopeとの記事もあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/17cb8a02-c7a1-3384-0fe9-dd80a02ebe78.png)


https://learn.microsoft.com/ja-jp/entra/global-secure-access/concept-zscaler-coexistence


## 2-2.現在提供していないが、今後提供しそうな機能

### アプリケーション検出

Entra 管理センターの「セキュリティで保護されたグローバルアクセス」のメニューに、アプリケーション検出という画面が追加されています。そのため、今後、ユーザが利用しているSaaSの可視化のような機能が拡張されるかもしれません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/2ef8e1a0-5992-4a35-7a6e-4bcf6163daee.png)

### iOSやmacOS

現在、サポートされるプラットフォームとして、iOSやmacOSは、Private Preview中のようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/abca17fa-0bb0-31ba-e14c-df2e03057140.png)

# 3.動作確認

ここからは、動作確認の話となります。

:::note alert
2024年7月末時点の検証での確認結果となります。
そのため、記載内容を保証するものではなく、テスト環境ならびに設定値によって、異なる結果となる場合がございます。
掲載内容に問題がある場合は、ご指摘いただければ修正させていただきます。
:::

### 3-1.テスト構成

以下テスト構成としています。

* Hyper-V上に、Windows 11 PCを用意
* Windows 11 PCは、Entra JoinedとIntune登録済み
* ユーザーに必要ライセンス適用済み

### 3-2.転送プロファイルの有効化（初回のみ）

本セクションは、初回作業時のみです。
Entra 管理センターに移動し、「セキュリティで保護されたグローバルアクセス > 接続 > トラフィック転送」に移動します。
ここで、利用するプロファイルを有効化します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/61696083-f70b-12e7-9325-e3a112f13d77.png)



### 3-3.アプリの展開

グローバルセキュアアクセスを「セキュリティで保護されたグローバルアクセス > 接続 > クライアントのダウンロード」のWindows 10/11の「クライアントのダウンロード」より、ダウンロードします。
インストーラを直接デバイス上で実行して、インストールすることができます。

また、Intuneで、配布することもできます。
その場合は、ダウンロードしたインストーラ(.exe)を.intunewinに変換した後、Intuneを利用して、デバイスにアプリの展開をします。
なお、インストールコマンドとアンインストールコマンド、検出ルールは、以下URLに記載しています。

https://qiita.com/mokonacl/items/8815ed0f693737aebac1#microsoft-entra-global-secure-access

問題がなければ、以下画像のように、Intune管理センターで、インストール済みとして表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/cdf446f6-b942-29f7-f2f2-429197d6323b.png)

Windows PC上では、下のところにアイコンが表示されるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/cbeb1e18-8bff-b04d-7766-b96bb275a700.png)

タスクマネージャを見てみると、5つのプロセスとして動作しています。
メモリの消費としては、約96MB程消費しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/1fd0f723-7105-7c1e-1233-029f745175e9.png)

インストールされているアプリにも表示されます。
アプリの容量としては、555MB程ディスクを消費しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/e3203611-3520-4906-fe09-8cfb7d28ecb0.png)

### 3-4.各種制限の適用

Global Secure Clientでは、DNS over HTTPSやIPv6、QUICは利用することができません。
そのため、これらを無効化しておきます。
以下URL先に、PowerShellコマンドがありますので実行して、DNS over HTTPSとIPv6を無効化します。

```PowerShell.ps1
function CreateIfNotExists
{
    param($Path)
    if (-NOT (Test-Path $Path))
    {
        New-Item -Path $Path -Force | Out-Null
    }
}

$disableBuiltInDNS = 0x00

# Prefer IPv4 over IPv6 with 0x20, disable  IPv6 with 0xff, revert to default with 0x00. 
# This change takes effect after reboot. 
$setIpv6Value = 0x20
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" -Name "DisabledComponents" -Type DWord -Value $setIpv6Value

# This section disables browser based secure DNS lookup.
# For the Microsoft Edge browser.
CreateIfNotExists "HKLM:\SOFTWARE\Policies\Microsoft"
CreateIfNotExists "HKLM:\SOFTWARE\Policies\Microsoft\Edge"

Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Edge" -Name "DnsOverHttpsMode" -Value "off"

Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Edge" -Name "BuiltInDnsClientEnabled" -Type DWord -Value $disableBuiltInDNS

# For the Google Chrome browser.

CreateIfNotExists "HKLM:\SOFTWARE\Policies\Google"
CreateIfNotExists "HKLM:\SOFTWARE\Policies\Google\Chrome"

Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Google\Chrome" -Name "DnsOverHttpsMode" -Value "off"

Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Google\Chrome" -Name "BuiltInDnsClientEnabled" -Type DWord -Value $disableBuiltInDNS
```

https://learn.microsoft.com/ja-jp/entra/global-secure-access/how-to-install-windows-client#disable-ipv6-and-secure-dns

次に、QUICを無効にします。
これは、Windows FirewallにQUICをブロックするルールを追加しています。

```PowerShell.ps1

$ruleParams = @{
    DisplayName = "Block QUIC"
    Direction = "Outbound"
    Action = "Block"
    RemoteAddress = "0.0.0.0/0"
    Protocol = "UDP"
    RemotePort = 443
}
New-NetFirewallRule @ruleParams
```

https://learn.microsoft.com/ja-jp/troubleshoot/azure/entra/global-secure-access/troubleshoot-global-secure-access-client-windows-issues#troubleshooting-checklist

### 3-5.ウェブフィルターの適用

ウェブフィルターを利用するには、以下２点を実施します。

①セキュリティプロファイルの作成
②条件付きアクセスに、セキュリティプロファイルの適用
<br>

***①セキュリティプロファイルの作成***

Entra 管理センターにて、「セキュリティで保護されたグローバルアクセス > 安全な > セキュリティプロファイル」を選択します。
この画面において、「＋プロファイルの作成」から、セキュリティプロファイルを作成します。

今回は、以下のようなセキュリティプロファイルを作成しました。
優先度は小さい数字の方が、優先的に適用されます。そのため、fqdnの許可を高優先度とし、カテゴリフィルタのblockを低優先度としています
そのため、カテゴリフィルタでブロックされていても、fqdnを指定してあげることで、許可することができます。

<table>
  <caption>セキュリティプロファイル</caption>
  <thead>
    <tr>
      <th>名前</th><th>優先度</th><th>アクション</th><th>種類</th><th>値</th>
    </tr>
  </thead>
  <tr>
    <td>Allow games.yahoo.co.jp</td> <td>501</td><td>allow</td><td>fqdn</td><td>*.games.yahoo.co.jp <br> games.yahoo.co.jp</td>
  </tr>
  <tr>
    <td>Block *.qiita.com</td> <td>601</td><td>block</td><td>fqdn</td><td>*.qiita.com</td>
  </tr>
  <tr>
    <td>Block example.com</td> <td>602</td><td>block</td><td>fqdn</td><td>example.com</td>
  </tr>
  <tr>
    <td>Block game & gambling</td> <td>801</td><td>block</td><td>webCategory</td><td>Gambling , Games</td>
  </tr>
<tr>
    <td>Block Liability</td> <td>802</td><td>block</td><td>webCategory</td><td>Liability 全部</td>
  </tr>
</table>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/07ddd968-b2e5-bb53-c460-7899441b98f0.png)


:::note info
WEBフィルタリング
FQDNによるWEBフィルタリングには、ワイルドカードを利用することができます。

例えば、*.qiita.comをブロックの設定にした場合は、
* ブロック：https://help.qiita.com
* ブロック：https://help.qiita.com/ja/articles/qiita
* 許　可　：https://qiita.com/
* 許　可　：https://qiita.com/official-campaigns/engineer-festa/2024

という結果になります。
そのため、qiita.comをサブドメインも含めてブロックしたい場合は、
qiita.com と *.qiita.com の両方を登録する必要があります。

:::

***②条件付きアクセスに、セキュリティプロファイルの適用***

次は、先ほど作成したセキュリティプロファイルを条件付きアクセスに適用します。
条件付きアクセスは、「ユーザ」、「ターゲットリソース」、「アクセス制御 > 許可」、「アクセス制御 > セッション」の４つに必要情報を入力します。

Global Secure Access固有の設定箇所としては、
* ターゲットリソースで、「セキュリティで保護されたグローバルアクセス」を選択し、「インターネットトラフィック」を選択
* セッションで、「グローバルセキュアアクセスのセキュリティプロファイルを使用する」を選択
する点となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/4075ad86-ed55-f3b1-7ef2-ba9145077dd2.png)

これで設定は完了です。

:::note info
反映時間
条件付きアクセスに適用した場合は、反映されるのに１時間程度必要となります。
セキュリティプロファイルの中身の修正だけであれば、5分以内で反映されます。
ユーザのコンピュータ上のクライアントに表示されるのには、10~20分程度必要となります。

引用：https://learn.microsoft.com/ja-jp/entra/global-secure-access/how-to-configure-web-content-filtering#verify-end-user-policy-enforcement
:::

# 4.動作確認

それでは、動作確認をしていきます。

### fqdnのブロック

example.comにアクセスすると、ブロックされました。
かなり簡素な感じですが、ブロックした場合はブロックした旨がブラウザに表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/7b716067-6800-515e-25a0-7716e4002aca.png)

### ワイルドカードのブロック

次は、*.qiita.comとして、help.qiita.comにアクセスします。
今度は、到達できないとしてブラウザに表示されました。ログを確認すると、Entra Global Secure Accessでブロックできているようですが、ユーザ目線だと混乱するかもしれません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/e724fb22-11e1-eb39-6ec9-17f2a6edc8a1.png)
<br>

なお、*.qiita.comでブロックにした場合は、qiita.com自体にはアクセスできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/73ecba09-d7e5-4dee-bc86-b61b0def70e6.png)
<br>

### カテゴリフィルタによるブロック

Public Previewのころは、英語圏のサイトしか上手く動かなかったですが、現在は日本語のサイトもかなりブロックできるようになっていました。
例えば、将棋のサイトや有名なゲーム会社のサイトにアクセスしてみるとブロックされました。
そして、ゲームカテゴリに属しますが、fqdnでAllowとして許可したサイトには、無事アクセスできました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256868/75868884-5876-a826-6d7a-602197fdaf0c.png)

# 4.おわりに

一般公開されたEntra Global Secure Accessについて、動作確認をしてみました。
去年のPublic Preview時点では、スループットがあまりでず、設定が反映されるのも数時間かかっていた記憶がありますが、かなりカイゼンされた模様です。
個人的には、IPSやクラウドファイヤーウォール、WEB分離のような機能が今後提供されるかが気になりました。

次回は、プライベートアクセス編となります。

https://qiita.com/mokonacl/items/90e135885145053d4e55