所有服务器都需要使用HTTPS协议还是仅使用面向公众的服务器?


38

我有一个通过HTTPS运行的前端Web服务器-这是面向公众的-即端口是开放的。

我还有一个后端API服务器,我的网络服务器向该API服务器发出API请求-这是面向公众的,需要身份验证-端口是开放的。

这两个服务器通过HTTPS运行。

在API服务器后面,还有许多其他服务器。API服务器将这些服务器反向代理。这些其他服务器的端口不对传入流量开放。只能通过API服务器与他们进行对话。

我的问题...“其他许多服务器”是否需要通过HTTPS运行,或者,由于无法从外部访问它们,它们可以安全地通过HTTP运行吗?

我以为这是一个常见问题,但我找不到答案。谢谢。如果这是一个骗子,请给我指出正确的答案。


35
考虑到NSA如何利用Google和Yahoo用来在未加密的数据中心之间进行通信的海外链接,我建议您始终假定连接是可疑的。您永远都不知道有人会在哪里收听,因此保持安全总比后悔好。我唯一会考虑单独使用HTTP的情况是,在使用HTTP的同一台计算机上运行的服务仅对本地连接开放。
childofsoong,2016年

7
如果要进行进一步研究,这称为ssl卸载和ssl终止。
Esben Skov Pedersen

31
就像在问“所有的门都需要锁,还是只朝外的门”?考虑网络内部和外部的威胁时,只有您可以回答此问题。
瑞安·格里格斯

5
正如Security.SE常见问题所述:“安全性是一个非常相关的主题:在您的环境中被认为重要的威胁在其他人中可能是无关紧要的,反之亦然。您是否要保护具有全球价值的产品免受高级持续威胁的影响?或者您是否正在为低调的小型企业寻找具有成本效益的方法?要获得最有用的答案,您应该告诉我们:您要保护哪些资产;谁在使用您要保护的资产?认为可能想滥用它(以及原因); ...
DW

2
您已经采取了哪些步骤来保护该资产;–这种情况是必不可少的。我建议您编辑问题以包含此信息
DW

Answers:


50

这只是一个见解,也与监管问题有关(如果有的话)。

即使当前没有必要,我还是大力提倡在任何应用程序级别的防火墙/负载平衡器/前端服务器和后端服务器之间保持HTTPS启用。减少了攻击面。随着更多敏感信息的开始传递,我与需要转换的地方签了合同-最好从那里开始。

我通常建议使用后端服务器的内部CA(如果有)或自签名(如果没有内部CA)。我们将到期日期设置为不错的将来,以避免不必要的更改。


1
最好从那里开始-那些给了你观点的词:)
danday74 '16

12
这是一个好主意。您不希望NSA 绘制您的网络拓扑图
凯文

3
对所有通信进行加密还可以防止内部窃听-采取的形式是实习者的计算机在浏览猫图片时拾起了特洛伊木马,或者是将小的嗅探器插入未使用的桌子后面的网络端口,还是共享了wifi密码有点太松散了。
Doktor J

8
We'd set the expiration date nice and far into the future to avoid unnecessary changes.”,然后向您首选的监视套件中添加一条规则,以在即将到期时向您发出警告。请!
GnP '16

2
@GnP我也这样做-如果它是具有10年期限的证书,则我们的政策始终要求在该期限内更换后端服务器。
蒂姆·百翰

19

TL; DR 除非流量位于同一主机上,否则应加密流量

您不能信任您的网络。您自己网络中的恶意软件可以拦截/修改http请求。

这不是理论上的攻击,而是现实生活中的例子:


16

“其他许多服务器”是否需要通过HTTPS运行,或者,由于无法从外部访问它们,它们可以安全地通过HTTP运行吗?

这确实取决于您要完成的工作。了解使用HTTPS的目的是保护两点之间传输的数据。如果您担心数据在网络内部被窃听,那么也许应该首先注意这一点。如果您需要保护网络内部传输中的数据,您的意思是您担心网络内部系统中传输数据的安全性,或者出于某种合规性原因需要对传输中的数据进行加密。

这实际上更多是一个意见问题,但答案取决于它。你想做什么?您要加密哪种数据?您想防御什么威胁?您是否有法律要求(例如PCI-DSS,HIPAA等)要求对传输中的数据进行加密?如果数据很敏感,并且您担心在网络内部传输数据时可能会滥用该数据,那么我建议与管理层一起解决该问题。那么最后,您想保护什么,为什么要保护它呢?


13

过去,人们认为内部网络就像房屋一样安全。我曾经与一位主管发生争执,这位主管震惊于我的面向内部的服务器正在运行其内置防火墙。“如果您不信任内部网络,那么可以信任谁?” 我指出,我们的内部网络中有学生笔记本电脑,并且学生笔记本电脑和我的服务器之间没有防火墙。他是学术界的新手,似乎在此消息中扰乱了他的宇宙。

内部网络不再被认为是安全的,即使您的网络上没有学生笔记本电脑也是如此。有关某些示例,请参见汤姆的答案。

就是说,是的,这取决于所传输的信息,任何法律合规性问题等。您可能会决定不关心是否有人嗅探(例如)气象数据。就是说,即使现在发送的数据现在不敏感,也有可能有人会稍后决定敏感的功能添加到您的应用程序,因此我建议更大的偏执(包括HTTPS)。


Wheather数据可能足够敏感:有人可能基于篡改的Wheather数据做出错误的决定。
哈根·冯·埃森

1
公平地说,这确实取决于您使用的天气数据。我试图提出一些无害的东西。:)
凯瑟琳·维尔德

1
@HagenvonEitzen或攻击者将在其中注入恶意软件/广告,因此奶奶在使用Windows XP计算机检查天气时会被伪装。
安德烈·伯瑞(AndréBorie)2016年

8

如今,借助专门的CPU指令来加快加密速度,并且新的传输协议根本无法在未加密的链接(HTTP / 2,gRPC等)上运行或性能下降,也许更好的问题是:是否存在为什么需要将网络链接降级为HTTP?如果没有特定原因,那么答案就是使用HTTPS。


好的思考过程
danday74 '16

5

我能想到的禁用加密的唯一原因是性能。但是,在您的情况下,内部服务器是通过HTTP连接的,这意味着它们已经承担了运行Web服务器,支持HTTP协议并以HTTP / JSON /任何形式编码数据的性能损失。禁用加密将释放大约100KB的RAM,并为每KB传输数据赚取几微秒的时间,这不会对整体性能产生明显影响。另一方面,由于现在要在Intranet中运行HTTP,因此必须更加注意安全性。实际上,更严格的防火墙配置可能会使速度降低,而禁用加密则会加快速度,从而导致最终用户感觉更差的性能。

就像将扰流器安装在拖拉机上一样:理论上您几乎收获不到,实际上给您带来了很多不便。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.