题
我最后的几个项目具有参与网站销售产品/服务,并需要一个"结帐"程中,用户把他们的信用卡信息等。很显然,我们得到了SSL证书的安全性,它加给安心给客户。然而,我一个小小的毫无章法的微妙之处,以及最重要的是为向其部件的网站应该"使用"的证书。
例如,我已经站在那里的时候,你打的主页你放在https-主要是银行网站-然后有网站在那里你是只放在https当你是最后检查。它是矫枉过正,以使整个网站运行通过https如果它不处理什么东西在水平的银行业?我应该只做的结帐页https?什么是能打去都出来了?
解决方案
我个人选择“从祸患中获取SSL”。
如果您的用户从未输入信用卡号,请确保没有SSL。
但是,cookie重播存在固有的安全漏洞。
- 用户访问网站并获得分配Cookie。
- 用户浏览网站并将数据添加到购物车(使用Cookie)
- 用户使用Cookie进入付款页面。 醇>
就在这里有一个问题,特别是如果你必须自己处理付款谈判。
您必须将信息从非安全域传输到安全域,然后再传回,而不保证保护。
如果你做一些愚蠢的事情就像你使用安全一样用不安全的方式共享同一个cookie,你可能会发现一些浏览器(正确)只是完全删除 cookie(Safari)以保证安全,因为如果有人在公开场合嗅探那个cookie,他们可以伪造它并在安全模式下使用它,将你精彩的SSL安全性降低到0,如果卡片细节甚至暂时存储在会话中,你就会有危险泄密等待发生。
如果你不能确定你的软件不容易出现这些弱点,我会从一开始就建议使用SSL,因此他们的初始cookie是在安全的情况下传输的。
其他提示
如果该网站供公众使用,您应该将公共部分放在HTTP上。这使蜘蛛和临时用户的工作更轻松,更高效。启动HTTP请求要比HTTPS快得多,这在非常明显的特别是在有大量图像的网站上。
浏览器有时也会为HTTPS提供与HTTP不同的缓存策略。
但是,只要他们登录,或者就在之前,就可以将它们置于HTTPS中。在网站变得个性化且非匿名的时候,可以从那里开始使用HTTPS。
使用HTTPS作为登录页面本身以及任何其他表单更好一点,因为它在输入信息之前使用了挂锁,这使他们感觉更好。
我一直都是在整个网站上完成的。
我也会一直使用HTTPS。这不会对性能产生很大影响(因为浏览器在第一次连接后缓存了相关的对称密钥)并防止了嗅探。
由于完全交换有线网络,嗅探曾经一度被淘汰,你需要额外努力去捕获其他人的流量(而不是使用集线器的网络),但由于无线网络,它正在回来的路上,除非流量被加密,否则会再次创建广播媒体,使会话劫持变得容易。
我认为一个好的经验法则是在任何可能传输敏感信息的地方强制使用SSL。例如:我是Wescom Credit Union的成员。首页上有一个部分允许我登录我的在线银行帐户。因此,根页强制使用SSL。
以这种方式思考:敏感的私人信息会被传输吗?如果是,请启用SSL。否则你应该没事。
在我们组织我们有三个分类的应用程序
- 低业务的影响-没有个人身份信息,明文储存、明确的文本的传输,没有访问的限制。
- 企业业务的影响非事务的个人身份信息,例如电子邮件地址。明文储存、SSL从数据中心的客户,明文数据中心的、有限的储存访问。
- 高业务影响的事务的数据,例如社会安全号码、信用卡等。SSL内部和外部的数据中心。加密和经审计的储存。审计应用程序。
我们使用这些标准来确定划分的数据,这方面的网站需要SSL。计算SSL是做服务器上或通过的促进剂,如用户.作为级别的个人信息的增加如此复杂的审计和威胁建模。
你可以想象我们喜欢做劳的应用。
肯特钉了它。我只是想做一个快速评论 - 亚马逊做得很好我想。大多数网站的http,但是当需要结账时,你必须再次登录(oneclick有点不同),那时可能还有一个不同的cookie。我认为其他评论也是这样说的,但我只是想举一个具体的例子。
通常,只要您传输敏感或个人数据,就应该使用SSL - 例如将项目添加到购物篮可能不需要SSL,使用您的用户名/密码登录,或输入您的CC详细信息应加密。
完整的 https
网站有一个主要的缺点,它不是速度(没关系)。
在没有不安全警告的情况下运行Youtube,“赞”框等非常困难。
我们正在运行一个完整的部队安全网站,现在购物两年,这是最大的缺点。我们设法让Youtube立即工作,但是“添加这个”仍然是一个很大的挑战。如果他们改变协议的任何内容,那么我们所有的Youtube电影都可能是空白的......
当我需要用户输入敏感信息时,我才会将我的网站重定向到SSL。购物车一旦填写了包含个人信息或信用卡详细信息的页面,我就会将其重定向到SSL页面。 对于网站的其余部分,可能不需要 - 如果他们只是在您的商业网站上查看信息/产品。
SSL计算量很大,如果可能,不应该用于传输大量数据。因此,最好在用户传输敏感信息的结账阶段启用它。