快速结论

如何使用这篇 Coraza Caddy Docker 配置与 CRS 验证指南

先验证所选 Coraza 与 Caddy 集成路径能加载目标 CRS 规则、保持上游行为,并输出足够的规则上下文用于调优。

难度
高级
时间
1-2 小时 完成工程 PoC
更新
2026-07-26

教程资料

难度
高级
时间
1-2 小时 完成工程 PoC
更新
2026-07-26
适用场景
适合需要评估 Coraza、OWASP Core Rule Set 安装、配置或上线前验证步骤的团队。

前置条件

  • 准备隔离测试环境、测试域名或低风险业务入口。
  • 确认有权限修改 DNS、反向代理、Ingress、CloudFront、Front Door 或对应流量入口。
  • 准备一组正常业务路径,包括登录、上传、API、后台和高频接口。
  • 在任何生产流量切换前写好回滚方案。

部署流程

验证具体 Caddy 构建,而不是孤立验证 Coraza。

1

准备测试环境

先在实验室、灰度域名或低风险入口验证。确认网络、证书、上游服务、日志权限和防火墙规则都可控。

  • 上游服务可直接访问。
  • WAF 所需端口或云资源未被占用。
  • 日志和监控入口已经准备好。
2

按官方文档接入

安装命令、控制台步骤和规则集版本都应以当前官方文档为准,避免复制过时博客片段。

  • 安装或策略创建成功。
  • 控制台或服务健康状态正常。
  • 管理入口仅对可信网络开放。
3

只保护一个入口

先接入单个应用、单个域名或单条路径,观察干净流量、TLS、日志字段和上游行为,再扩大范围。

  • 正常请求可以到达上游。
  • WAF 能看到预期请求字段。
  • 日志里能区分来源、路径、规则和动作。
4

从观察过渡到拦截

先用观察、计数、记录或挑战动作收集证据,再对低风险规则启用拦截。任何拦截策略都应可快速回滚。

  • 误报已经分组处理。
  • 拦截事件可以被告警或查询。
  • 回滚步骤已经实际演练。

验证清单

  • 验证正常业务路径不会被误拦截。
  • 在实验环境发送安全测试载荷,确认检测或拦截动作。
  • 记录接入前后的延迟、错误率和日志量。
  • 确认安全事件能进入现有告警或工单流程。

回滚规划

  • 保留原始上游路径或上一版策略。
  • 记录 DNS、代理、规则模式或云控制台的一键回退步骤。
  • 把 WAF 策略变更与其他发布拆开处理。

常见错误

  • 没有观察真实业务流量就直接启用拦截。
  • 只测试攻击载荷,忽略登录、上传、API 和后台路径。
  • 没有提前规划日志保留、告警分流和回滚责任人。

相关 WAF 资料

实验室验证

PoC 过程中建议保存的命令输出

这些检查项刻意保持保守。请把域名和端口替换成你的实验环境值,并把输出保存到测试记录里。

1

构建已实测的 Coraza Caddy 镜像

docker build --provenance=false -t wafwiki/coraza-caddy:2.5.0 docs/lab-fixtures/coraza-caddy

构建应解析 Caddy 2.11.2、coraza-caddy 2.5.0、Coraza 3.7.0 与 coraza-coreruleset 4.25.0。

2

运行可复现请求矩阵

scripts/run-waf-evidence-lab.sh

Coraza 路径记录 6 个正常 HTTP 200 与 4 个受控 SQLi/XSS HTTP 403。

3

检查 JSON 请求体规则

rg 'ARGS:json|942100|941100|949110' docs/lab-evidence/waf-engine-comparison-2026-07-26-coraza.log

日志应显示解析后的 JSON 字段,以及 SQLi、XSS 和阻断评估规则。

常见问题

Coraza Caddy Docker 配置与 CRS 验证指南 流程能够验证什么?

它用于验证插件或模块兼容性、配置加载、正常代理流量、CRS 事件可见性和所选 Caddy 构建的可重复启动。

Coraza Caddy Docker 配置与 CRS 验证指南 进入生产前必须通过什么检查?

在模块来源、更新方式、请求体限制、规则排除、日志和回退到无 WAF 的 Caddy 配置全部记录前,不要进入生产。

资料来源