SSL 对网站所有者的(安全)好处

信息安全 tls
2021-08-15 13:43:59

我知道 SSL 对网站用户的诸多好处。它创建了一个合同,用户可以确定他们正在与之交易的实体是它声称的实体,并且传递的信息是加密的。我对其他好处也有一些想法(例如 HTTP/2 带来的速度好处)。

但我最近想知道的是,该网站是否会以类似的方式从这笔交易中受益。也就是说,如果我启用 SSL,我的网站是否会更安全地免受攻击?我想是因为我还知道我正在与之交易的客户是经过认证的,并且我发送给他们的信息是加密的。但是,任何客户都不能不道德地行事并使用自签名证书等访问我的网站,自称是他们喜欢的任何人吗?

顺便说一句,我已经以自我导向的方式了解了我所拥有的知识,所以如果这是一个基本问题或XY 问题,请不要犹豫,向我指出基本资源或让我直截了当。

编辑:对于继续回答或评论使用 SSL 的一般原因的每个人:这些都是值得赞赏的,并且毫无疑问对新用户有用。也就是说,我确实将它作为我建立的每个网站的一部分,并且特别对安全优势感到好奇。在 SE 传统中,我只是想提醒人们尽可能坚持这个问题。(对不起,最初缺少关键限定符的标题!)

4个回答

它可以防止 ISP注入他们自己的广告来代替您自己的广告。如果您依靠广告获得收入,https 有助于保护您的收入流。

你有一些很好的问题,也有一些误解。让我们试着解开它们。


我对其他好处也有一些想法(例如 HTTP/2 带来的速度好处)。

另一个重要的问题:搜索引擎优化,因为您通过 TLS 获得 GooglePoints。(这有点符合您的观点,即网站管理员需要外部激励......)


我想是因为我还知道我正在与之交易的客户是经过认证的,并且我发送给他们的信息是加密的。...但是任何客户 [原文如此] 都不能使用自签名证书访问我的网站吗?

是的,不是的,是的,……不是的。让我们解开这个问题。

TLS 客户端身份验证(要求客户端提供证书)是您通常在 VPN 服务器、企业 WPA2 WiFi 接入点和企业 Intranet 上看到的内容。这些都是封闭系统,系统管理员可以完全控制向用户颁发证书,并使用它来控制哪些用户可以访问哪些资源。这在公共网站设置中毫无意义,并且绝对是 HTTPS 网络服务器的非标准配置。

也就是说,你得到的是:

Encrypted TLS session
| Client loads login page
| Client sends username / password
| Client does "logged in things"

因此,您确实获得了额外的信心,即用户就是他们所说的那个人,因为用户名/密码不再以明文形式发送,因此中间人不再可能拦截/修改/窃取。

之后,客户端发送到服务器或从服务器获取的任何数据都被端到端加密到客户端。一般来说,你是对的:这比服务器更能保护客户端,但它确实阻止了中间人将恶意内容注入用户上传的文件,注入恶意命令以执行,就好像它们来自该用户一样.


但是,任何客户都不能不道德地行事并使用自签名证书等访问我的网站,自称是他们喜欢的任何人吗?

有点,是的。对于公共网站,任何人都可以打开 TLS 连接。如果您希望用户进行身份验证,则需要在顶部有一个登录机制,TLS 通常不会为您提供此功能(除非您使用的是上述客户端证书机制)。


但我最近想知道的是,该网站是否会以类似的方式从这笔交易中受益。

基本上,对服务器的好处是发送给用户的任何数据都只会被目标用户查看。例如,如果您向他们发送财务报表的副本,那么您的律师会很高兴听到这个消息。这也意味着从用户那里收到的任何数据实际上都来自该用户,而不是来自伪装成他们的攻击者。

如果您的合法用户有恶意行为,那么这是一个不同的问题,毕竟,您选择让他们访问系统。TLS(+您自己的登录框架)所做的是确保只有合法用户才能访问。他们对该访问所做的事情不是 TLS 的问题。

网站运营商最大的好处之一是增加了用户的信任度例如,我们经常希望他们在将信用卡详细信息输入电子商务网站之前检查 HTTPS 的存在,并且 EV 证书的“绿色锁”提供了一些额外的验证,即该网站是由他们声称的实体运营的.

影响有多大,我不知道。Stanford Web Credibility 项目有一系列关于使网站看起来可信的建议,而 HTTPS 并未出现在列表中。然而,此时引用的论文都是 15-20 岁。那时技术发生了很大变化,但真正的问题是人们发生了多大的变化。

HTTPS仅保护传输免受嗅探或修改,即防止客户端和服务器之间的攻击者,但不防止服务器或客户端本身的攻击者。它既不会神奇地使服务器本身更安全,也不会使客户端更受服务器信任。这意味着受 HTTPS 保护的服务器可以提供恶意软件,而使用 HTTPS 连接的客户端仍然可以利用服务器端的安全问题,例如 SQL 注入或类似问题。