fbpx

用 sslscan 檢測你的 HTTPS 連線協定安全性

承認吧,你的 HTTPS 其實不太安全

網站並不是用了 HTTPS 就一定安全,隨著電腦運算速度與 Hack 技術的進步,很多早期的 SSL 加密模式已經開始浮現漏洞,讓 Hacker 可以在比較合理的時間解密 HTTPS 封包,像是 SSL v2/v3 等等比較老舊的加密模式,因此建議直接由 Web Server 關閉禁止使用這些脆弱的加密方式。至少要使用 TLS 1.0 以上的加密協定,TLS 1.2 更好但是會犧牲 IE 6 這個老舊瀏覽器的支援性。

透過 sslscan 掃描 SSL 加密方式

想要測試某個網站啟用哪些 SSL 協定,可以透過 sslscan 這個工具 (GitHub) 達成,編譯與操作如下:

先安裝編譯環境需要的套件

sudo apt-get install build-essential git zlib1g-dev

sudo apt-get build-dep openssl

從 GitHub 下載 Source Cose 編譯安裝

git clone https://github.com/rbsec/sslscan

cd sslscan

make static

執行 sslscan 測試網站

./sslscan blog.toright.com:443

執行後會回應以下報告,可以看出這個網站的 HTTPS 提供了哪些加密協定?

sslscan

網路上還有一個線上檢測的服務 Qualys SSL Labs 可以直接告訴你哪些協定是不安全的,而且更新速度很快,有興趣的可以連進去線上測試看看,能拿到 Grade A 算是當下很安全了。

筆記:HAProxy SSL 安全協定建議設定 (2020/04/15 Qualys SSL Labs Grade A?)

global

    tune.ssl.default-dh-param  2048
    ssl-default-bind-options no-tlsv11 no-tlsv10 no-sslv3 no-tls-tickets
    ssl-default-bind-ciphers ECDHE+aRSA+AES256+GCM+SHA384:ECDHE+aRSA+AES128+GCM+SHA256:ECDHE+aRSA+AES256+SHA384:ECDHE+aRSA+AES128+SHA256:AES256+GCM+SHA384:AES128+GCM+SHA256:AES128+SHA256:AES256+SHA256:HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS

HAProxy 設定方法如上,需要的人可以參考看看,可以拿到 Grade A。

2020/04/15 Update: 移除 TLS v1/v1.1, SHA

筆記:Apache SSL 安全協定建議設定 (2017/07/26 Qualys SSL Labs Grade A)

# SSL Options
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite EECDH+AES:AES256-SHA:AES128-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH:!EXP:!SRP:!DSS:!LOW;
SSLVerifyClient none
SSLVerifyDepth 1
SSLOptions +StrictRequire

# Guarantee HTTPS for 180 days including sub domains 
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"

被電爆後補上這個 Blog 的 Apache SSL 設定,Qualys SSL Labs 拿到 Grade A,最高只能 87 分不能再高了.......