Ask HN:如果回复里有代码块,Cloudflare 会屏蔽 HN 评论吗?
Cloudflare 的 Web 应用防火墙正在拦截 Hacker News 上某些包含代码片段的评论,例如 `nc` 命令或目录穿越字符串,并将它们当作潜在攻击。评论者借此指出,基于模式匹配的 WAF 规则很容易产生频繁误报、破坏技术类网站上的合法功能,还可能诱使组织陷入看起来只是在仪表盘上“很安全”、却让用户受挫的“安全表演”。讨论还提到 Cloudflare 作为终止 TLS 的代理可以看到明文流量,同时也带来了 DDoS 防护和性能方面的好处。
Cloudflare WAF 屏蔽 HN 评论
- 多位用户确认,评论中的某些代码模式会触发 Cloudflare 的 WAF,并返回 “banned” 页面。
- 例子包括:
nc后面紧跟一个 IPv4 地址。- 类似
../etc/passwd的目录穿越字符串(没有空格)。
- 轻微修改(额外空白、换行、不同分隔符)通常就能绕过过滤器,这说明它是粗糙的模式匹配。
配置、责任与绕过办法
- 据称,Cloudflare 更严格的 WAF 规则是付费套餐的一部分,并且可以单独切换;它们并不是默认全部开启。
- 有人认为 HN 只需关闭 WAF 或调整规则即可,尤其对于一个核心内容包含 shell/SQL 片段的网站。
- 也有人建议给 HN 管理员发邮件以便更快修复;公开发帖则能帮助其他受影响的用户。
- 已测试的绕过办法包括:
- 调整
nc和 IP 周围的空白或换行。 - 避免某些子串。
- 有人建议用 Base64 编码内容,但也有人批评这违背了 WAF 的目的。
- 调整
Cloudflare、TLS 与隐私
- 一些评论澄清,Cloudflare 会终止 TLS、解密流量、检查/修改流量,然后再转发(可选地重新加密)。
- 因此,对使用代理的站点来说,Cloudflare 能看到所有明文流量,这一点和其他 CDN/WAF 提供商类似。
- 检测这一点的方法包括 DNS 记录、证书细节,或者访问
/cdn-cgi/trace。 - 讨论中出现是否用户“自由选择”这种 MITM 方案的争论,大家对 Cloudflare 的存在是否显而易见意见不一。
WAF 的价值与缺点
- 批评很强烈:WAF 被称为基于正则、误报率高的“安全表演”,会破坏合法流量(尤其是任意文本、压缩包、代码示例),并增加延迟和复杂性。
- 例子包括被拦截的电商操作、登录循环,以及损坏的 URL/产品。
- 支持者认为 WAF:
- 能快速缓解零日漏洞和大规模、低技术水平的攻击(脚本小子、僵尸网络)。
- 也承担组织与合规方面的角色。
- 形成的共识是:WAF 如果目标明确、持续监控并调优,是有用的;但像 HN 这样以文本为主的网站上使用宽泛的通用规则则被认为不合适。
HN 基础设施与 Cloudflare 使用情况
- DNS、证书以及
/cdn-cgi/trace都证实 HN 目前位于 Cloudflare 之后。 - 评论推测这很可能是为了应对 DDoS 攻击,用 Cloudflare 作为前端保护一台单核的 HN 应用服务器。
- 一些用户报告在登录状态下会变慢,但这种慢速究竟应归因于 HN 还是 Cloudflare 并不确定。