【问题标题】:does ssl on firewall and website conflict with each other防火墙和网站上的 ssl 是否相互冲突
【发布时间】:2018-12-08 08:31:24
【问题描述】:

我们已经让我们的防火墙提供商在防火墙上安装了 SSL 证书,如果我们在服务器(网站)上放置了 SSL 证书,那么它会发生冲突还是可以正常运行?

对此的任何建议将不胜感激。

【问题讨论】:

  • 网络服务器上有什么样的证书?自签名还是公开的 CA 签名?可以在防火墙上添加 CA 证书吗?
  • 所以基本上我们计划使用 AWS Certificate manager 来获取公共证书,我们的防火墙是 sucuri,他们已经在防火墙 ip 上安装了证书
  • 我们在这里谈论什么样的防火墙?
  • 通过 sucuri 的安全防火墙

标签: php ubuntu web-application-firewall


【解决方案1】:

所以 SSL 的工作方式可能不是您所期望的,根据您的描述,将有两个不同的连接,从用户到防火墙和从防火墙到 Web 服务器。

从用户的角度来看,只有防火墙证书很重要,它将是用来加密数据的。

如果您在网络服务器上激活 ssl 并添加证书,则唯一看到此证书的将是防火墙,因此它必须对防火墙客户端本身有效(如果防火墙不知道签署证书,如果您不将此授权证书添加到防火墙证书存储中,您将遇到验证问题。

在这种情况下,您的防火墙通常充当反向代理,终止用户的 SSL 并在其自身和网络服务器之间启动另一个 SSL 会话。

在糟糕的 ascii 艺术中,这可能会显示如下:

user <--using firewall's cert--> Firewall <--using server's cert--> webserver

【讨论】:

  • hmmm .. 好的,现在我们计划向网站添加证书的真正问题是,现在我们的网站显示 https,但表单有 http,因此帖子失败了。所以我们需要一个解决方案来解决这个问题,如果我们可以在没有额外证书的情况下做到这一点,那就太好了
  • 设置您的应用程序以遵守 X-Forwarded-Proto 标头转发标头,防火墙应填充此标头。
  • @Tensibai 从技术上讲,应用程序应该尊重X-Forwarded-Proto Forwarded 标头。防火墙不应同时设置两者,如果应用程序尝试从两者中读取,这将是一个安全问题,因为两者之一可能被防火墙欺骗和转发。例如,AWS 负载均衡器发送 X-Forwarded-* 标头,并将从请求中逐字转发 Forwarded 标头
  • 我有 X-Forwarded-Proto: https 显示在“网络”选项卡的请求标头中,但该站点仍然有带有 http 而不是 https 的表单。
  • @apokryfos 从应用程序的角度来看,您应该同时支持两者,而不需要假设前面的反向代理会给出哪个(这就是说支持两者的想法)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多