【发布时间】:2015-10-07 21:55:06
【问题描述】:
我正在一个 EC2 实例上运行一个小型 Web 应用程序,我希望一些朋友能够使用它。我还想让它使用 HTTPS,只是为了基本的安全目的(尽可能防止数据包窥探)。当然我使用的是自签名证书,因为我对这个项目的预算是 0 美元。但是 Chrome 在尝试访问它时会弹出一个警告页面:
您的连接不是私密的
攻击者可能试图从 [...] 窃取您的信息 (例如,密码、消息或信用卡)。 NET::ERR_CERT_AUTHORITY_INVALID
此服务器无法证明它是 [...];您的计算机操作系统不信任其安全证书。这可能是由于配置错误或攻击者拦截了您的连接造成的。
“任何加密都比没有加密好”是不是真的?在未加密的 HTTP 上,我也可能试图窃取信息,并且不必证明任何关于我的服务器身份的信息,并且我的通信可以通过数据包嗅探以纯文本形式读取,但 Chrome 不会在那里抛出任何警告标志...
什么给了?为什么 Chrome 如此讨厌自签名证书?为什么它不在挂锁图标上放一个小红框,而不是给我一个双击警告页面?
2021 年 9 月编辑(自 2016 年起适用):只需接受它并使用免费的密钥发行者之一。 Let's Encrypt 和 AWS ACM 将免费提供。
【问题讨论】:
-
为什么不在你和你朋友的机器上安装证书?
-
他无法验证您自行生成的证书是否有效。为了能够验证这一点,您的证书应该位于浏览器信任的信任库中。在其他方面,您的“加密”没有任何成本,因为浏览器无法检查此证书是否为原始证书,而不是被攻击者替换)。尝试阅读有关 MITM 攻击和谷歌的“为什么自签名证书是邪恶的”,以及 https 是如何工作的
-
@Reishin 未加密的 HTTP 连接是否也不容易受到 MITM 攻击...?我的问题不是关于自签名证书是否可以用于验证身份(显然,它们不能),而是它是否应该被认为在任何意义上都比未加密的 HTTP“更安全”。
-
@Justaskin_ 是的,就像带有自签名证书的 HTTPS。你完全不想听……我会告诉你更多,使用有效 SSL 证书配置不当的 Web 服务器将容易受到攻击,甚至比简单的 HTTP 更糟糕。
标签: amazon-web-services google-chrome security ssl https