【问题标题】:SSL - How and when to use itSSL - 如何以及何时使用它
【发布时间】:2010-01-08 02:09:20
【问题描述】:

我的客户需要 SSL 来保护在线捐赠,但我对如何/何时使用 SSL 的经验有限。

我了解,在购买证书时,我将该证书分配给整个域(实际上是 IP 地址)。有没有办法将加密隔离到网站的单个页面,或者我应该继续保护整个网站,即使只有一个页面需要它?

不确定此处的最佳做法。请指教。

【问题讨论】:

  • 如果你不知道如何使用 SSL 并且你正在保护金钱,看在上帝的份上,找一个知道如何使用它的人!
  • 您不能使用证书来保护 IP 地址。证书仅与域相关
  • (!) 请注意,您无需支付数千美元即可获得签名 SSL 证书。 letsencrypt.org/ 创建所有大型浏览器都信任的免费 SSL 证书。 (我在这里写这个是因为这个问题在搜索引擎中排名很高,但仍然过时)

标签: ssl


【解决方案1】:

SSL 会产生相当多的额外处理时间。对于低带宽站点,SSL 所需的额外处理并不明显。但对于 Facebook、Twitter 和 Flickr 等流量大的网站,SSL 造成的负载非常重,以至于他们不得不使用专用的 SSL 编码/解码硬件。

所以基本上是的,尽量减少使用 SSL 的页面数量是有意义的。这就是为什么您经常看到银行网站仅通过 https 保护实际帐户页面的原因。主页/登陆页面通常是普通的旧 http。

另一方面,除非您真的是 Twitter、Facebook 或 Gmail 之类的网站,否则担心这种优化有点过早。如果可以的话,先做简单的。当您的网站最终获得大量流量时,请注意此问题并注意升级策略。

我的老板有一句话:

这是一个高兴的问题。先解决sad的问题 如果没有足够的用户,那么您很高兴遇到问题 要求您重构架构。

【讨论】:

  • 我觉得这个答案不再符合当前的最佳实践。 SSL 的加密开销非常小,今天的最佳实践是“尽可能多地加密,包括所有第三方内容”。 HTTP-web(没有“S”)正在消亡,这是一件好事。例如,谷歌搜索开始对不提供适当加密的网页进行排名 (google webmaster blog)
【解决方案2】:

您不会使用 SSL 加密网站。你加密连接。因此,如果您为网络服务器启用了 SSL,只需将 https:// 添加到 url 将加密连接,并且 url 指向的任何页面都将在 传输中时被加密。

所以 https://www.website.com/index.html 已加密,http://www.website.com/index.html 未加密

我希望这种情况永远不会发生,所以我总是将我的加密页面放在一个子域中,例如。 https://secure.website.com/index.html

SSL 带有几个陷阱

1/ 基本 SSL 证书仅对特定域名有效,因此如果证书是 www.website.com 并且有人点击 website.com 的链接,则会显示警告。 (见下文注释)

2/ SSL 需要一个专用 IP(您似乎拥有)。这意味着如果您在共享平台上,您可能会遇到问题。这是因为在 HTTP 中,主机名或域名是标头的一部分,但标头已加密,因此服务器无法知道将请求路由到何处。 (见下文注释)

听起来您确实需要聘请熟悉电子商务和 SSL 的人来帮助您。以有限的知识和论坛回应在雷区航行并不是最安全的做法。尤其是在进行金融交易时,因为必须考虑其他要求,例如存储和使用信用卡号等金融信息的法律要求。

直流

附录:

对于捐款,请考虑使用 Paypal。他们有一个完整的捐赠解决方案,比起自己推出的解决方案,更多的人会信任它。

2016 年编辑: 世界在继续发展,上面的一些建议并不像最初回答时那样真实。

SSL 不再需要专用 IP 地址。 SNI(服务器名称指示)解决了这个问题,现在几乎是通用的(winXP 上的 IE8 不支持它和一些手机)。

您会发现大多数证书供应商现在都将主域名作为 SAN(主题备用名称)包含在证书中。也就是说,如果您获得 www.website.moc 的证书,他们将为 www.website.moc 和 website.moc 提供证书。不要假设这一点,请确保您的证书颁发机构指定它。

【讨论】:

【解决方案3】:

另外,您提到 SSL 证书可以保护 IP 地址。这是不正确的。 SSL 证书对应一个域。存在许多方案,其中几个域共享一个 IP 地址。如果其中一个共享域具有 SSL 证书,则该证书仅适用于该域,而不适用于其他域。

【讨论】:

    【解决方案4】:

    Cookie 安全性是我要针对您的方法指出的主要问题。

    在您的安全登录页面上登录的用户会为他们的会话获取一个 cookie,对吗?然后,该 cookie 会以纯文本形式传输,以供观看线路 (Firesheep) 的人拦截并窃取会话。

    在协商时间和来自 SSL 的 CPU 负载方面存在额外开销,但它相当小。如果您的网站上有任何敏感内容,请在任何地方使用 SSL。

    【讨论】:

      【解决方案5】:

      在这方面其他答案不准确:除非您购买通配符 SSL,否则 SSL 证书将绑定到分配给静态单个域名的专用 IP 地址。域名和IP都必须与证书匹配。

      【讨论】:

      • 客户端仅验证主机名是否与它请求的名称与为主机名颁发的 SSL 证书匹配(即,不包括主题 alt name IP 条目中的显式 IP 地址,这非常稀有的)。对 IP 地址的 DNS 解析与此无关。 (例如,如果您定期更改地址,这适用于动态 DNS。)相反的困难是:在同一个 IP 地址上使用多个证书:这可以通过 SNI 实现(但目前并不总是支持);您还可以将多个主机名与多个 SAN(或通配符证书)一起使用。
      猜你喜欢
      • 1970-01-01
      • 2015-05-28
      • 2018-10-27
      • 1970-01-01
      • 2011-10-27
      • 2016-11-21
      • 1970-01-01
      相关资源
      最近更新 更多