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