Cloudflare WAF

Web application firewall with Cloudflare managed rulesets, OWASP scoring and custom rules at the edge.

Provider
cloudflare
Category
Security
Properties · 4 set by this component
propertytypevaluesrequiredkind defaultthis component
botProtectionboolean—no—inherited
customRuleCountinteger—no—inherited
exposedCredentialsCheck · component propertyboolean—nofalseinherited
managedboolean—nofalse▸ true
managedRuleSetstring—no—▸ cloudflare-free-managed-ruleset
modeenumdetection | prevention | offno—▸ prevention
owaspParanoiaLevel · component propertyenumpl1 | pl2 | pl3 | pl4nopl1inherited
owaspScoreThreshold · component propertyinteger—no40inherited
plan · component propertyenumfree | pro | business | enterprisenofreeinherited
rateLimitingboolean—no—▸ true
Rules that apply · 0

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

No rule reads this kind yet. That is a gap, not a guarantee.
Use it in a design
nodes:
  - { id: "waf", component: "cloudflare-waf" }
Other Web application firewall products · 13
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Cloudflare WAF: the Free Managed Ruleset is deployed automatically on every new zone, so the WAF
# filters (not just logs) out of the box ("Managed Rules", "Get started"); OWASP defaults to
# paranoia level PL1 and a score threshold of 40 ("OWASP Core Ruleset - Concepts").
schemaVersion: "1"
type: "component"
id: "cloudflare-waf"
kind: "waf"
provider: "cloudflare"
docs: "https://developers.cloudflare.com/waf/managed-rules/"
defaults:
  managed: true
  mode: "prevention"
  managedRuleSet: "cloudflare-free-managed-ruleset"
  rateLimiting: true
properties:
  plan:
    type: "enum"
    values: ["free", "pro", "business", "enterprise"]
    default: "free"
  owaspParanoiaLevel:
    type: "enum"
    values: ["pl1", "pl2", "pl3", "pl4"]
    default: "pl1"
  owaspScoreThreshold:
    type: "integer"
    default: 40
  exposedCredentialsCheck:
    type: "boolean"
    default: false

The same page as markdown, for an agent: /catalogue/components/cloudflare-waf.md