Skip to content

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

カスタムポリシーを追加する

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

デフォルトでは、作成できるポリシーは最大 200 件です。ポリシー管理を簡単にするため、ポリシー内から参照する IP アドレスのリストを作ることを推奨します。

ポリシーを追加する

  1. Cloudflare One ダッシュボードで Firewall policies > Custom policies を開きます。
  2. Add a policy を選択します。
  3. 新しいポリシーの情報を入力します。既存のポリシーはすべて IPv4 に適用されます。Value を埋めるときは、マネージドの IP リスト を使えます。
  4. 入力が終わったら、Add new policy を選択します。

無効なポリシーを作成する

新しいポリシーを追加すると、デフォルトで Enabled になります。

Disabled のポリシーを作るには、上記の ポリシーを追加する の手順に従い、Enabled をオフにします。無効状態のポリシーは、Enabled にするまでアクションを実行しません。

既存のポリシーを無効にするには、Custom policies タブで Enabled をオフにします。

ポリシーを更新する

  1. Cloudflare One ダッシュボードで Firewall policies > Custom policies を開きます。
  2. 編集するポリシーを探し、三点リーダー > Edit を選択します。
  3. 変更を反映し、Save を選択します。

既存のポリシーを削除する

  1. 一覧から削除するポリシーを探します。
  2. 行の末尾で Delete を選択します。
  3. 削除を確定するため、もう一度 Delete を選択します。

API

次に、API で特定の操作を行う例を示します。

Skip アクション

次の例では、すべての TCP ポートをブロックしつつ、skip アクションでポート 8080 だけを許可します。

curl https://api.cloudflare.com/client/v4/accounts/{account_id}/rulesets \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "name": "Example ruleset",
  "kind": "root",
  "phase": "magic_transit",
  "description": "Example ruleset description",
  "rules": [
    {
      "action": "skip",
      "action_parameters": { "ruleset": "current" },
      "expression": "tcp.dstport in { 8080 } ",
      "description": "Allow port 8080"
    },
    {
      "action": "block",
      "expression": "tcp.dstport in { 1..65535 }",
      "description": "Block all TCP ports"
    }
  ]
}'

国をブロックする

次の例では、ISO 3166-1 Alpha 2 形式の 2 文字の国コードを使い、送信元または宛先 IP がブラジルのパケットをすべてブロックします。

curl https://api.cloudflare.com/client/v4/accounts/{account_id}/rulesets \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "name": "Example ruleset",
  "kind": "root",
  "phase": "magic_transit",
  "description": "Example ruleset description",
  "rules": [
    {
      "action": "block",
      "expression": "ip.src.country == \"BR\"",
      "description": "Block traffic from Brazil"
    }
  ]
}'

IP リストを使う

Cloudflare Network Firewall は、式の ip.srcip.dst フィールドで リストの利用 に対応しています。使えるリストは次のとおりです。

  • $cf.anonymizer - 匿名化プロキシ
  • $cf.botnetcc - ボットネットのコマンド&コントロールチャネル
  • $cf.malware - マルウェアの送信元
  • $<IP_LIST_NAME> - アカウントレベルの IP リストの名前
curl https://api.cloudflare.com/client/v4/accounts/{account_id}/rulesets \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "name": "Example ruleset",
  "kind": "root",
  "phase": "magic_transit",
  "description": "Example ruleset description",
  "rules": [
    {
      "action": "block",
      "expression": "ip.src in $cf.anonymizer",
      "description": "Block traffic from anonymizer proxies"
    }
  ]
}'

役に立ちましたか?