Cloudflare 防护
小橙云、基础 DDoS、WAF、边缘限流、Bot Fight Mode 和 Under Attack 的使用边界
默认策略
域名正式上线后,A / CNAME 记录平时就应该开启 Cloudflare 代理,也就是 DNS 面板里的橙色云朵。这样访问会先经过 Cloudflare,再转发到源站,基础 DDoS、缓存、WAF、请求头和安全事件分析才有生效位置。
如果源站 IP 可以被直接访问,攻击者仍然可以绕过 Cloudflare。生产环境应尽量让源站只接受 Cloudflare 或内网入口流量。
Cloudflare 代理不是应用安全的替代品。它负责挡在边缘,应用仍然要做登录态、权限、限流、上传限制、支付通知验证和密钥保护。
常用开关
| 能力 | 平时是否开启 | 适合处理 | 说明 |
|---|---|---|---|
| DNS Proxy / 小橙云 | 是 | 基础流量入口和 DDoS 防护 | 正式域名默认开启 |
| DDoS Managed Rules | 是 | L3 / L4 / HTTP DDoS | Cloudflare 自动分析流量特征并缓解攻击 |
| WAF Managed Rules | 建议开启 | 常见 Web 攻击、异常请求 | 先观察安全事件,再按误伤调规则 |
| WAF Rate Limiting | 建议按路径配置 | /api/*、登录、验证码、搜索、上传 | 比应用层限流更早生效,能减少源站压力 |
| Bot Fight Mode | 谨慎开启 | 明显机器人流量 | 会作用于整个域名,可能影响 API、移动端或监控 |
| Under Attack Mode | 攻击时临时开启 | 严重 L7 攻击 | 会出现中间验证页,影响访问体验和统计 |
边缘限流建议
Cloudflare 的边缘限流适合先保护这些路径:
| 路径 | 建议动作 | 原因 |
|---|---|---|
/api/auth/* | Managed Challenge 或 Block | 登录、注册、验证码和密码找回最容易被自动化攻击 |
/api/chat / AI 生成接口 | Block 或 Managed Challenge | 直接关联模型费用和队列资源 |
/api/uploads/* | Block | 上传会消耗带宽、内存和对象存储 |
/api/docs-search / 搜索接口 | Managed Challenge 或 Block | 低成本爬虫会不断触发搜索和数据库查询 |
/admin/* | Managed Challenge,必要时 IP allowlist | 管理后台不应该暴露给未验证的批量请求 |
应用层限流仍然要保留,因为 Cloudflare 看不到所有业务维度。例如按用户 ID、手机号、订单 ID、API key 或失败状态码计数,仍然需要应用自己做。
Bot Fight Mode 放在哪里
Cloudflare 新版控制台入口是:
- 进入 Cloudflare Dashboard,选择账号和域名。
- 打开
Security。 - 进入
Settings,筛选Bot traffic,找到Bot Fight Mode。
旧版入口通常是 Security > Bots > Bot Fight Mode。
Bot Fight Mode 是全域名级别的简单开关,不能用普通 WAF 规则跳过指定路径。如果你有 API 客户端、监控探针、移动端 App 或机器回调,先用 WAF Rate Limiting 和 Managed Challenge;只有确认误伤可接受时再开 Bot Fight Mode。
Turnstile 和 Under Attack
Turnstile 是表单或动作级别的人机验证,适合保护注册、登录、短信验证码发送、密码找回等高风险入口。中国用户访问 Turnstile 脚本可能有额外延迟,所以不建议默认铺满所有表单。攻击出现时,优先只保护被打的动作。
Under Attack Mode 是更重的全站或路径级挑战。它适合严重 L7 攻击时临时开启,不适合长期当普通风控,因为它会打断正常访问,也会影响部分统计。