SSL对大多数网站真的重要吗?


11

对于正在为我正在建立的这个站点(我创建的第一个非平凡的站点)学习“正确地做安全性”,我一直很偏执,而且我注意到有些困扰我的事情:SSL。

在这里,StackOverflow以及其他地方,我已经读了很多安全线程,详细讨论了n次使用后重新生成会话ID的问题,以及如何对密码进行加盐处理,散列处理以及从不以纯文本形式存储密码。我已经阅读了很多有关如何通过跟踪IP地址,用户代理以及使用跟踪cookie来检测会话何时被劫持的信息。

我不明白,当网站通过普通的HTTP POST登录您并以纯文本形式通过网络发送密码时,这有什么重要意义?

我了解我需要使用列出的所有其他方法来降低整体风险,也许有些站点无论如何都不需要那么多的安全性,但是我想我要问的是:

  • 什么时候可以不用打扰SSL?

我可以看到Gmail,Gmail,LinkedIn,LinkedIn等网站都有使用SSL的理由,但是Facebook和reddit这样的网站不必理会(地狱,PlentyOfFish甚至将密码存储为纯文本,甚至通过电子邮件发送)提醒您!!!)?

我应该如何确保已设置SSL(特别是因为我要从共享主机启动,并且启动起来非常便宜),该如何处理?如果有帮助,我的网站将不会保存任何特别的个人信息。如果该站点成功,那么我会认真考虑支付额外的费用以增加安全性。

Answers:


7

它与您和您的用户认为重要一样重要。通过HTTP以纯文本形式发送密码确实会使它们容易受到数据包嗅探的攻击。现在是否有人真的要去嗅那些数据包又是另一回事了。如果要确保用户获得最安全的体验,请使用SSL进行登录提交。如果您认为您的用户会更快乐,并且更有可能以积极的方式与您的网站互动(例如,购买东西,做东西等),请使用SSL进行登录提交。如果您有任何值得窃取的内容(即用户信息),请使用SSL。

如果您没有值得窃取的东西,不要认为SSL会增强安全性或根本不增强安全性,或者您的用户不会将其视为有用的功能,那么您可能要考虑不使用SSL。

对于安装SSL证书的成本,除非您的预算有限,否则确保网站登录的安全从来不是一件坏事。而且,不要让其他站点的操作对您产生影响,因为许多大型站点都没有必要遵循最佳实践,这就是为什么似乎有源源不断的新闻报导以某种方式受到损害。


1
+1“许多较大的网站并不一定要遵循最佳做法”-我敢肯定,当尼日利亚人419'ers想出一种方法来利用被盗的约会网站个人资料获利时,头条新闻会很可笑:)
danlefree 2010年

“除非您的预算有限”-但我同意。我真的是这样,以至于我正在考虑在便宜的共享主机上使用M + M,而不是每月支付更少的费用来支付一年的预付款。这样,如果该网站没有开始相对较快地收回成本,我可以拔掉插头。我认为目前我倾向于no-ssl,因为仅获得所需的静态ip几乎会使我的每月成本增加一倍,更不用说证书本身的成本了。该站点几乎是一个论坛,大多数数据都是公共的,因此无需登录即可进行加密。
AgentConundrum

@danlefree,那很容易。使用约会网站上的个人详细信息来回答用户电子邮件和银行网站的密码恢复问题。或者只是捕获密码,因为人们重用了他们的密码。
Zoredache

@AgentConundrum Startssl免费提供SSL证书。如果预算紧张,但拥有静态IP,则可以这样做。
Rana Prathap 2014年

@AgentConundrum,只要您的主机支持SNI,您就不再需要SSL专用的IP(并且如果它们不支持,则因为他们不知道自己在做什么,所以找到一个新的主机)。您可以免费获得证书,因此也不收取额外费用……
Doktor J

3

采取与约翰回答相反的方法,我认为如果您处理任何个人可识别信息,则应认真考虑SSL- 包括:带有真实地址的名称,电子邮件地址,财务信息以及用户可以合理预期为私人的通信。

除非您的网站为用户提供了一种发布有关自己的信息的方法,否则您应将用户提供的任何可识别个人的信息视为由您所有,并且只有在严格保密的情况下,您才能拥有该信息,除非您的网站的隐私权政策另行通知您。

防止未经授权的第三方看到您的访问者信息,并使您的用户了解您如何使用他们的信息来维护访问者的信任。

据我所知,连Facebook都这样做。

<form method="POST" action="https://login.facebook.com/login.php?login_attempt=1" id="login_form" onsubmit=";var d=document.documentElement;if (d.onsubmit) { return d.onsubmit(event); }else { return Event.fire(d, &quot;submit&quot;, event); }">

(Facebook.com登录HTML源代码)


奇。我不知道我怎么没注意到Facebook。我从HTTPFox看它,以某种方式错过了初始请求中的“ s”。我将进行删除。事实仍然是,很多站点都在这样做(reddit,黑客新闻,TDWTF等),所以最糟糕的是我不会比他们更好。预算是我的头等大事,因此要为静态IP(在$ 8 / mo主机上)多花$ 5 / mo以及购买像样的证书。.我几乎会考虑不建造该死的现场。
AgentConundrum

@AgentConundrum-严格来说,如果密码是咸的,可以通过HTTP通过单向哈希算法传递密码是可以的,因此对于在未使用网站上实现MD5哈希实现的情况我不会感到惊讶SSL:pajhome.org.uk/crypt/md5
danlefree

以及在客户端构建哈希将对您有什么帮助?在这种情况下,基本上哈希是密码。我应该能够捕获哈希并重播它,就像捕获密码一样容易。
Zoredache

1
@Zoredache这就是为什么哈希必须加盐的原因。它是这样工作的:我向您发送登录页面,其中包含预先填充的令牌,其中包括microtime()来自服务器的呼叫。您传输的哈希值是密码+的组合microtime(),一旦我收到您的哈希值,我就会使microtime()+密码质询/响应对无效(无法再次使用)。
danlefree

3

截至2014年8月,Google已正式表示将使用HTTPS作为排名信号。

这意味着即使您的网站是一个完全静态的网站,如果您关心SEO,则至少应考虑设置SSL证书。

当然,HTTPS只是数百种排名信号之一,因此,对于SEO,您可能需要做更重要的事情。


Google还宣布,由于设置SSL证书会占用资源,因此仅在网站需要时才需要这样做。简而言之,他们提到您的排名不会因为您未在个人博客上设置SSL证书而受到影响。
Rana Prathap 2014年

1

您可能没有考虑以下角度:即使站点没有登录,不使用SSL / TLS也会使您的用户受到被动监视。

威胁者可能只是坐在您的用户和Internet的其余部分之间,观看用户请求的所有URL并构建用户正在查看的事物的模式。孤立的单个信息确实确实微不足道,但是将大量的少量信息组合在一起可以创建更大的画面。

因此,我在自己的站点上提供HTTPS,该站点仅提供静态内容。

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.