Zscaler ZIA オプトアウト方式のTLSインスペクションで暗号化トラフィックを保護してみよう

# はじめに
こちらは Zscaler Advent Calendar 2024 の12/8(日)の記事になります。
本記事では、ZIA において、オプトアウト方式のTLSインスペクション構成を行い、基本的にすべての暗号化通信を検査しつつ、特定のトラフィックのみをバイパスする方法についてご紹介します。

TLSはインターネット上の通信を守るため不可欠なプロトコルですが、近年、暗号化通信は攻撃者によって悪用されるケースが増えています。ZscalerのTLSインスペクション機能をオプトアウト方式で活用することで、セキュリティギャップを最小化し、管理性と可視性を強化することが可能です。

##### Opt-In と Opt-Out は、どの範囲をデフォルトで対象とするかを表す概念です。

- オプトイン方式（Opt-In）：
対象となる範囲（たとえばウェブトラフィック）を、最初は除外した状態から始め、必要に応じて特定の要素だけを手動で追加していく方法です。

- オプトアウト方式（Opt-Out）：
対象となる範囲を最初からすべて含めた状態にし、そこから不要な要素だけを外していく方法です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622929/03dba911-9ffa-8de6-4c56-7c3bc071fdb6.png)


この2つの方法は、ポリシー設計において大きな違いを生みます。Zscalerでは、初期状態でTLSインスペクションを「オプトイン」方式で用いる傾向があり、基本的に「検査したいトラフィック」を指定する形です。すると、指定し忘れたトラフィックは検査されず、管理の抜け漏れが起こる可能性が生まれます。

一方、「オプトアウト」方式に切り替えると、最初からあらゆる暗号化トラフィックが検査対象となり、あとは「検査不要なもの」だけを明示的に除外するだけです。このアプローチなら、すべての通信が基本的に可視化・検査され、結果的にポリシーがシンプルになり、セキュリティギャップが生じにくくなります。

# 免責事項
本記事のコンテンツや情報は、可能な限り正確性および最新性を保つよう努めておりますが、常にその完全性・正確性を保証するものではありません。本記事の記載内容に基づくZscalerへのお問い合わせには応じかねる場合がありますこと、ご了承ください。ここでの説明・提案はあくまで筆者個人の見解であり、Zscaler社の公式見解、戦略、意見を代表するものではありません。掲載情報に基づいて生じたいかなる損害に対しても、筆者ならびにZscaler社は一切責任を負わないことをご了承ください。

# TL;DR
- オプトイン方式ではなく「オプトアウト方式」でTLSインスペクションを設定することで、基本的にすべての暗号化トラフィックを検査対象とできる。
- 証明書がインストールできないIoTやサーバトラフィックなど、検査できない・したくない特定のソースや宛先のみバイパスルールで除外すればよい。
- このアプローチにより、ポリシー管理の簡略化とセキュリティ態勢の向上が期待できる。

# オプトアウト方式TLSインスペクションの背景
TLSインスペクションは、コマンド＆コントロール通信の隠蔽、マルウェア配布、データ漏洩など、暗号化通信を悪用した脅威を可視化し対処する上で重要な技術です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622929/da518724-b815-d3d1-ef5d-0f0822a47a90.png)

ZIAのデフォルト設定では、証明書未配布環境での通信破損を防ぐため、初期状態では検査対象からトラフィックが外されています。そのままでは「オプトイン」ポリシーとして、検査対象を明示的に指定しなければならず、見落としによるギャップが生じる可能性があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622929/91e4be6f-4559-6b56-f1c2-37860c5e91e7.png)

そこで有効なのが「オプトアウト方式」です。検査から除外しない限り、すべての暗号化トラフィックを検査するルールをデフォルトで設定し、検査不可能あるいは不要なトラフィックのみバイパスすることで、管理対象外の暗号化通信によるセキュリティリスクを低減できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622929/304fb87a-b2b5-98a1-c523-e614984dace1.png)


# 必要な前提
- 自組織の内部ネットワークセグメントを十分に理解していること
（どのIPレンジに、どのようなユーザー、デバイス、ワークロードが属しているかを把握することが重要です）

# 手順の概要
1. ロケーショングループの作成（オプション）：バイパス対象となるIoTやサーバトラフィックをグルーピングし管理しやすくします。
2. サブロケーションの作成：親ロケーション（パブリックIP）配下のプライベートIPセグメントをサブロケーション化し、トラフィックを整理します。
3. SSL検査ルールの作成：
    - バイパスが必要な送信元（例：IoT、サーバ、ゲストWiFi）に対するSSLバイパスルール
    - それ以外のすべてを検査する「Inspect All」ルール
    - 冗長な既存の「オプトイン」ルールの削除
4. 検証：Web InsightsでHTTPS（復号済み通信）の増加やSSL（未復号通信）の減少を確認し、設定の有効性を検証します。

# 1. ロケーショングループの作成（オプション）
ZIAには標準で「企業ユーザートラフィック」「ゲストWiFi」「IoT」「サーバ」などのタイプが定義されていますが、より詳細な制御が必要な場合はロケーショングループを新規追加できます。

- Administration > Location Management > Location Groups
- “Add Manual Group”で分かりやすいグループ名を設定（例：AWS Linux Workload）
- 必要に応じて複数のグループを定義しますが、管理性向上のためシンプルさを保つことが推奨です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622929/00d18aeb-685e-c8ed-b513-2f39696d3e2d.png)


# 2. サブロケーションの作成
サブロケーションは、親ロケーション配下のプライベートIPレンジを一意に定義する仕組みです。
IoTデバイス群や特定のワークロードをサブロケーションとして分けておくことで、後でSSLバイパスルール設定が容易になります。

- Administration > Location Management > Locations
- 対象のロケーションから“Add Sub-Location”をクリックし、名称、ロケーションタイプ、対応するプライベートIPアドレスレンジを設定
- 最初のサブロケーション作成後は、“Other”というサブロケーションも定義し、未分類のトラフィックを拾えるようにします。
- 推奨は、すべてのトラフィックを何らかのサブロケーションで定義することです。

# 3. SSL検査ルールの作成
##### バイパスルール
- Policy > SSL Inspection > “Add SSL Inspection Rule”
- Rule Order: デフォルトのまま
- Location Groups: バイパス対象（IoT、サーバ、ゲストWiFi）
- Action: Do Not Inspect

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622929/897b40f0-2b40-be20-1588-a86c6eae7639.png)


##### Inspect Allルール
- 同様に“Add SSL Inspection Rule”
- Rule Order: デフォルト値のまま /最も高い数値であることを確認する
- Rule Name: “Inspect All”
- Action: Inspect

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622929/3e0db9cb-193e-ea73-e2b2-4b754aa94716.png)

- 冗長な“Inspect”ルールがあれば削除することで、シンプルなオプトアウトポリシーが完成します。

# 4. 設定の検証
- Analytics > Web Insights へ移動し、Time Frameを”Current Week”に設定
- ProtocolフィルタでHTTPSを確認し、以前より増加していること、SSL（未復号）が減っていることを確認します。
- これで、基本的にすべてが検査対象となり、バイパスされたトラフィックのみ検査を回避できているはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3622929/55ff1d09-2834-36e2-1f80-9fa10c91da85.png)


# まとめ
本記事では、Zscaler ZIAにおけるTLSインスペクションを「オプトアウト方式」で行うための手順をご紹介しました。
この手法によって、すべての暗号化通信を基本的に検査対象とし、検査が難しいトラフィックのみを明示的にバイパスすることで、管理性とセキュリティのバランスを最適化できます。変化し続けるインフラやアプリケーション環境にも、より柔軟かつ包括的に対応できる点が大きな強みとなるでしょう。

以上、Zscaler Advent Calendar 2024の8日目として、TLSインスペクションオプトアウト方式構成ガイドをお届けしました。次回もお楽しみに！