Setting the file. One moment.
Chapter 04 · Cloudflare Deploy
Subchapter 4.254
references/waf/README.mdMarkdown3 KBView on GitHub
Expertise: Cloudflare Web Application Firewall (WAF) configuration, custom rules, managed rulesets, rate limiting, attack detection, and API integration
Cloudflare WAF protects web applications from attacks through managed rulesets and custom rules.
Detection (Managed Rulesets)
Mitigation (Custom Rules & Rate Limiting)
cf.waf.score)import Cloudflare from 'cloudflare';
const client = new Cloudflare({ apiToken: process.env.CF_API_TOKEN });
// Deploy managed ruleset to zone
await client.rulesets.create({
zone_id: 'zone_id',
kind: 'zone',
phase: 'http_request_firewall_managed',
name: 'Deploy Cloudflare Managed Ruleset',
rules: [{
action: 'execute',
action_parameters: {
id: 'efb7b8c949ac4650a09736fc376e9aee', // Cloudflare Managed Ruleset
},
expression: 'true',
enabled: true,
}],
});// Block requests with attack score >= 40
await client.rulesets.create({
zone_id: 'zone_id',
kind: 'zone',
phase: 'http_request_firewall_custom',
name: 'Custom WAF Rules',
rules: [{
action: 'block',
expression: 'cf.waf.score gt 40',
description: 'Block high attack scores',
enabled: true,
}],
});await client.rulesets.create({
zone_id: 'zone_id',
kind: 'zone',
phase: 'http_ratelimit',
name: 'API Rate Limits',
rules: [{
action: 'block',
expression: 'http.request.uri.path eq "/api/login"',
action_parameters: {
ratelimit: {
characteristics: ['cf.colo.id', 'ip.src'],
period: 60,
requests_per_period: 10,
mitigation_timeout: 600,
},
},
enabled: true,
}],
});| Ruleset Name | ID | Coverage |
|---|---|---|
| Cloudflare Managed | efb7b8c949ac4650a09736fc376e9aee | OWASP Top 10, CVEs |
| OWASP Core Ruleset | 4814384a9e5d4991b9815dcfc25d2f1f | OWASP ModSecurity CRS |
| Exposed Credentials Check | c2e184081120413c86c3ab7e14069605 | Credential stuffing |
WAF rules execute in specific phases:
http_request_firewall_managed - Managed rulesetshttp_request_firewall_custom - Custom ruleshttp_ratelimit - Rate limiting ruleshttp_request_sbfm - Super Bot Fight Mode (Pro+)