- 全站HTTPS已成为潮流趋势
- HTTPS的作用
- C I A(机密性、完整性、可用性)
- 解决的是信息传输过程中数据被篡改、窃取
- 加密:对称、非对称、单向
- HTTPS攻击方法
- 降级攻击
- 解密攻击(明文、证书伪造)
- 协议漏洞、实现方法的漏洞、配置不严格
Secure socket layer
- 保证网络通信安全的加密协议
- 1994年.NETscape开发成为统一标准
- 1999年TLS(transport layer security)取代SSL v3
- 近年来发现的SSL协议漏洞使业界认为其漏洞已不可软件修复
- TLS当前最新版本1.2
- TLS/SSL、HTTPS、HTTP over SSL通俗上表示同一含义
SSL/TLS也被用于其他场景的传输通道加密
- 邮件传输(服务区间、客户端与服务器间)
- 数据库服务器间
- LDAP身份认证服务器间
- SSL VPN
- 远程桌面RDP通信过程中的加密和身份认证
WEB通信中的SSL加密
- 公钥证书(受信任的第三方证书办法机构签名颁发)
- VeriSign
- Thawte
- GlobalSign
- Symantec
- 加密过程
-
- 握手、协商加密算法、获取公钥证书、验证公钥证书、交换会话密钥、加密信息传输
非对称加密算法
- Diffie-Hellman key exchange
- Rivest Shamir Adleman(RSA)
- ELLiptic Curve Cryptography(ECC)
对称加密算法
-
- WEP、TLS/SSL、RDP、Secure shell
单向加密算法
- MD5
- SHA-1
- SHA-2
- SHA-3已经设计完成,但尚未广泛使用
- SHA-2是TLS 1.2唯一支持的单向加密算法
- 碰撞攻击针对单向加密算法
SSL的弱点
- SSL是不同的对称、非对称、单向加密算法的组合加密实现(cipher suite)
- 服务器端为提供更好的兼容性,选择支持大量过时cipher suite
- 协商过程中强迫降级加密强度
- 现代处理器计算能力可以在可接收的时间内破解过时加密算法
- 购买云计算资源破解
Openssl
- 直接调用openssl库识别目标服务器支持的SSL/TLS cipher suite
openssl s_client -connect www.czfq99.cn:443
可以查询到证书颁发机构:
也可以查询到加密算法和加密协议等等
openssl s_client -tls1_2 -cipher 'ECDH-RSA-RC4-SHA' -connect www.czfq99.cn:443
#指定协议和不安全的算法去测试网站
openssl s_client -tls1_2 -cipher "NULL,EXPORT,LOW,DES" -connect www.czfq99.cn:443
#测试网站是否支持不安全的密码套件
openssl ciphers -v "NULL,EXPORT,LOW,DES"
#查看所有的不安全的密码套件
- openssl 需要大量密码学相关知识,命令复杂,结果可读性差
SSLScan
- 自动识别SSL配置错误、过期协议、过时cipher suite和hash算法
- 默认会检查CRIME、heartbleed漏洞
- 绿色表示安全,红色黄色需要引起注意
- TLS支持的cipher suite
sslscan --tlsall www.czfq99.cn:443
#可以检测有没有心脏出血漏洞
sslscan%20--show-certificate%20--no-ciphersuites%20%20www.czfq99.cn:443
%20%20#不查看密码套件,分析证书的详细数据
SSLyze
- Python/ target=_blank class=infotextkey>Python语言编写 检查SSL过时版本 检查存在弱点的cipher%20suite 扫描多站点时,支持来源文件 检查是否支持会话恢复
sslyze%20www.czfq99.cn:443
Nmap
nmap --script=ssl-enum-ciphers.nse www.czfq99.cn:443
https://www.ssllabs.com/ssltest/(在线SSL安全检查)