SSL和TLS注意事项《漏洞防护》
SSL全称为安全套接字层,TLS全称为传输层安全性,这两个概念通常情况下可以互换使用,实际上SSL相当于TLS,现在web浏览器和大多数的web框架都支持不同版本的SSL和TLS,使用的基本要求是能够访问公钥基础设施以获取证书。能够保安在现证书协议状态。一检查证书的吊销状态,协议版本支持的最低配置以及每个版本的协议选择。
传输层安全的主要好处是能够保护数据在客户端,如浏览器。和Web服务器之间传输时不被泄露或更改。SSL/TLS的服务器验证组件向客户端提供服务器的身份验证。如果配置了客户端证书那么在客户端也能够起到相同的作用,但是在实践中后端证书不会替代基于用户名和密码的后端身份验证模型。Hai提供了两个常被忽略的额外好处,完整性保护和重放防护。TLS通讯数据流中包含内置空间,用来防止对加密数据进行分改,此外内置组件还能够防止不对捕获的数据流进行重放攻击,需要指出的是在传输过程中,为了数据提供上述防护,但不会为客户端和服务器内的数据提供任何安全防护处。SSL虽然有很多好处,如果使用不当可能出现严重的漏洞。
一、尽量在任何地方使用SSL进行安全传输。
无论内网还是外网都应该使用SSL/TLS等有效的传输层安全进制。大量的数据露露表明攻击者能够进入内部网络,并使用修改器来获取内部网络上的传输未加密的数据。比如登录页面及后续的认证界面如果使用非SSL攻击者能够修改初始登录页面的登录表单,导致用户登录凭证被发送到任意位置,攻击者还可以查看已验证的页面中未加密会话ID,从而危害已验证的用户会话。
二、不要为HTTPS页面提供HTTP访问。
所有提供安全页面,不要提供非安全协议的访问方式,如果用户无意将验证的页面改成非认证页面并提交,那么响应以及其中敏感数据将通过明文为方式返回给用户。
三、不要混合SSL内容与非SSL内容。
通过SSL传输的页面不得包含非SSL传输的任何内容。额,攻击者可以拦截未加密传输的数据,并将恶意内容注入用户页面。此外,如果cookie未设置secure属性。就可以通过未加密数据窃取用户cookie。
四、Cookie使用Secure属性。
必须所有用户Cookie设置Secure属性。以保证cookie只能通过HTTPS的方式进行传输。如果未设置该属性,攻击者可以欺骗用户的浏览器。向网站上的未加密页面提交请求已获取用户cookie。服务器未配置HTTP的访问方式。这种攻击行为也是可行的,因为攻击者监视的是请求消息而不关心服务器的响应内容。
五、不要将敏感数据放在URL中。
应该数据不得通过URL参数传输,因为即使在传输过程中使用了安全协议,对于参数和值进行了加密,但是仍可以通过下面两种方式获取。1、在浏览器的浏览记录中。2、通过Referer头将敏感信息暴露给第三方网站。
六、防止敏感数据缓存。
尽管安全协议对传输中的数据提供了加密,但不能解决客户端或代理服务器上潜在的数据泄露问题。不应该让这些节点缓存或保留敏感数据。
七、使用HSTS
HSTS这个性的安全增强功能,一旦支持该规格的浏览器收到响应头。浏览器会阻止指定域下的任何HTTP通信。而使用HTTPS进行通信。
八、使用HPKP
HPKP一种安全机制,用于HTTPS网站抵御攻击者使用错误的或者欺诈性的证书冒充合法证书。