ルールの追加
ダッシュボードまたはアカウントルールセットAPIを介して、既存のルートルールセットを確認できます。新しいMagic Transitの顧客の場合、アカウント用のルートルールセットが作成されていない可能性があります。ルートルールセットの例を表示するには、Magic Firewall Terraformドキュメント ↗を参照してください。
デフォルトでは、最大200のルールを作成できます。ルール管理を効率化するために、ルール内で参照するIPアドレスのリストを作成することをお勧めします。
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- Magic Firewallを選択します。
- カスタムルールタブで、ルールを追加を選択します。
- 新しいルールの情報を入力します。
- 完了したら、新しいルールを追加を選択します。
新しいルールを追加すると、ルールはデフォルトで有効になります。
無効なルールを作成するには、上記のルールの追加の手順に従い、有効をオフに切り替えます。ルールが無効な状態にあると、有効に設定されるまでアクションは実行されません。
既存のルールを無効にするには、Magic Firewallルールページから、有効のトグルをオフに設定します。
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- Magic Firewall > カスタムルールを選択します。
- 編集したいルールを見つけて、編集を選択します。
- 変更を加えてルールを更新し、ルールを編集を選択します。
- 削除したいルールをリストから見つけます。
- 行の末尾から、削除を選択します。
- 削除を確認するために、再度削除を選択します。
以下に、特定のアクションを実行するためにAPIを使用する方法の例を示します。
以下の例では、すべてのTCPポートをブロックしますが、スキップアクションを使用して1つのポート(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": "ポート8080を許可" }, { "action": "block", "expression": "tcp.dstport in { 1..65535 }", "description": "すべてのTCPポートをブロック" } ]}'以下の例では、ブラジルからの送信元または宛先IPアドレスを持つすべてのパケットを、ISO 3166-1 Alpha 2 ↗形式の2文字の国コードを使用してブロックします。
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.geoip.country == \"BR\"", "description": "ブラジルからのトラフィックをブロック" } ]}'Magic Firewallは、ip.srcおよびip.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": "匿名化プロキシからのトラフィックをブロック" } ]}'ルール式の書き方についての詳細は、式の作成を参照してください。