反向代理+WAF

信息安全 http代理 华夫
2021-08-14 02:30:47

作为网络设计的一部分,我正在实现一个 HTTP 反向代理以及一个 WAF。

HTTP 代理,我正在考虑在任一外部防火墙上终止 SSL - 因此 WAF 可以阻止第 7 层流量。

Outer Firewall --> WAF --> HTTP Proxy ---> Internal Network / Public zone DMZ

内部网络/面向公众的 DMZ 上的任何机器都会通过反向代理转移所有流量,然后通过 WAF 退出。是的。

我的问题是 - 这是使用 HTTPS 反向代理部署 WAF 的最佳方式,所以我需要回去学习吗?

3个回答

您尚未定义网站/应用程序。它是可变的吗?- 如果它主要是静态内容,那么一些网络服务器规则可能会丢弃任何恶意流量。

如果它是面向客户的/动态的……您是否希望所有流量都进入您的网络?更好的选择可能是将其推送到云中,在您的弹性服务器云前面有一个 WAF+负载平衡虚拟设备。WAF 将防止数据完整性攻击(例如 SQL 注入);来自 DOS 的负载平衡/弹性。

如果你在本地有它,你将不得不处理错误的查询(被 WAF 拒绝);不良行为者(被 IP 阻止;基于 WAF 日志)以及最终服务的成功 - 合法流量是否会淹没您的互联网连接并对其他业务流程产生不利影响?

您的代理的目的是充当 DMZ 中的服务器和 Internet 上这些服务器的客户端之间的中间人。它可以通过拦截标头请求来充当安全角色,并且可以通过负载平衡和优化来充当性能角色。

大多数本地 WAF 基于反向代理,但具有更新的软件和更强大的硬件。您的 WAF 的目的是调解来自网络的 HTTP 流量到您的 DMZ。它(非常)可能已经能够执行您的反向代理可以执行的所有功能。

SSL 必须在 WAF 或外部防火墙处终止,具体取决于外部防火墙的功能。NGF = 是,其他 = 否。

另一个考虑因素是架构。本地 WAF 很昂贵。它们通常根据吞吐量定价,因此根据网络的大小,从 WAF 中删除内部 LAN 可能是明智的,特别是因为它们不应该是直接到内部 LAN 的传入连接。

我想说这取决于您要传输的数据类型和可能适用的法规,终止 TLS 连接然后以明文方式传输数据将违反某些法规(例如 PCI-DSS)。

还有隐私问题,您是否介意数据从您将 TLS 终止点放置到您的 Web 入口点时清晰传输?

您可以在 WAF 上执行 TLS 终止,然后打开另一个到您的端点的 TLS 连接,这样数据就不会清晰地传输,但您可以检查流程,您甚至可以免费使用 apache 和 modsecurity 进行 waf+反向代理。有一个可以在几分钟内设置好的 GitHub docker 版本(modsecurity-crs-rp)。