Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

ネットワークポリシー

最終更新 Markdown で表示Agent セットアップ

ネットワークポリシーは、ユーザーとネットワーク宛先のあいだの TCP および UDP トラフィックを制御します。IP アドレス、ポート、プロトコルにもとづいて、SSH、RDP、データベース接続などの非 HTTP トラフィックを許可またはブロックできます。

Cloudflare One は ID プロバイダーと連携 するため、ID ベースのネットワークポリシーも作成できます。ユーザーの場所やデバイスに関係なく、非 HTTP リソースへのアクセスをユーザー単位で制御できます。

ネットワークポリシーは Action と、アクションの範囲を決める論理式で構成されます。式を作るには SelectorOperator を選び、Value フィールドに値または値の範囲を入力します。複数の条件を評価するには、AndOr の論理演算子を使えます。

式の条件が query 属性(Source IP など)と応答属性(Resolved IP など)を組み合わせている場合、その条件は応答を受信したときに評価されます。

Actions

DNS ポリシーと HTTP ポリシーのアクションと同様に、ネットワークポリシーのアクションは、対象要素に適用する判定を定義します。ポリシーごとに割り当てられるアクションは 1 つです。

Allow

API 値: allow

利用可能なセレクター

Traffic

Identity

Device Posture

Allow アクションのポリシーは、特定の IP またはポートへネットワークトラフィックを到達させます。デフォルトブロック構成では、Allow ポリシーが例外を定義します。Allow ポリシーに一致しないトラフィックは、優先度の低いキャッチオール Block ポリシーでブロックされます。たとえば、次の構成は特定ユーザーだけが指定の IP アドレスへ到達できるようにします。

セレクター 演算子 論理 アクション
Destination IP in 92.100.02.102 And Allow
Email in *@example.com

Block

API 値: block

利用可能なセレクター

Traffic

Identity

Device Posture

Block アクションのポリシーは、特定の IP またはポートへのネットワークトラフィックをブロックします。たとえば、次の構成はポート 443 宛てのすべてのトラフィックをブロックします。

セレクター 演算子 アクション
Destination Port in 443 Block

Cloudflare One Client のブロック通知

機能の可用性

クライアントモード Zero Trust プラン
  • Traffic and DNS mode
  • Traffic only mode
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 のドキュメント を参照してください。

Network Override

API 値: l4_override

利用可能なセレクター

Traffic

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 は、成功した上書き接続だけを ネットワークログ に記録します。

Selectors

Gateway は、次のセレクター(条件)とネットワークトラフィックを照合します。

Access Infrastructure Target

Access インフラストラクチャアプリケーション で保護されているすべての ターゲット です。

UI 名 API の例
Access Infrastructure Target access.target

Access Private App

Access セルフホストのプライベートアプリケーション で保護されている、すべての宛先 IP とホスト名です。

UI 名 API の例
Self-hosted Access App with Private Address access.private_app

Application

人気の Web アプリケーションのリスト(随時追加されます)に対して、network ポリシーを適用できます。詳細は アプリケーションとアプリタイプ を参照してください。

UI 名 API の例
Application any(app.ids[*] in {505})

Browser Isolation ベータ

現在のセッションが Remote Browser Isolation 内で動作しているかどうかです。隔離トラフィックと非隔離トラフィックで、ポリシーの動作を変えられます。

UI 名 API の例
Browser Isolation net.is_isolated == true

Content Categories

Cloudflare Radar が分類する、特定の セキュリティカテゴリ に属するアプリケーションです。

UI 名 API の例
Content Categories any(net.fqdn.content_category[*] in {1})

Destination Continent

リクエストの宛先の大陸です。位置情報は、対象の IP アドレスから判定します。大陸を指定するには、Value フィールドに 2 文字のコードを入力します。

大陸 コード
アフリカ AF
南極 AN
アジア AS
ヨーロッパ EU
北アメリカ NA
オセアニア OC
南アメリカ SA
UI 名 API の例
Destination Continent IP Geolocation net.dst.geo.continent == "EU"

Destination Country

リクエストの宛先国です。地理位置情報は、対象の IP アドレスから判定します。国を指定するには、Value 欄に ISO 3166-1 Alpha 2 コード を入力します。

UI 名 API の例
Destination Country IP Geolocation net.dst.geo.country == "RU"

Destination IP

リクエストの宛先の IP アドレスです。

UI 名 API の例
Destination IP any(net.dst.ip[*] in {10.0.0.0/8})

Destination Port

リクエストの宛先ポート番号です。

UI 名 API の例
Destination Port net.dst.port == 2222

Detected Protocol

Cloudflare の プロトコル検出 にもとづいて推定されたネットワークプロトコルです。

UI 名 API の例
Detected Protocol net.protocol.detection == "ssh"

Device Posture

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"})"

Protocol

パケットの送信に使うプロトコルです。

UI 名 API の例
Protocol net.protocol == "tcp"

Proxy Endpoint

ブラウザーが HTTP トラフィックを転送する プロキシサーバー です。

UI 名 API の例
Proxy Endpoint proxy.endpoint == "3ele0ss56t.proxy.cloudflare-gateway.com"

Security Categories

Cloudflare Radar が分類する、特定の セキュリティカテゴリ に属するアプリケーションです。

UI 名 API の例
Security Categories any(net.fqdn.security_category[*] in {1})

SNI

Server Name Indication(SNI)は、暗号化が始まる前の TLS ハンドシェイクでクライアントが送るホスト名です。Gateway は SNI を読み、暗号化トラフィックの宛先を識別します。SNI セレクターはホスト名の完全一致です。

デフォルトでは、SNI セレクターはポート 443 の HTTPS トラフィックにだけ適用されます。すべてのポートのトラフィックを検査するには、プロトコル検出 を有効にし、すべてのポートで検査する を選びます。

UI 名 API の例
SNI net.sni.host == "www.example.com"

SNI Domain

Gateway がトラフィックをフィルタする対象となる、Server Name Indication(SNI)ヘッダーのドメインです。たとえば example.com のルールは、example.comwww.example.commy.test.example.com に一致します。

デフォルトでは、SNI セレクターはポート 443 の HTTPS トラフィックにだけ適用されます。すべてのポートのトラフィックを検査するには、プロトコル検出 を有効にし、すべてのポートで検査する を選びます。

UI 名 API の例
SNI Domain net.sni.domains == "example.com"

Source Continent

リクエストを送っているユーザーの大陸です。

位置情報は、デバイスのパブリック IP アドレス(通常はユーザーの ISP が割り当てます)から判定します。大陸を指定するには、Value フィールドに 2 文字のコードを入力します。

大陸 コード
アフリカ AF
南極 AN
アジア AS
ヨーロッパ EU
北アメリカ NA
オセアニア OC
南アメリカ SA
UI 名 API の例
Source Continent IP Geolocation net.src.geo.continent == "North America"

Source Country

リクエストを送っているユーザーの国です。

地理位置情報は、デバイスの公開 IP アドレス(通常はユーザーの ISP が割り当てます)から判定します。国を指定するには、ValueISO 3166-1 Alpha-2 コード を入力します。

UI 名 API の例
Source Country IP Geolocation net.src.geo.country == "RU"

Source Internal IP

このセレクターは、ユーザーのローカルネットワークが割り当てたプライベート IP アドレスから Gateway に届くリクエストに対して、network ポリシーを適用します。

UI 名 API の例
Source Internal IP net.src.internal_src_ip == "192.168.86.0/27"

Source IP

Gateway がプロキシするデバイスの送信元 IP アドレスです。

UI 名 API の例
Source IP net.src.ip[*] in {10.0.0.0/8}

Source Port

Gateway がプロキシするデバイスの送信元ポートです。

UI 名 API の例
Source Port net.src.port == "2222"

Traffic Source ベータ

トラフィックを 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)。

Users

これらのセレクターは、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"})

Virtual Network

このセレクターは、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

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 の条件は比較できません。

役に立ちましたか?