将 Web 应用程序防火墙集成到此架构中

将 Web 应用程序防火墙集成到此架构中

我需要一些帮助来弄清楚如何在现有架构中实现 Web 应用程序防火墙 (WAF)。

目前我有 2 个使用 keepalived 集群的 HAproxy 服务器,它们负责以下工作:

  • 负载均衡
  • SSL 终止
  • 将静态流量重定向到缓存服务器

我有 1 个 varnish 服务器,仅缓存静态内容。我的流量流如下所示:

    Load Balancer (haproxy)-+---------(Dynamic content)-------+----- Drupal Servers
                             \                                /
                              +-- (Static Content) Varnish --+

我的 HaProxy 配置如下:

frontend  main *:80
  acl url_static       path_beg       -i /static /images /javascript /stylesheets
  acl url_static       path_end       -i .jpg .gif .png .css .js

  use_backend         bk_varnish          if url_static
  default_backend     bk_drupal

在这种情况下,WAF 的最佳放置位置在哪里?最好不要引入任何服务器,因此理想情况下,WAF 将在 HAProxy 服务器上运行。我知道 Varnish 具有一些 WAF 功能,但它目前仅提供静态资产。我是否应该重新设计此解决方案以通过 Varnish 路由所有流量?

答案1

你可以把它和 haproxy 放在同一个盒子里。实际上,把它放在那里很有意义。

因此问题变成了在 haproxy 之前还是之后。如果将其放在之前,那么除了保护应用程序的规则之外,您还必须添加保护/允许静态资产的规则。如果将其放在之后,您不必担心静态资产的规则,因为您可以只将流量发送bk_drupal到 Web 应用程序防火墙。

我对 Web 应用程序防火墙 Varnish 的好坏没有任何看法。

相关内容