🔐

Cloudflare One (Zero Trust, Gateway/Access/WARP) の概要と設定メモ

に公開

既に他にもブログ記事が沢山ありますが、自身の学習のためにメモを残しておきます。

ゼロトラストとは?

既に在り来りな話なので簡単ですが "すべてのアクセスを検証し、決して自動的に信頼しない" というセキュリティの考え方・アーキテクチャです。 よく聞く考え方としては以下のポリシーがあげられます。

  • 最小権限の原則 :ユーザー・デバイスが必要最小限のアクセス権だけを得る
  • 継続的な検証 :常に認証・認可を再評価する
  • ネットワーク境界に依存しない :オンプレ/クラウドを問わず、一貫したセキュリティポリシーを適用

SASE (Secure Access service Edge) とは?

SASE は一言で言うと "ゼロトラストの概念・考え方を実現するための包括的な仕組みサービス群" です。 サービスにより提供されている機能は様々ですが、代表的なものとして以下のような機能が挙げられます。

  • ZTNA (Zero Trust Network Access)
  • SWG (Secure Web Gateway)
  • CASB (Cloud Access Security Broker)
  • FWaaS (Firewall as a Service)
  • SD-WAN (Software-Defined WAN)

Cloudflare One とは?

https://blog.cloudflare.com/ja-jp/introducing-cloudflare-one/
https://www.cloudflare.com/ja-jp/zero-trust/products/

Cloudflare One は、Cloudflare社 が提供する ZTNA/SWG などを中核とする SASE/SSE プラットフォームになります。
正確には "Gateway, Access (+WARP)" が主となるサービスで、他にアドオンの追加や、Cloudflare のサービス群などと連携する事で様々な構成が実現できる形になっています。

主要コンポーネント

Cloudflare Gateway

一言でいうと SWG (Secure Web Gateway) のサービスになります。 基本的な機能として SWG・DNS Filtering ほか、有償アドオンとしてリモートブラウザ分離(RBI)・データ損失防止(DLP)、CASB などの機能を提供します。

https://www.cloudflare.com/ja-jp/zero-trust/products/gateway/

Cloudflare Access

ZTNA (Zero Trust Network Access) のアクセス制御機能です。 既存の IdP (Entra ID など) と統合したユーザーのアイデンティティ管理や、社内リソースへの安全なアクセス制御機能・リモートアクセスを実現するためのサービスです。

https://www.cloudflare.com/ja-jp/zero-trust/products/access/

Cloudflare WARP

Cloudflare WARP は、一言で言うとエンドポイントに導入するセキュアアクセスのためのエージェント / クライアントアプリケーションです。 このエージェントと Gateway / Access を統合する事で、ゼロトラストに準じたセキュアなアクセス環境をユーザに提供する形になります。

https://blog.cloudflare.com/ja-jp/warp-for-desktop/

Free プランについて

Cloudflare に関連するサービスで素晴らしいのは、まずは無料から利用できる点です。
ゼロトラストの概念や考え方は理解しつつも、実際に実装まで試してみたい・まずは簡単な環境から実装してアレコレ試してみたいという方にはうってつけです。

https://www.cloudflare.com/ja-jp/plans/zero-trust-services/

Cloudflare One 設定手順

事前準備

  • クレジットカード 💳️
    • 以後で利用するのは Free プランですが、クレジットカードの登録だけは必須で求められるので用意しておきましょう (有料プランに変えるとかしない限りは課金されません)

以後の手順について

以後の手順は公式の 実践ガイド (Implementation guides) にも、目的に応じた実装手順がまとめられていますので、迷った際には公式のドキュメントも参照してください。

https://developers.cloudflare.com/cloudflare-one/implementation-guides/

Cloudflare アカウントの作成と初期設定

極々普通にサインアップするだけなので、詳しい説明はしません (Zenn を検索したら他に記事が出てくると思います) 、最低でも 2要素認証は有効に しましょう。

https://www.cloudflare.com/ja-jp/

サインアップ -> Zero Trust と SASE -> Freeプランの 開始する

Team 名の確定

Cloudflare ZeroTrust の環境として大きな枠となる "Team" 名を入力します。 ユニークである点だけ注意がいります。

引き続き手続きを進めていくと、クレジットカードの入力を求められ 50シート 分の Free Plan が発行されるとこまで進められます。

認証設定

続いて認証設定を行います。既定では "One-time PIN" が選択されていますが、任意の IdP を用いて認証をさせる事ができます。 ここは各位の環境に合わせて設定を行ってください。

Cloudflare Dashboard -> Zero Trust -> Settings -> Authentication -> Login methods

デバイスのオンランプの設定

https://developers.cloudflare.com/learning-paths/secure-internet-traffic/connect-devices-networks/choose-on-ramp/
https://developers.cloudflare.com/learning-paths/replace-vpn/configure-device-agent/device-enrollment-permissions/

続いてデバイスのオンランプの設定をします。 詳しい手順は上記のドキュメントにありますが、要は WARP Client を利用させる際にどのユーザーに許可をするのか (または除外するのか) などの設定になります。 今回は "One-time PIN" だけで進めているので必要な認証が行われたら可能にしています。

  1. Cloudflare Dashboard -> Zero Trust -> Settings -> WARP Client -> Device enrollment permissions -> Manage
  2. Manage を選択すると、最初はポリシーがないので "Add Policy" でポリシーを作成します。 今回は既定の OTP のままなので、メールアドレスのドメインは縛っています。
  3. 再度 Device enrollment permissions -> Manage に戻り作成したポリシーを適用します。

WARP Client のインストール

https://developers.cloudflare.com/learning-paths/secure-internet-traffic/connect-devices-networks/install-agent/

次に WARP Client をダウンロード / インストールします。
今回は VMware Workstation 上に立てた Windows 11 Pro にインストールしてみます。

https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/download-warp/

WARP Client の設定

WARP クライアントをインストールした後、WARP クライアントに Team 名を入力してログインすると、クライアントの通信が自動的に暗号化され、Cloudflare のネットワーク経由で安全に送受信されます。

インストール後、タスクトレイにあるアイコンをクリックし、表示された小ウインドウから "歯車" アイコンをクリックし、環境設定を選択します。

続けてアカウントから "Cloudflare Zero Trust にログイン" を選択します。

少し進めると、チーム名の入力を求められるので入力します。 今回は OTP にしているので、メールアドレスを入力してコードを貰い、それを入力する形で進めます。

問題なく認証をされれば Cloudflare WARP Client での接続する事ができます。

動作テスト

下記サイトにアクセスすれば、自端末と、VMware Workstation 上の Windows 11 Pro のグローバル IP アドレスが異なることがわかります。 つまりこれで Cloudflare Gateway を経由した接続が出来ている事になります。

https://ifconfig.co/

Cloudflare Gateway の設定

Firewall の設定

この時点で Cloudflare Gateway を通じた通信は出来ているので、他の細かい設定も入れてみます。
以下の設定を有効にします。

  1. L4 Firewall / Proxy 機能 設定を有効にし、ICMP/UDP などの通信も Cloudflare を通すようにする。
  2. WARP間接続 (WARP to WARP) を有効にし、WARP Client 間での通信を許可する。
  3. TLS復号化 の設定を入れ、HTTPSトラフィックを検査するようにする。
  4. アンチウイルスの有効化
    • ベータ機能であるクライアントへの通知も有効にしてみます。

Zero Trust の設定画面から Settings -> Network から、下部にある Firewall の項目で設定を行います。 いずれも "有効にする" を選択するだけです。

TLS 復号化については WARP Client による CA 証明書のインストールを許可する必要があるので Settings -> WARP Client -> Global settings -> Install CA to system certificate store の設定を有効にします。 証明書は WARP クライアント経由で配布・インストールを試みますが、環境によっては手動インストールが必要です。

Microsoft 365 向けの設定

上記で TLS復号化 の設定を入れましたが、Microsoft 365 に関しては復号化をバイパスする事も出来ます。

Settings -> WARP Client -> Integrated experiences から "Create Policy" をするだけで勝手にポリシーが作成されます (簡単)

動作テスト

試しに EICAR をダウンロードしてみます。すると下図のようにそもそものダウンロードが防がれると共にポップアップでメッセージが出てくる事が確認できました。
https://www.eicar.org/download-anti-malware-testfile/


その他のポリシーについて

Gateway では以下のようなポリシーが設定できます。 目的に応じた細かい設定は公式ドキュメントを見てみてください。

ポリシー名 説明
Firewall Policies ネットワーク・アプリケーション層で、IP、ポート、URLなどを基にトラフィックを細かく制御します。
Egress Policies 内部から外部への通信を制御し、特定のカテゴリやURLに基づいてアクセスを許可またはブロックします。
Resolver Policies (Beta) DNSクエリレベルで、特定ドメインやリクエストタイプのブロック・許可を行う新機能のポリシーです。
DNS Locations 各拠点やネットワークセグメントごとにDNS設定を分割管理し、ポリシーと連携させる仕組みです。

特定分野のカテゴリを制限するためのドメインカテゴリなども、公式ドキュメントに掲載されています。
https://developers.cloudflare.com/cloudflare-one/policies/gateway/domain-categories/

Cloudflare Access の設定

Cloudflare Access を利用して、プライベートな環境にあるサーバに Gateway 経由でアクセスできるように設定をしてみます。

Cloudflared トンネルの設定

Azure 上に立てたVMにアクセスできるように設定をしてみます。

  1. Zero Trust の設定画面から Network -> Tunnels を選択し "Add a Tunnel" を選択します。
  2. "Cloudflared" を選択します。
  3. 任意の Tunnel 名を入力すると、接続先に "Cloudflared" を導入するように表示されるので、内容に従ってインストールを行います (今回はRHELを動かしている AzureVM に入れています)
  4. 今回は閉じた環境にある Azure 上に立てた VM にアクセスしたいので "Private Network" を選択して設定をします。このトンネルを通じてアクセス可能にしたい内部ネットワークの IP アドレス範囲 (CIDR) を指定するステップです。これにより、WARP クライアントからそのネットワークへの経路が確立されます。

Exclude IPs and domains の設定

既定では 10.0.0.0/8 のようなプライベートIPアドレス は、Exclude IPs として WARP を経由した通信は行われないように除外されています。 これだと Azure VM のセグメントにも辿り着けないため除外設定から削除します。

  1. Settings -> WARP Client -> Device settings にある "Default" のポリシーの メニューアイコン (…) から "Configure" を選択
  2. Split Tunnels -> Manage を選択
  3. WARP通信から除外されている IPアドレス の一覧が表示されるので、対象となるセグメント帯を削除します (今回は 10.0.0.0/8 を削除しました)

アクセスの確認

この状態で WARP Client を導入した端末から、Azure VM のローカルIPを指定すれば辿り着ける状態になります。

Access Policy の設定について

試したかった動きは出来たので、これは試していないのですが上記のままだと Azure VM が動作しているネットワークやサービスに無作為にアクセスできてしまうため、通常は Access Policy などで WARP Client からの通信先を制限する方が良いと思います。 セキュリティ上、この Access Policy の設定は非常に重要です

Access -> Application あたりからそのあたりの設定が行えるはずなので確認してみてください。

その他の設定項目について

ほか Public なサーバに対して認証を設けるとか色々できるのですが、細かい設定については公式ドキュメントを参照してください。

設定項目 説明
Applications ゼロトラストで保護するアプリケーション(社内Webアプリなど)の登録・管理を行います。
Policies Applications で登録したアプリケーションごとに、アクセス許可/拒否のルール (誰がいつどのようにアクセスできるか) を設定する画面です。
Rule groups 複数のポリシールールをグルーピングして、一括管理や再利用をしやすくするための機能です。
Service auth 機械的なアクセス (サービスアカウントやマイクロサービス間連携など) に使うサービストークンの発行や管理を行います。
Tags アプリケーションやポリシーをタグ付けして分類・管理する機能です。
Tunnels Cloudflare Tunnel を作成・管理し、オンプレミスやローカル環境を Cloudflare 経由で安全に公開するための設定を行います。
Routes Cloudflare Tunnel を経由する際のルーティング設定 (ドメインや IP アドレス範囲など) を定義します。
Targets 具体的にどのホストやサービスをトンネル経由で公開するか、あるいはどのアクセス先を保護するかなどを設定する画面です。

エンタープライズプランやアドオンについて

送信元IPの固定や、高度な機能 (DLP/CASB) などはエンタープライズプランやアドオンライセンスを利用する事で実装する事ができます。 が、実際には 「どこまでが標準で、どこからがアドオンか」 といった点が契約内容やプランによって異なるため、導入時には Cloudflare の営業担当やドキュメントを確認してください。

他社サービスとの比較

この比較は AI により生成された情報も含まれており、各社のサービスは常にアップデートされるため、最新かつ正確な情報は公式ドキュメントや担当者にご確認ください。

比較軸 Cloudflare Zero Trust (Cloudflare One) Microsoft Global Secure Access (Entra Internet/Private Access) Zscaler (ZIA / ZPA)
主要コンセプト SASE/SSE (ネットワークサービスとの統合が強み) SSE (Microsoft Security ポートフォリオの一部として Entra ID 中心) SASE/SSE (市場リーダー、セキュリティ専業ベンダー)
主要コンポーネント Gateway (SWG), Access (ZTNA), WARP (エージェント) Entra Internet Access (SWG), Entra Private Access (ZTNA) ZIA (SWG/FWaaS), ZPA (ZTNA)
ZTNA (Private Access) Cloudflare Access (Tunnel経由でプライベートリソースへ接続) Entra Private Access (アプリ単位でアクセス制御) ZPA (アプリ単位アクセス、マイクロセグメンテーション)
SWG (Internet Access) Cloudflare Gateway (DNS/HTTPフィルタリング, TLS復号) Entra Internet Access (M365/インターネットアクセス保護) ZIA (URL/コンテンツフィルタリング, Sandbox, TLS復号など機能豊富)
CASB Gateway連携, API連携 (上位プラン/アドオン) Microsoft Defender for Cloud Apps とネイティブ統合 インライン制御, API連携 (機能豊富)
DLP Gateway連携 (上位プラン/アドオンで EDM, OCR など高度な機能) Microsoft Purview とネイティブ統合 インライン制御, EDM, OCR など高度な機能 (機能豊富)
RBI (ブラウザ分離) 上位プラン/アドオンで提供 Microsoft Defender for Endpoint 等との連携 (専用機能は限定的?) オプションまたは上位プランで提供 (機能豊富)
FWaaS Gateway の Firewall Policies。Magic Firewall (別サービス) と連携。 Entra Internet Access の機能として統合・提供予定。 ZIA に統合されている。
エージェント WARP Client (Windows, macOS, Linux, iOS, Android) Global Secure Access Client (Windows 中心、他 OS 対応拡大中?) Zscaler Client Connector (Windows, macOS, Linux, iOS, Android)
ネットワーク基盤 広大なグローバルエッジネットワーク (CDN/WAF基盤) Microsoft のグローバルネットワークとデータセンター 150以上のデータセンターを持つ大規模グローバルネットワーク
IdP 連携 主要 IdP (Entra ID, Okta など) と連携可能。OTP 認証も。 Entra ID とのネイティブ統合が前提・必須。他 IdP 連携は限定的。 主要 IdP (Entra ID, Okta など) と柔軟に連携可能。
Microsoft 365 連携 Tenant Control, TLS復号除外など連携強化。 ネイティブ統合 (条件付きアクセスとの連携など最も親和性が高い) Tenant Control, TLS復号除外など連携可能。
ログ/SIEM 連携 Logpush (Enterpriseで強化)。標準的なSIEM連携。 Azure Monitor / Microsoft Sentinel とのネイティブ統合。 Nanolog Streaming Service (NSS) によるリアルタイム連携。柔軟なSIEM連携。
プラン/価格 無料プランあり。Pay-as-you-go プラン、Enterprise プラン (カスタム)。 Entra ID P1/P2 ライセンスが必要。一部機能は追加ライセンスの可能性あり。 サブスクリプションモデル。無料プランなし。比較的高価な傾向。
特徴/強み 無料プラン, パフォーマンス, 設定の容易さ, CDN/WAF等との統合 Microsoft エコシステムとの深い統合, 条件付きアクセスの拡張 市場実績と成熟度, 機能網羅性, パートナーエコシステム
考慮事項 高度機能は上位プラン/アドオン。比較的新しい機能も多い。 新しいサービスで機能拡張中。Microsoft 依存度が高い。 無料プランなし。機能が多い分、設定が複雑な可能性。価格。
データローカライゼーション Data Localization Suite (Enterprise) で地域指定可能。 Microsoft のデータセンターポリシーに準拠。 データセンターリージョンを指定可能。
送信元IP の固定 可 (Enterprise, Dedicated Egress IPs) 現時点では限定的か? (要確認) 可 (オプション)
TLS/SSL インスペクション 可 (Gateway) 可 (Entra Internet Access) 可 (ZIA, 高機能)
ソースIP 取得/アクセス制御 可 (ポリシーで利用可、ヘッダー挿入) 可 (条件付きアクセスとネイティブ連携、元のPublic IP利用可) 可 (ポリシーで利用可、条件付きアクセス連携可)
対応プロトコル (非HTTP/S) 可 (Tunnel + Access Private Network) 可 (Entra Private Access for TCP/UDP) 可 (ZPA for TCP/UDP, ZIA FWaaS)
個人テナント制限 (M365等) 可 (Gateway HTTP Policy + ヘッダー挿入) 可 (Entra Internet Access ネイティブ連携) 可 (ZIA ヘッダー挿入)
アンチウィルス機能 可 (Gateway) 可 (Defender連携) 可 (ZIA インライン + Sandbox)

導入・運用時の注意点

Zero Trust は導入すれば終わりではなく、常にポリシーを見直し、運用していく必要があります。特に、どのユーザーがどのリソースにアクセスできるのかを明確にし、最小権限で運用することが重要です。また、監査ログをしっかり取得し、インシデントが発生した際には早期に検知できる体制を整えた方が良いと思います。 難しい場合は SOCサービス の導入・利用なども検討しましょう。

まとめ

Cloudflare Zero Trust は、無料プランでも Warp と Access を利用して手軽にゼロトラストを導入できる点が魅力で、ゼロトラストに向けたイメージや、実装手順の概要を掴むのに非常に良いと思います。

ただゼロトラストを実現するにあたっては Microsoft Global Secure Access や ZScaler といった他社のサービスもありますので、自社環境や要件に合ったソリューションを検討してみてください。

参考情報

https://zenn.dev/oymk/articles/ee0d76fb375aa9
https://zenn.dev/oymk/articles/a47f02ae6a4edb

Discussion