
Cloudflare Zero Trustでのコンテンツフィルタリング
Cloudflare Zero TrustでURLコンテンツフィルタリングを実装しましたので、その際の手順などを記載します。
PC端末での事前準備
対象端末にはCloudflare WARPがインストールされ、Cloudflare Zero Trustの管理コンソールから取得したルート証明書がインストールされている必要があります。以下に、MDM(Jamf,Intune)を使用したルート証明書の配布について記載していますので、参考にしてください。
Cloudflare Zero Trustのルート証明書をMDM(Jamf , Intune)で配布する
Cloudflare Zero Trust側でTLS復号化の有効化
次に、管理コンソール側での設定となりますが、コンテンツフィルタリングを行う場合、以下の設定を有効にする必要があります。これにより、TLSの通信がCloudflare側で復号化され、正常にコンテンツフィルタリングもできるようになります。
・設定 → ネットワーク → TLS復号化
HTTP Policyの設定
続いて、コンテンツへのアクセスのブロックや許可を、管理コンソールの 「Gateway → ファイアウォールポリシー → HTTP」 より設定します。先ずは、ブロックの設定を記載します。
ブロック可能なカテゴリは多数あり、詳細はこちらに記載されていますが、「Security Categories」というカテゴリのブロックルールを作成する例を記載します。
・ブロックルールの設定例
「Gateway → ファイアウォールポリシー → HTTP」で、「ポリシーを追加する」をクリックします。
ポリシー名を設定します(ブロックするカテゴリ名などを記載すると分かり易いかもしれません)
次に「式を構築する」->「トラフィック」->「+条件を追加」をクリックします。表示された設定項目で「セレクタ」に「Security Categories」を選択します。
オペレータに「in」を設定し、「値」にさらに詳細なカテゴリを設定します。(詳細はこちらに記載があります)
(もし必要があれば、「ID」の箇所で特定ユーザのみにポリシーを適用させるようなこともできます。
例えばテスト時などに、「マイチーム」->「リスト」にテストユーザのメールアドレスのリストを設定しておき、そのリストのみに適用させることなどもできます)
アクションに「Block」を選択します。
最後に画面下部の「ポリシーを作成する」をクリックすると、ポリシーが作成されます。
特定サイトを許可させたい場合
事前に必ず通信許可させたいサイトを設定することや、ブロックされた中で、一部通信許可させたいサイトが出てくるケースもあるかと思います。そのような場合の設定例を記載します。
先ず、デフォルトで用意されているサイトの設定値を使用して許可する例です。
「トラフィック」の項目でセレクタに「Application」を設定します。オペレーターに「in」を設定します。値に許可させたいサイトを設定します。以下は例ですが、デフォルトで多数のサイトが設定値として用意されています。(こちらにApplicationについての説明もあります)
次に、URLを指定して許可する例です。セレクタに「URL」を設定します。完全一致の場合はオペレーターは「is」としますが、正規表現の場合は「matches regex」とします。
アクションは「Allow」を設定します。
また、サイトによっては、冒頭で紹介した「TLS復号化」に対応していないような場合があるかもしれません。そのような場合は、セレクタに「Application」を設定して対象サイトを指定し、アクションを「Do Not Inspect」とすることで、TLS復号化や、HTTP Policyのチェックをバイパスして通信許可することができます。
「Application」の中に「Do Not Inspect」というカテゴリも用意されているので、このカテゴリに含まれるアプリを指定して、アクションを「Do Not Inspect」に設定する方法もあるかと思います。(こちらに詳細が記載されています)
尚、アクションを「Do Not Inspect」とするとログ内容が変わるといった点もあります。(詳細はこちらに記載があります)
ポリシーの順番について
上記でアクションが「Block」・「Allow」・「Do Not Inspect」の3つの例を記載しました。これら以外にもアクションの種類はありますが、これら3つに限定すると、以下の順番でHTTP Policyはチェックされます。
- Do Not Inspectのポリシーを上から順番にチェック
- BlockまたはAllowのポリシーを上から順番にチェック
このため、仮にBlockのカテゴリに含まれると判定されて通信が許可されなかったサイトの一部を、Allowのポリシーで許可させるような場合には、必ず、Allowのポリシーを、そのBlockのポリシーの上に設定しなければなりません。 「Gateway → ファイアウォールポリシー → HTTP」で表示されるポリシー一覧の左側の部分でポリシーの順番入れ替えができるので、必要に応じて実施下さい。(ポリシー適用の順番は、こちらに詳細記載があります)
動作確認
設定した通りに動作するか確認します。ブロックされると、デフォルトではWebブラウザに以下のように表示されます。
赤枠箇所が、Cloudflare Radarへのリンクとなっていて、ブロックされたサイトの詳細が表示されます。
ログの確認
管理コンソールの「ログ」->「Gateway」->「HTTP」より、HTTP Policy適用結果のログを確認できます。複数のフィルタ項目がありますが、例えば、アクションを「ブロック」として検索することにより、ブロックされた通信のログが確認できます。
尚、当該ログを、別のクラウドストレージなどに転送する機能(Logpush)もあります。管理コンソールから参照できるログの期間や、一画面内で参照できるデータ内容に限りもありますので、別途のログの保存・分析がもし必要な場合には、そのような機能も検討頂ければと思います。
おわりに
Cloudflare Zero Trustでのコンテンツフィルタリングについて記載しました。この記事が皆様のお役に立てば幸いです。
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。
サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。