- 全站HTTPS已成為潮流趨勢
- HTTPS的作用
- C I A(機密性、完整性、可用性)
- 解決的是信息傳輸過程中數據被篡改、竊取
- 加密:對稱、非對稱、單向
- HTTPS攻擊方法
- 降級攻擊
- 解密攻擊(明文、證書偽造)
- 協議漏洞、實現方法的漏洞、配置不嚴格
Secure socket layer
- 保證網絡通信安全的加密協議
- 1994年?.NETscape開發成為統一標準
- 1999年TLS(transport layer security)取代SSL v3
- 近年來發現的SSL協議漏洞使業界認為其漏洞已不可軟件修復
-
- Heartbleed
- POODLE
- BEAST
- 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)
對稱加密算法
- 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的弱點
- 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安全檢查)