ネットワークポリシーは、ユーザーとネットワーク宛先のあいだの TCP および UDP トラフィックを制御します。IP アドレス、ポート、プロトコルにもとづいて、SSH、RDP、データベース接続などの非 HTTP トラフィックを許可またはブロックできます。
Cloudflare One は ID プロバイダーと連携 するため、ID ベースのネットワークポリシーも作成できます。ユーザーの場所やデバイスに関係なく、非 HTTP リソースへのアクセスをユーザー単位で制御できます。
ネットワークポリシーは Action と、アクションの範囲を決める論理式で構成されます。式を作るには Selector と Operator を選び、Value フィールドに値または値の範囲を入力します。複数の条件を評価するには、And と Or の論理演算子を使えます。
式の条件が query 属性(Source IP など)と応答属性(Resolved IP など)を組み合わせている場合、その条件は応答を受信したときに評価されます。
DNS ポリシーと HTTP ポリシーのアクションと同様に、ネットワークポリシーのアクションは、対象要素に適用する判定を定義します。ポリシーごとに割り当てられるアクションは 1 つです。
API 値: allow
利用可能なセレクター
Traffic
- Access Infrastructure Target
- Access Private App
- Application
- Browser Isolation
- Content Categories
- Destination Continent IP Geolocation
- Destination Country IP Geolocation
- Destination IP
- Destination Port
- Detected Protocol
- Protocol
- Proxy Endpoint
- Security Risks
- SNI
- SNI Domain
- Source Continent IP Geolocation
- Source Country IP Geolocation
- Source Internal IP
- Source IP
- Source Port
- Traffic Source
- Virtual Network
Identity
Device Posture
Allow アクションのポリシーは、特定の IP またはポートへネットワークトラフィックを到達させます。デフォルトブロック構成では、Allow ポリシーが例外を定義します。Allow ポリシーに一致しないトラフィックは、優先度の低いキャッチオール Block ポリシーでブロックされます。たとえば、次の構成は特定ユーザーだけが指定の IP アドレスへ到達できるようにします。
| セレクター | 演算子 | 値 | 論理 | アクション |
|---|---|---|---|---|
| Destination IP | in | 92.100.02.102 |
And | Allow |
| in | *@example.com |
API 値: block
利用可能なセレクター
Traffic
- Access Infrastructure Target
- Access Private App
- Application
- Browser Isolation
- Content Categories
- Destination Continent IP Geolocation
- Destination Country IP Geolocation
- Destination IP
- Destination Port
- Detected Protocol
- Protocol
- Proxy Endpoint
- Security Risks
- SNI
- SNI Domain
- Source Continent IP Geolocation
- Source Country IP Geolocation
- Source Internal IP
- Source IP
- Source Port
- Traffic Source
- Virtual Network
Identity
Device Posture
Block アクションのポリシーは、特定の IP またはポートへのネットワークトラフィックをブロックします。たとえば、次の構成はポート 443 宛てのすべてのトラフィックをブロックします。
| セレクター | 演算子 | 値 | アクション |
|---|---|---|---|
| Destination Port | in | 443 |
Block |
機能の可用性
| クライアントモード | Zero Trust プラン ↗ |
|---|---|
|
Enterprise |
| システム | 可用性 | 最小クライアントバージョン |
|---|---|---|
| Windows | ✅ | 2024.1.159.0 |
| macOS | ✅ | 2024.1.160.0 |
| Linux | ❌ | |
| iOS | ✅ | 1.7 |
| Android | ✅ | 1.4 |
| ChromeOS | ✅ | 1.4 |
Display block notification for Cloudflare One Client をオンにすると、Gateway のブロックイベントの通知を表示できます。ブロックされたユーザーには、Cloudflare One Client から OS の通知が届き、設定したカスタムメッセージが表示されます。カスタムメッセージを設定しない場合、Cloudflare One Client はデフォルトのメッセージを表示します。カスタムメッセージは 100 文字以内にしてください。Cloudflare One Client は 1 分あたり 1 件の通知だけを表示します。
通知を選ぶと、Cloudflare One Client は設定した Gateway ブロックページ へユーザーを案内します。任意で、社内サポートフォームなどのカスタム URL へ案内することもできます。
Send policy context をオンにすると、Gateway は一致したリクエストの詳細を、リダイレクト URL にクエリ文字列として付加します。すべてのコンテキストフィールドが含まれるわけではありません。ポリシーコンテキストのフィールドには、次のようなものがあります。
ポリシーコンテキストのフィールド
| フィールド | 定義 | 例 |
|---|---|---|
| User email | クエリを行ったユーザーのメールアドレスです。 | &cf_user_email=user@example.com |
| Site URL | 元の HTTP リクエストの完全な URL、または DNS クエリのドメイン名です。 | &cf_site_uri=https%3A%2F%2Fmalware.testcategory.com%2F |
| URL category | リダイレクト対象 URL の ドメインカテゴリ です。 | &cf_request_categories=New%20Domains,Newly%20Seen%20Domains |
| Original HTTP referer | HTTP トラフィックの場合、HTTP リクエストの元の HTTP referer ヘッダーです。 | &cf_referer=https%3A%2F%2Fexample.com%2F |
| Rule ID | リクエストに一致した Gateway ポリシーの ID です。 | &cf_rule_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1 |
| Source IP | ポリシーに一致したデバイスの送信元 IP アドレスです。 | &cf_source_ip=203.0.113.5 |
| Device ID | ポリシーに一致したデバイスの UUID です。 | &cf_device_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1 |
| Application names | リダイレクト先ドメインに対応するアプリケーション名です(ある場合)。 | &cf_application_name=Salesforce |
| Filter | ブロックを引き起こしたトラフィックタイプのフィルターです。 | &cf_filter=http, &cf_filter=dns, &cf_filter=av, or &cf_filter=l4 |
| Account ID | 関連する Zero Trust アカウントの Cloudflare アカウント ID です。 | &cf_account_id=d57c3de47a013c03ca7e237dd3e61d7d |
| Query ID | リダイレクトが適用された DNS クエリの ID です。 | &cf_query_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
| Connection ID | リダイレクトが適用されたプロキシ接続の ID です。 | &cf_connection_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
| Request ID | リダイレクトが適用された HTTP リクエストの ID です。 | &cf_request_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
オペレーティングシステムが Cloudflare One Client の通知を許可していることを確認してください。集中モード、おやすみモード、画面共有の設定がオンだと、デバイスに通知が表示されないことがあります。DisplayLink ソフトウェアを実行している macOS デバイスでクライアント通知をオンにするには、ディスプレイのミラーリング中にシステム通知を許可する必要がある場合があります。詳細は macOS のドキュメント ↗ を参照してください。
API 値: l4_override
利用可能なセレクター
Traffic
- Destination Continent IP Geolocation
- Destination Country IP Geolocation
- Destination IP
- Destination Port
- Protocol
- SNI
- SNI Domain
- Source Continent IP Geolocation
- Source Country IP Geolocation
- Source Internal IP
- Source IP
- Source Port
- Virtual Network
Identity
Device Posture
Network Override アクションのポリシーは、特定の IPv4 / IPv6 アドレスまたはポートへの、またはそこからのトラフィックを上書きします。宛先 IP はパブリック IP、または Zero Trust ネットワークに接続したプライベート IP です。たとえば、次の構成は、ユーザーの ID にもとづいてパブリック IP 宛てのトラフィックをプライベート IP に上書きします。
| セレクター | 演算子 | 値 | 論理 | アクション |
|---|---|---|---|---|
| Destination IP | in | 95.92.143.151 |
And | Network Override |
| User Email | in | *@example.com |
And | |
| Override IP | 10.0.0.1 |
Gateway は、成功した上書き接続だけを ネットワークログ に記録します。
Gateway は、次のセレクター(条件)とネットワークトラフィックを照合します。
Access インフラストラクチャアプリケーション で保護されているすべての ターゲット です。
| UI 名 | API の例 |
|---|---|
| Access Infrastructure Target | access.target |
Access セルフホストのプライベートアプリケーション で保護されている、すべての宛先 IP とホスト名です。
| UI 名 | API の例 |
|---|---|
| Self-hosted Access App with Private Address | access.private_app |
人気の Web アプリケーションのリスト(随時追加されます)に対して、network ポリシーを適用できます。詳細は アプリケーションとアプリタイプ を参照してください。
| UI 名 | API の例 |
|---|---|
| Application | any(app.ids[*] in {505}) |
現在のセッションが Remote Browser Isolation 内で動作しているかどうかです。隔離トラフィックと非隔離トラフィックで、ポリシーの動作を変えられます。
| UI 名 | API の例 |
|---|---|
| Browser Isolation | net.is_isolated == true |
Cloudflare Radar が分類する、特定の セキュリティカテゴリ に属するアプリケーションです。
| UI 名 | API の例 |
|---|---|
| Content Categories | any(net.fqdn.content_category[*] in {1}) |
リクエストの宛先の大陸です。位置情報は、対象の IP アドレスから判定します。大陸を指定するには、Value フィールドに 2 文字のコードを入力します。
| 大陸 | コード |
|---|---|
| アフリカ | AF |
| 南極 | AN |
| アジア | AS |
| ヨーロッパ | EU |
| 北アメリカ | NA |
| オセアニア | OC |
| 南アメリカ | SA |
| UI 名 | API の例 |
|---|---|
| Destination Continent IP Geolocation | net.dst.geo.continent == "EU" |
リクエストの宛先国です。地理位置情報は、対象の IP アドレスから判定します。国を指定するには、Value 欄に ISO 3166-1 Alpha 2 コード ↗ を入力します。
| UI 名 | API の例 |
|---|---|
| Destination Country IP Geolocation | net.dst.geo.country == "RU" |
リクエストの宛先の IP アドレスです。
| UI 名 | API の例 |
|---|---|
| Destination IP | any(net.dst.ip[*] in {10.0.0.0/8}) |
リクエストの宛先ポート番号です。
| UI 名 | API の例 |
|---|---|
| Destination Port | net.dst.port == 2222 |
Cloudflare の プロトコル検出 にもとづいて推定されたネットワークプロトコルです。
| UI 名 | API の例 |
|---|---|
| Detected Protocol | net.protocol.detection == "ssh" |
Device Posture セレクターを使うと、管理者はエンドユーザーデバイスからのシグナルに基づいて、内部および外部リソースへのアクセスを保護できます。たとえば、セキュリティ管理者は、特定のソフトウェアがデバイスにインストールされているか、デバイスやソフトウェアが特定の方法で設定されているかに応じて、内部アプリケーションへのアクセスをすべて制限できます。
デバイスポスチャチェックの詳細は、Device posture を参照してください。
| UI 名 | API の例 |
|---|---|
| Passed Device Posture Checks | any(device_posture.checks.failed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"}), any(device_posture.checks.passed[*] in {"1308749e-fcfb-4ebc-b051-fe022b632644"})" |
パケットの送信に使うプロトコルです。
| UI 名 | API の例 |
|---|---|
| Protocol | net.protocol == "tcp" |
ブラウザーが HTTP トラフィックを転送する プロキシサーバー です。
| UI 名 | API の例 |
|---|---|
| Proxy Endpoint | proxy.endpoint == "3ele0ss56t.proxy.cloudflare-gateway.com" |
Cloudflare Radar が分類する、特定の セキュリティカテゴリ に属するアプリケーションです。
| UI 名 | API の例 |
|---|---|
| Security Categories | any(net.fqdn.security_category[*] in {1}) |
Server Name Indication(SNI)は、暗号化が始まる前の TLS ハンドシェイクでクライアントが送るホスト名です。Gateway は SNI を読み、暗号化トラフィックの宛先を識別します。SNI セレクターはホスト名の完全一致です。
デフォルトでは、SNI セレクターはポート 443 の HTTPS トラフィックにだけ適用されます。すべてのポートのトラフィックを検査するには、プロトコル検出 を有効にし、すべてのポートで検査する を選びます。
| UI 名 | API の例 |
|---|---|
| SNI | net.sni.host == "www.example.com" |
Gateway がトラフィックをフィルタする対象となる、Server Name Indication(SNI)ヘッダーのドメインです。たとえば example.com のルールは、example.com、www.example.com、my.test.example.com に一致します。
デフォルトでは、SNI セレクターはポート 443 の HTTPS トラフィックにだけ適用されます。すべてのポートのトラフィックを検査するには、プロトコル検出 を有効にし、すべてのポートで検査する を選びます。
| UI 名 | API の例 |
|---|---|
| SNI Domain | net.sni.domains == "example.com" |
リクエストを送っているユーザーの大陸です。
位置情報は、デバイスのパブリック IP アドレス(通常はユーザーの ISP が割り当てます)から判定します。大陸を指定するには、Value フィールドに 2 文字のコードを入力します。
| 大陸 | コード |
|---|---|
| アフリカ | AF |
| 南極 | AN |
| アジア | AS |
| ヨーロッパ | EU |
| 北アメリカ | NA |
| オセアニア | OC |
| 南アメリカ | SA |
| UI 名 | API の例 |
|---|---|
| Source Continent IP Geolocation | net.src.geo.continent == "North America" |
リクエストを送っているユーザーの国です。
地理位置情報は、デバイスの公開 IP アドレス(通常はユーザーの ISP が割り当てます)から判定します。国を指定するには、Value に ISO 3166-1 Alpha-2 コード ↗ を入力します。
| UI 名 | API の例 |
|---|---|
| Source Country IP Geolocation | net.src.geo.country == "RU" |
このセレクターは、ユーザーのローカルネットワークが割り当てたプライベート IP アドレスから Gateway に届くリクエストに対して、network ポリシーを適用します。
| UI 名 | API の例 |
|---|---|
| Source Internal IP | net.src.internal_src_ip == "192.168.86.0/27" |
Gateway がプロキシするデバイスの送信元 IP アドレスです。
| UI 名 | API の例 |
|---|---|
| Source IP | net.src.ip[*] in {10.0.0.0/8} |
Gateway がプロキシするデバイスの送信元ポートです。
| UI 名 | API の例 |
|---|---|
| Source Port | net.src.port == "2222" |
トラフィックを Cloudflare へオンランプする方法です。Gateway へトラフィックが届く経路にもとづいてポリシーを適用できます。
| UI 名 | API の例 |
|---|---|
| Traffic Source | net.onramp.type == "device_client" |
利用可能な値: device_client(Device client)、mesh(Mesh)、cloudflare_wan(Cloudflare WAN)、clientless_rdp(Clientless RDP)、proxy_endpoint(Proxy endpoint)、agentless_biso(Clientless Browser Isolation)、mcp_portal(MCP portal)。
これらのセレクターは、ID 属性と照合します。
| UI 名 | API の例 |
|---|---|
| User Email | identity.email == "user@example.com" |
| User Name | identity.name == "Test User" |
| User Group IDs | any(identity.groups[*].id in {"group_id"}) |
| User Group Names | any(identity.groups[*].name in {"group_name"}) |
| User Group Emails | any(identity.groups[*].email in {"group@example.com"}) |
| SAML Attributes | any(identity.saml_attributes["http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"] in {"Test User"}) |
このセレクターは、Cloudflare One Client 経由で特定の 仮想ネットワーク を通るすべてのトラフィックに一致します。
| UI 名 | API の例 |
|---|---|
| Virtual Network | net.vnet_id == "957fc748-591a-e96s-a15d-1j90204a7923" |
比較演算子は、Gateway がトラフィックをセレクターと照合する方法です。ダッシュボードのポリシービルダーで Selector を選ぶと、Operator のドロップダウンに、そのセレクターで使える選択肢が表示されます。
| 演算子 | 意味 |
|---|---|
| is | 定義した値と等しい |
| is not | 定義した値と等しくない |
| in | 定義した値のいずれかと一致する |
| not in | 定義した値のいずれとも一致しない |
| in list | 定義済みの リスト に含まれる |
| not in list | 定義済みの リスト に含まれない |
| matches regex | 正規表現が true と評価される |
| does not match regex | 正規表現が false と評価される |
| greater than | 定義した数値を超える |
| greater than or equal to | 定義した数値以上 |
| less than | 定義した数値未満 |
| less than or equal to | 定義した数値以下 |
Value には、等価比較演算子(is など)を使う場合は単一の値を、包含比較演算子(in など)を使う場合は複数の値を入力できます。対応するセレクターでは、正規表現(regex)で値の範囲を指定することもできます。
正規表現は Rust で評価されます。Rust の実装は、ほかで使われる正規表現ライブラリと少し異なります。詳細は ワイルドカード のガイドを参照してください。正規表現が一致するか確認するには、Rustexp ↗ を使えます。
複数の値に一致させたい場合は、パイプ記号(|)を OR 演算子として使えます。パイプ記号の前にエスケープ文字(\)は不要です。たとえば、次の式は SNI host が .*whispersystems.org または .*signal.org のいずれかに一致すると true になります。
| セレクター | 演算子 | 値 |
|---|---|---|
| SNI | matches regex | .*whispersystems.org|.*signal.org |
正規表現に加えて、論理演算子 で複数の値に一致させることもできます。
式内の複数の条件を評価するには、And 論理演算子を選びます。これらの式は、Or 論理演算子でさらに比較できます。
| 演算子 | 意味 |
|---|---|
| And | 式内のすべての条件に一致する |
| Or | 式内のいずれかの条件に一致する |
Or 演算子は、同じ式グループ内の条件に対してのみ使えます。たとえば、Traffic の条件と Identity or Device Posture の条件は比較できません。