我有一个通过 HTTPS 运行的前端 Web 服务器 - 这是面向公众的 - 即端口是开放的。
我还有一个后端 API 服务器,我的网络服务器向它发出 API 请求 - 这是面向公众的并且需要身份验证 - 端口是开放的。
这 2 个服务器通过 HTTPS 运行。
在 API 服务器的背后,还有很多其他的服务器。API 服务器反向代理这些服务器。这些其他服务器的端口不对传入流量开放。他们只能通过 API 服务器进行交谈。
我的问题......“许多其他服务器”是否需要通过 HTTPS 运行,或者,鉴于它们无法从外部访问,它们是否可以安全地通过 HTTP 运行?
我认为这将是一个常见问题,但我找不到答案。谢谢。如果这是一个骗局,请指出我正确的答案。
Tim*_*ham 50
这是一个见仁见智的问题,也与监管问题有关(如果您面临任何问题)。
即使目前没有必要,我也大力提倡在任何应用程序级防火墙/负载平衡器/前端服务器和后端服务器之间启用 HTTPS。攻击面少了一个。随着更敏感的信息开始传递,我与需要转换的地方签订了合同 - 最好从那里开始。
我通常会建议使用内部 CA(如果可用)或自签名(如果没有内部 CA)后端服务器。我们会将到期日期设置得很好,并且可以设置得很远,以避免不必要的更改。
Tom*_*Tom 19
TL;DR你应该加密流量,除非它在同一台主机上。
你不能相信你的网络。您自己网络中的恶意软件可以拦截/修改 http 请求。
这不是理论上的攻击,而是现实生活中的例子:
一些注入广告的网站网络内的路由器(可能被黑):https : //www.blackhat.com/docs/us-16/materials/us-16-Nakably-TCP-Injection-Attacks-in-the-Wild- A-Large-Scale-Study-wp.pdf
cloudfare 和后端之间的印度网络嗅探:https ://medium.com/@karthikb351/airtel-is-sniffing-and-censoring-cloudflares-traffic-in-india-and-they-don-t-even-know -it-90935f7f6d98#.hymc3785e
use*_*571 16
“许多其他服务器”是否需要通过 HTTPS 运行,或者鉴于它们无法从外部访问,它们是否可以安全地通过 HTTP 运行?
这实际上取决于您要实现的目标。了解使用 HTTPS 的目的是保护两点之间传输的数据。如果您担心网络内部的数据被嗅探,那么也许应该首先解决这个问题。如果您需要保护网络内部传输中的数据,您的意思是您要么担心在网络内部传输系统的数据的安全性,要么出于某种与合规性相关的原因对传输中的数据进行加密。
这实际上更像是一个意见问题,但答案是视情况而定。你想做什么?你要加密什么样的数据?您试图防御哪些威胁?您是否有法律要求(例如 PCI-DSS、HIPAA 等)要求对传输中的数据进行加密?如果数据是敏感的,并且您担心它在您的网络内传输时可能会被滥用,那么我建议与管理层一起解决问题。所以最后,你想保护什么,为什么要保护它?
Kat*_*ard 13
过去,人们认为内部网络就像房子一样安全。我曾经与一位主管发生争执,他对我面向内部的服务器运行其内置防火墙感到震惊。“如果你不能信任你的内部网络,你还能信任谁?” 我指出我们的内部网络上有学生笔记本电脑,学生笔记本电脑和我的服务器之间没有防火墙。刚接触学术界的他,似乎对这些信息感到自己的宇宙已经破败不堪。
即使您的网络上没有学生笔记本电脑,内部网络也不再那么安全。有关一些示例,请参阅 Tom 的回答。
也就是说,是的,这取决于传输的信息、任何法律合规性问题等。您可能会决定不关心是否有人嗅探,例如天气数据。这就是说,它是可能的,即使发送的数据不敏感,现在,有人可能会决定以后的功能添加到您的应用程序,它是敏感的,所以我会建议更多的偏执狂(包括HTTPS)。
小智 8
今天,有了专门的 CPU 指令来加速加密,以及新的传输协议在未加密的链接(HTTP/2、gRPC 等)上根本无法运行或性能下降,也许更好的问题是:是否有任何为什么需要将网络链接降级为 HTTP?如果没有具体原因,那么答案是使用 HTTPS。
我能想到的禁用加密的唯一原因是性能。但是,在您的情况下,内部服务器是通过 HTTP 连接的,这意味着它们已经承担了运行 Web 服务器、支持 HTTP 协议和以 HTTP/JSON 格式编码数据的性能成本。禁用加密可能会释放 100KB 的 RAM,并且每 KB 传输的数据为您赚取几微秒,这对整体性能没有明显影响。另一方面,由于您现在在 Intranet 中运行 HTTP,因此您必须更加注意安全性。事实上,更严格的防火墙配置可能会减慢速度,而不是禁用加密会加快速度,从而导致最终用户感知到的性能更差。
这就像在拖拉机上安装扰流板一样:理论上你几乎一无所获,但实际上却带来了很多不便。