AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 785564
Accepted
nn4l
nn4l
Asked: 2016-06-23 05:24:25 +0800 CST2016-06-23 05:24:25 +0800 CST 2016-06-23 05:24:25 +0800 CST

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

  • 772

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

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

两个问题:

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

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

请指教。


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

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

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

apache-2.2 security
  • 3 3 个回答
  • 1016 Views

3 个回答

  • Voted
  1. Best Answer
    ceejayoz
    2016-06-23T05:50:26+08:002016-06-23T05:50:26+08:00

    IMO,您的“唯一缺点”是一个很大的缺点。我知道没有人https://经常输入 URL。我怀疑 99% 的普通用户只会“嗯,网站已关闭”。

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

    您可能真正想要的是HTTP Strict Transport Security,它将告诉用户的浏览器他们应该始终为您的域使用 HTTPS。查看限制 - 新用户的第一个请求不受它保护,但所有后续请求都受保护(这可以通过将您的域提交到主要浏览器供应商的 STS 预加载列表来解决)。

    • 7
  2. HBruijn
    2016-06-23T05:54:39+08:002016-06-23T05:54:39+08:00

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

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

    只有真正敬业的人会再次尝试使用 https://,但几乎所有其他访问您网站的访问者可能会认为您的网站已关闭而去其他地方。

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

    重定向仅在客户端请求完成后发出,因此在数据以明文形式传输之后。

    对于托管在您自己的服务器上的表单,您可以通过设置HTTP 严格传输安全策略来防止浏览器通过不安全的通道提交数据。

    • 5
  3. Jedi
    2016-06-23T05:54:22+08:002016-06-23T05:54:22+08:00
    1. 是的,删除重定向会导致重大问题。新客户不会知道这一点,您可能希望允许访问的许多爬虫也不会知道。您要关闭的威胁向量可以忽略不计。

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

    • 3

相关问题

  • Apache Django Mod_Wsgi - 自动重新加载应用程序

  • Apache:对多个虚拟主机使用相同的目录指令

  • Apache 上的子域不工作 - 找不到服务器

  • PHP 作为 CGI 还是 Apache 模块?

  • 避免将某些丢失的文件记录到 Apache2 错误日志中

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve