资讯详情

资讯详情

建站行业动态 · 设计趋势 · 数字化升级干货

API Firewall集成ModSecurity与OWASP CRS:为API加一道WAF防线的完整指南

API Firewall集成ModSecurity与OWASP CRS:为API加一道WAF防线的完整指南 API Firewall集成ModSecurity与OWASP CRS为API加一道WAF防线的完整指南【免费下载链接】api-firewallFast and light-weight API proxy firewall for request and response validation by OpenAPI specs.项目地址: https://gitcode.com/gh_mirrors/ap/api-firewallAPI Firewall 是一款快速、轻量的 API 代理防火墙通过 OpenAPI 规范对请求和响应进行校验。但它只解决API 结构是否合法的问题——面对 XSS、SQL 注入这类攻击载荷还需要 WAFWeb 应用防火墙规则。本文带你快速将 API Firewall 与ModSecurity 规则引擎及OWASP CRSCore Rule Set核心规则集集成起来为你的 API 加上一道成熟的攻击检测防线。️为什么需要 WAF 防线OpenAPI 校验能保证请求参数、字段类型符合规范却无法识别藏在合法参数值里的恶意内容。而 ModSecurity 是业界事实标准的安全规则引擎OWASP CRS v4 则是由社区持续维护的通用攻击检测规则集覆盖 SQL 注入、XSS、命令注入等主流攻击类型。API Firewall 内置了基于CorazaModSecurity 的 Go 语言实现的规则模块意味着✅ 现有的 ModSecuritysecLang规则无需改造即可直接加载✅ 对请求头和请求体、响应头和响应体全链路检测✅ 与 API Firewall 原有的 OpenAPI 校验、IP 白名单等能力叠加形成纵深防御快速上手3 步部署 OWASP CRS 防护项目仓库内置了完整的 OWASP CRS 演示环境基于 Docker Compose 一键启动1️⃣ 克隆仓库git clone https://gitcode.com/gh_mirrors/ap/api-firewall2️⃣ 进入演示目录cd api-firewall/demo/docker-compose/OWASP_CoreRuleSet3️⃣ 启动演示会自动下载并解压 OWASP CRS v4.x 规则make start启动成功后日志中会出现The ModSecurity configuration has been loaded successfully受保护的 httpbin 应用将运行在http://localhost:8080。 完整演示说明见 docs/demos/owasp-coreruleset.md核心编排文件为 demo/docker-compose/OWASP_CoreRuleSet/docker-compose.yml。核心配置解析关键环境变量一览在 demo/docker-compose/OWASP_CoreRuleSet/docker-compose.yml 中真正驱动 WAF 的是这几个环境变量环境变量作用APIFW_MODSEC_CONF_FILESModSecurity 配置文件列表用;分隔如coraza.conf;crs-setup.conf.exampleAPIFW_MODSEC_RULES_DIR规则目录自动加载其中所有*.conf规则文件APIFW_REQUEST_VALIDATION/APIFW_MODSEC_REQUEST_VALIDATION请求检测模式DISABLE/LOG_ONLY/BLOCKAPIFW_RESPONSE_VALIDATION/APIFW_MODSEC_RESPONSE_VALIDATION响应检测模式取值同上这些配置项的定义位于 internal/config/modsec.go加载逻辑配置文件 规则目录校验在同文件的LoadModSecurityConfiguration函数中。配套的核心配置文件 demo/docker-compose/OWASP_CoreRuleSet/coraza.conf 将SecRuleEngine设为On开启 JSON/XML 请求体解析器并配置了审计日志SecAuditEngine RelevantOnly是生产调参的良好起点。API Firewall 开源 WAF 防火墙防护能力概览工作原理请求与响应的双阶段检测WAF 能力以中间件形式挂载到请求处理链上参见 cmd/api-firewall/internal/handlers/proxy/routes.go代理模式与 cmd/api-firewall/internal/handlers/api/routes.goAPI 模式。中间件核心逻辑在 internal/mid/modsec.go其工作流程为请求阶段为每个请求创建 Coraza 事务依次处理远端连接、URI、请求头与请求体Phase 0/1/2/3放行到后端规则未触发时请求照常转发给后端服务响应阶段对响应头与响应体执行 Phase 4 规则审计收尾请求结束时执行 Phase 5 并关闭事务。命中规则后的动作支持deny/drop默认返回 403 Forbidden可自定义状态码和redirect。⚠️ 注意API 模式下仅检测请求WAF 模块目前不支持 GraphQL API。实战验证3 条 curl 命令测试拦截效果# 正常请求 —— 返回 200 OK curl -sD - http://localhost:8080/anything?idtest # XSS 载荷 —— 被拦截返回 403 Forbidden curl -sD - http://localhost:8080/anything?idsvg%20onload%3Dalert%281%29%21--contexthtml # SQL 注入载荷 —— 被拦截返回 403 Forbidden curl -sD - http://localhost:8080/anything?idselect1合法流量畅通无阻攻击流量被 CRS 规则精准拦截——这就是API 校验 WAF 检测双层防线的效果。✅迁移指南与最佳实践如果你已经在用 ModSecurity迁移成本几乎为零API Firewall 的规则模块完整兼容 secLang 语法现有规则文件挂载进来即可继续使用详见 docs/migrating/modseс-to-apif.md。 给你的 3 条落地建议先观察后拦截先以LOG_ONLY模式运行观察误报情况再切换为BLOCK双校验叠加OpenAPI 校验管结构CRS 规则管攻击两者配合才构成完整防线关注审计日志利用 coraza.conf 中的审计日志配置持续分析被拦截请求按需增补自定义规则。更多部署细节环境变量全表、Docker 参数可查阅 docs/installation-guides/docker-container.md。【免费下载链接】api-firewallFast and light-weight API proxy firewall for request and response validation by OpenAPI specs.项目地址: https://gitcode.com/gh_mirrors/ap/api-firewall创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关资讯