Skip to content

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

ポリシーを追加する

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

ルートルールセットは、すべてのファイアウォールポリシーを格納する最上位のコンテナーです。既存のルートルールセットがあるかどうかは、ダッシュボードまたは Account rulesets API で確認できます。Magic Transit の新規のお客様は、アカウントにルートルールセットがまだない場合があります。ルートルールセットの例は、Cloudflare Network Firewall の Terraform ドキュメント を参照してください。

デフォルトでは、作成できるポリシーは最大 200 件です。上限を上げる必要がある場合は、アカウントチームへ問い合わせてください。ポリシー管理を簡単にするため、ポリシー内から参照する IP アドレスのリストを作成することをおすすめします。

ポリシーを追加する

  1. Cloudflare ダッシュボード にログインし、Networking > Firewall policies を開きます。
  2. Add a policy を選びます。
  3. 新しいポリシーの情報を入力します。既存のポリシーはすべて IPv4 トラフィックだけに適用されます。Value を入力するときは Managed IP List を使えます。
  4. 完了したら Add new policy を選びます。

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

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

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

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

ポリシーを更新する

  1. Cloudflare ダッシュボード にログインし、Networking > Firewall policies を開きます。
  2. 編集するポリシーを探し、三点メニュー > Edit を選びます。
  3. ポリシーを更新し、Save を選びます。

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

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

API

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

Skip アクション

skip アクションは、一致したトラフィックについて現在のルールセットの評価を止め、実質的に通過を許可するようファイアウォールに指示します。ルールセット内のルールは上から下へ順に評価されます。次の例では、包括的な block が適用される前に一致トラフィック(ポート 8080)を許可するため、skip ルールを block ルールより前に置く必要があります。

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"
    }
  ]
}'

次のステップ

ルール式の書き方については、式を作成する を参照してください。

役に立ちましたか?