我正在研究将 Barracuda Web 应用程序防火墙放置在托管设施的 LAMP 服务器前面。
根据我从文档中收集到的信息,您可以将其设置为桥接模式或路由模式,其中路由模式被认为是“首选,因为它更安全”。
假设在 Barracuda 前面有一个防火墙,我脑子里的设计是这样的:
LAMP 服务器 ---- Barracuda ------ 防火墙/路由器
灯泡:192.168.1.2/30 网关:192.168.1.1/30
梭子鱼:局域网:192.168.1.1/30 广域网:10.0.0.2/30 网关:10.0.0.1/30
防火墙:WAN:200.200.200.200/28 LAN:10.0.0.1/30
因此,基本上,Barracuda 是 LAMP 盒的内部 DMZ 防火墙,它执行 NAT(内部/外部),并路由到外部防火墙,后者又执行 NAT(内部/外部)。当以这种方式寻址/路由时,双 NAT 似乎有点不太理想,但我已经看到了很多描述此 [服务器 <- 反向代理 <- 防火墙] 配置的图表(请注意,没有 IP)。
这是正确的吗?那么像 nginx 或 Apache + mod_proxy 这样的“普通”反向代理呢?通常是桥接还是路由?不确定实现这一点的最佳方法是什么。
答案1
“正常”反向代理也会被路由,这通常被认为是大多数应用程序的最优配置。
“桥接”设置有几个原因,但大多数原因都是特定于应用程序的。桥接设置不会(或不应该)以任何方式修改请求/响应,而代理服务器充当中间人,有时可能会导致问题。
我自己没有 Barracuda 应用程序防火墙,但我不能假设它与 Apache + Mod_Proxy + Mod_Security 服务器有很大不同。