出于安全原因封锁 80 端口有什么缺点吗?

出于安全原因封锁 80 端口有什么缺点吗?

为了提高安全性,我们希望强制托管所有客户站点均允许 https 访问,并在我们的条款和条件中保证这一点。

问题在于,目前 Apache Web 服务器已配置为使用“永久重定向”Apache 指令将所有 http 请求重定向到 https 请求。从技术上讲,我们仍在使用不安全的 http 协议,尽管它仅用于重定向,并且无法通过 http 访问任何客户数据。

两个问题:

  1. 完全阻止端口 80 有什么缺点吗?我能想到的唯一缺点是客户被迫在其 URL 前面输入 https://,而不是依赖自动重定向。

  2. 如果客户发送 http POST 请求,Apache httpd 会在实际 POST 数据传输到我们的服务器之前响应重定向,还是仅在收到(未加密的)客户数据之后才发送重定向?

请指教。


考虑到您的意见后,我们将对我们的网络设置进行以下更改:

  1. 将修改各个客户虚拟机,使它们不再监听端口 80。同时,重定向配置也将被删除。
  2. 防火墙将进行配置,以便任何端口 80 流量都将被路由到一个特殊的服务器,该服务器的唯一目的是向发送者返回正确的重定向响应。
  3. 为了实现最大程度的安全,这个特殊的服务器将与所有其他系统位于不同的 VLAN 中,我们甚至可以使用专用硬件(例如 Raspberry Pi)而不是标准 VM。
  4. 将为所有客户实例添加 HSTS 支持。

通过使用此设置,我们可以证明没有未加密的流量到达或离开客户网络,同时仍提供用户友好的自动重定向到 https。

答案1

在我看来,你的“唯一缺点”非常大。据我所知,没有人https://会经常输入 URL。我猜 99% 的普通用户只会说“啊,网站挂了”。

HTTPPOST确实会发送未加密的数据。它也会失败,因为重定向会导致它变成。也就是说,如果您已经重定向到 HTTPS,GET人们几乎没有理由对您的 URL 进行 HTTP 。POST

你可能真正想要的是HTTP 严格传输安全,这将告诉用户的浏览器他们应该始终对您的域使用 HTTPS。请参阅限制 - 新用户的第一个请求不受保护,但所有后续请求均受保护(可以通过将您的域提交给主要浏览器供应商的 STS 预加载列表来解决此问题)。

答案2

完全阻止端口 80 有什么缺点吗?我能想到的唯一缺点是客户被迫在其 URL 前面输入 https://,而不是依赖自动重定向。

这正是保持端口 80 开放的主要原因,即用户友好性。据我所知,大多数浏览器在输入 URL 时仍默认使用 http://,当端口 80 被阻止时,将导致错误消息。

只有真正专注的用户才会再次尝试使用 https://,但几乎所有访问您网站的其他访问者可能会认为您的网站已关闭,从而转向其他地方。

如果客户发送 http POST 请求,Apache httpd 会在实际 POST 数据传输到我们的服务器之前响应重定向,还是仅在收到(未加密的)客户数据之后才发送重定向?

仅当客户端请求完成后才会发出重定向,因此数据必须以明文形式传输。

对于托管在您自己的服务器上的表单,您可以通过设置HTTP 严格传输安全政策。

答案3

  1. 是的,删除重定向会导致严重问题。新客户不会知道这一点,您可能希望允许访问的许多爬虫也不会知道。您关闭的威胁载体微不足道。

  2. POST 数据可能会以单个 HTTP 请求的形式明文发送,然后触发重定向。但是,在大多数情况下,POST 隐含着表单。除了您的团队之外,还有其他人创建提交到您网站的表单吗?

相关内容