WAF for SaaS に関心はあるが、どこから始めればよいかわからない場合は、WAF Managed Rules の利用を推奨します。Cloudflare のセキュリティチームが、一般的な攻撃手法を検出し、脆弱性からアプリケーションを守るためのルールを作成・管理しています。これらのルールは、Cloudflare Managed や OWASP などの マネージドルールセット として提供され、設定や感度レベルを変えてデプロイできます。
WAF for SaaS は Enterprise プランのお客様が利用できます。
アカウントレベルでマネージドルールセットをデプロイする場合は、WAF のドキュメント を参照してください。
Cloudflare for SaaS を始める を確認し、WAF for SaaS を把握しておいてください。
カスタムホスト名の作成時に カスタムメタデータ を付けると、タグ付けを自動化できます。カスタムホスト名へのカスタムメタデータの付け方は、API ドキュメント を参照してください。
-
security_tagのバケットを決めます。内容は自由にカスタマイズでき、数に厳密な上限はありません。たとえば、デフォルトとしてsecurity_tagをlow、medium、highにし、カスタムホスト名ごとに 1 つのタグを付けられます。 -
まだの場合は、カスタムホスト名に関連付けるカスタムメタデータに
security_tagを含め、カスタムメタデータをカスタムホスト名に関連付けます。カスタムホスト名に関連付ける JSON ブロブは自由に定義できます。
関連付けが完了すると、定義したカスタムホスト名に JSON ブロブが追加されます。このブロブは以降の受信リクエストすべてに関連付けられ、WAF では cf.hostname.metadata フィールドとして参照できます。ルールでは cf.hostname.metadata にアクセスし、ブロブから必要なデータを取り出せます。
-
Cloudflare ダッシュボードで WAF ページを開きます。
WAF を開く ↗ -
Managed rulesets タブを開きます。
-
Deploy > Deploy managed ruleset を選択します。
-
Cloudflare Managed Ruleset の横で Select ruleset を選択します。
-
Execution name に、ルールセットをデプロイするルールの名前を入力します。
-
受信リクエストの一部にマネージドルールセットを適用するには、Edit scope を選択します。
-
Custom filter expression を選択します。
-
Edit expression を選択し、Expression Editor に切り替えます。
-
基本的な式は次のとおりです。必要に応じてロジックを追加します(特定のカスタムホスト名で絞り込む場合は
http.host eq "<HOSTNAME>"など)。(lookup_json_string(cf.hostname.metadata, "security_tag") eq "low") and (cf.zone.plan eq "ENT") -
Next を選択します。
-
(任意)有効にするルールやデフォルトアクションなど、ルールセットの構成を変更できます。
-
Deploy を選択します。
このガイドでは Cloudflare Managed Ruleset を使っていますが、カスタムルールセットを作成してカスタムホスト名にデプロイすることもできます。Custom rulesets タブを開き、Create ruleset を選択します。low / medium / high のルールセット例は、WAF for SaaS を参照してください。