跳转到内容

Windows Web 层的 WAF:边缘、CRS 与现实边界

核验于 1 分钟阅读

在 CDN/边缘 WAF、IIS 请求过滤、ModSecurity/CRS 之间选择,先 log-only 上线,并处理误杀。

测试环境Standard / Datacenter · 版本号 26100.33650 · x64
E1
版本号
26100.33650
版本
Standard / Datacenter
架构
x64
支持
文档(E1)
证据
E1官方文档
核验日期
2026-10-29
页面类型
方法

WAF 是一层,不是注入问题的修复。Windows 上:

  • 边缘/CDN WAF(Cloudflare/Akamai/Azure WAF)通常最省事,流量到 IIS 前就挡。
  • IIS 请求过滤 + URL Rewrite 能做粗规则(方法、路径、大小、IP),不是完整 CRS。
  • ModSecurity + OWASP CRS 在 Linux/Nginx 成熟;Windows/IIS 有构建,但不是开箱默认。没实际跑过就不要声称“IIS ModSecurity 已验证”。
  • 挡已知坏模式(SQLi/XSS/RCE 签名);
  • 限速/防爆破;
  • 地理/IP 黑白名单;
  • 应用修复前的虚拟补丁。

不能:

  • 修坏掉的授权;
  • 挡看起来合法的业务逻辑攻击;
  • 替代输入校验、参数化查询、打补丁。
  1. Log-only 一到两周,收集 top 触发规则。
  2. 用定向例外修误杀,不要关整套规则。
  3. staging 强制;测登录、上传、搜索、支付、API。
  4. 生产强制;保留紧急 bypass runbook。
  5. 定期看规则更新和日志。
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="52428800" maxUrl="4096" maxQueryString="2048" />
<verbs allowUnlisted="false">
<add verb="GET" allowed="true" />
<add verb="POST" allowed="true" />
</verbs>
</requestFiltering>
</security>
</system.webServer>

这不是 WAF,只是减少攻击面。CORS 预检需要 OPTIONS 就不要挡。

  • Nginx limit_req 放边缘。
  • CDN/WAF 按 IP/session/path 限速。
  • 登录/OTP/搜索在应用层限。
  • 返回 429 + Retry-After,不要静默丢。
  • WAF 日志有被挡请求和 rule id。
  • 正常请求仍成功。
  • 源站不可直连(绕过检查)。
  • bypass/管理路径受限且审计。

E1。实验室没有部署 WAF;本页讲选择和上线,避免把 Windows-only 部署说大。

来源