TLS検査の使用
TLS検査(TLS復号化またはHTTPS検査とも呼ばれる)は、Cloudflare Gatewayがトラフィックのより深い分析を行い、リクエストボディを敏感なデータのスキャン、リモートブラウザアイソレーションセッションへのアップグレード、リクエストの完全なURLおよびパスに基づくリダイレクトなどのアクションを実行できるようにします。
TLS検査は、敏感なシステムにアクセスするユーザーを含むセキュリティポリシーにとって望ましいですが、課題も伴います。TLS検査がオンになっていない場合でも、ポリシーはユーザーのアイデンティティ、デバイスの姿勢、IPアドレス、解決されたドメイン、SNI、およびゼロトラストセキュリティ実装をサポートする他の多くの属性を使用できます。
組織は、過去のレガシーシステムとの互換性に関する懸念から、TLS検査の実践を採用することに慎重になることがよくあります。しかし、CloudflareのTLS検査へのアプローチは、能力があり、パフォーマンスが高く、現代的で、何よりも柔軟です。私たちは、すべてのトラフィックを完全に検査することは決して可能ではないことを理解しています — 何かが常に壊れるからです。私たちの推奨事項は、この実際の現実を考慮に入れています。
TLS検査をオンにする理由と方法を決定するために、次のステップから始めることをお勧めします。
Cloudflare Zero Trustは、ほとんどの高度なセキュリティおよびデータ損失防止(DLP)機能にTLS検査を必要とします。
一部のセキュリティ組織は、ユーザーのプライバシーや適切な使用に関する懸念からTLS検査を避けることを選択します。これは重要で時には複雑な組織の決定ですが、セキュリティプラクティスに関連する目標を設定することで簡素化できます。考慮すべき質問:
- あなたの組織のTLS検査の使用は、「既知」(企業が承認したSaaSアプリケーション内の敏感なデータなど)から保護するために設計されていますか、それとも「未知」(ユーザーが新しいBlobストレージバケットにファイルをダウンロードまたはアップロードするなど)から保護するためですか?
- 主にドメインまたはホスト名でブロックするつもりですか、それとも完全なURLのポリシーを構築するつもりですか?
- リクエストのボディやファイルをDLPプロファイルに対してスキャンする予定ですか、それともダウンロードしたファイルをウイルス対策またはマルウェア対策エンジンでスキャンする予定ですか?
- コピー/ペーストのブロック、キーボードのブロック、印刷のブロックなどのデータセキュリティ機能を活用するために、インラインリモートブラウザアイソレーションを使用するつもりですか?
これらの質問の大多数に対する答えが「いいえ」であり、あなたの組織が主にホスト名またはDNSベースのセキュリティコントロールに依存している場合、ほとんど、あるいはすべてのTLSトラフィックを検査する必要はないかもしれません。Cloudflareは、接続されたユーザーのための安全なWebゲートウェイおよび安全なDNSリゾルバーとして機能しているため、TLSトラフィックを広範囲に検査する必要なく、セキュリティ姿勢を向上させるポリシーコントロールを適用できます。
Zero Trust組織のためにTLS検査をオンにするには:
- In Zero Trust ↗, go to Settings > Network.
- Turn on TLS decryption.
TLS検査には、暗号化されたトラフィックを検査およびフィルタリングするために信頼されたプライベートルート証明書が必要です。デフォルトのCloudflareルート証明書は、通常、デバイスに展開された場合のテストや概念実証条件に適したシンプルで一般的なソリューションです。
代わりに、他の検査や信頼アプリケーションに使用しているルートCAがすでにある場合は、独自の証明書を使用することをお勧めします。これにはいくつかの理由があります:
- ルート証明書が関連するデバイスのフリートにすでに展開されていると仮定すると、単一の証明書を使用することでIT管理が簡素化されます。
- GitワークフローやCLIツールなどの外部サービスが既存の証明書ストアに依存している場合、検査で同じ証明書を提示することでトラフィックフローが中断される可能性が低くなりますが、これらは検査から除外したいものかもしれません。
- WARP ConnectorやMagic WANのIPsec/GREトンネルを使用してCloudflareにトラフィックをオンランプする場合、これらのトンネルの背後にあるデバイスは、組織の選択した証明書に一致する証明書を持っていない限り、TLS検査を必要とするHTTPポリシーを使用できません。あなたのネットワークインフラストラクチャにはすでに独自のデバイス証明書が展開されている可能性が高いため、検査のために既存の公開鍵インフラストラクチャを使用することで保護が簡素化されます。
デフォルトで全トラフィックを検査したいですか、それとも明示的な宛先のみを検査したいですか?検査から除外するアプリケーションとエンドポイントのGatewayリストを構築し、既存の「検査しない」アプリケーショングループにOR演算子として追加することをお勧めします。例えば:
| Selector | Operator | Value | Logic | Action |
|---|---|---|---|---|
| Application | in | 検査しない | Or | 検査しない |
| Host | in list | 信頼されたホスト名 |
あなたの組織がTLS検査を必要とするセキュリティフレームワークを新たに採用している場合、最小限から始めることをお勧めします。実際、あらかじめ決められたホスト名、IP、特定のユーザーグループまたはデバイスタイプのみを明示的に検査し、初期展開段階では他のすべての検査を省略することが適切かもしれません。Cloudflareは、検査を展開できる場所とタイミングに関して独自で柔軟なアプローチを持っており、デバイスのルーティングテーブルや他のメモリに敏感なローカル構造に影響を与えることなく、組織のニーズに応じて制限的かつ詳細にすることができます。
検査の対象とならないデバイスやユーザーグループに対応するためのパススルールを構築できます。
例えば、限られた権限を持つ企業管理のiPhoneがユーザーに配布されている場合、そのデバイスの姿勢値に一致するすべてのトラフィックに対して追加の「検査しない」ポリシーを設定します。これには、OSの種類、OSのバージョン、またはMDMツールからのフックを介してAPIで更新されたシリアル番号のリストが含まれる可能性があります:
| Selector | Operator | Value | Logic | Action |
|---|---|---|---|---|
| Passed Device Posture | in | iOS 17以上(OSバージョン) | And | 検査しない |
| Passed Device Posture | in | iPhoneシリアル番号(シリアル番号) |
-
検査したくないデバイスのシリアル番号のリストを作成します。
Terminal window curl https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/lists \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{"description": "管理者のためのシリアル番号","items": [{"value": "8GE8721REF"}],"name": "管理者シリアル番号","type": "SERIAL"}' -
デバイスをシリアル番号のリストと照合する「検査しない」ポリシーを作成します。
Terminal window curl https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/rules \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{"name": "企業デバイスを検査しない","conditions": [{"type": "device_posture","expression": {"any": {"in": {"lhs": {"splat": "device_posture.checks.passed"},"rhs": ["{serial_number_list_uuid}"]}}}}],"action": "off","precedence": 14002,"enabled": true,"filters": ["http"]}'
Magic WANトンネル、WARP Connector、またはCloudflare証明書がインストールされていない他のデバイスでネットワーク接続されたデバイスをフィルタリングする場合、パススルーポリシーを作成して対応する必要があります。これらのデバイスについては、そのトラフィックが発信されるソースネットワークIP範囲に対してTLS検査を明示的に除外する必要があります。例えば:
| Selector | Operator | Value | Action |
|---|---|---|---|
| Source Internal IP | in | 203.0.113.0/24 | 検査しない |
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway/rules \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{ "name": "企業デバイスを検査しない", "conditions": [ { "type": "traffic", "expression": { "in": { "lhs": "http.conn.internal_src_ip", "rhs": [ { "cidr": "203.0.113.0/24" } ] } } } ]}'