網站是否關閉 TLS 1.1/1.0 是近期資安稽查的重點項目。要知道網站的 TLS 開啟狀態,對外網站用 Qualys SSL Labs 的免費線上檢測跑一下立見分曉。

但如果是內部網站,沒對外公開 SSL Labs 網站摸不到無從檢查,怎麼辦?

爬文找到簡便方法 - 用 openssl。

openssl s_client -connect www.ey.gov.tw:443 -tls1
openssl s_client -connect www.ey.gov.tw:443 -tls1_1
openssl s_client -connect www.ey.gov.tw:443 -tls1_2

如下圖所示,若網站已關閉該協定,openssl 測試時應傳回 error: ssl_choose_client_version:unsupported 等訊息,可藉此檢測是否已符合規定。

openssl.exe 何處尋?

接下來的疑問通常是 - openssl.exe 是 Windows 內建程式嗎?要去哪裡抓?

裝一下 Git for Windows 就有了。(記得順便活用 Git,讓人生變彩色的)

Hints of how to check TLS supporting status of internal web server.


Comments

# by 大元

黑大在之前的文章有介紹過 NAMP, https://blog.darkthread.net/blog/rdp-ssl-cipher-vulnerability/ 這篇沒有特別提及而是介紹 openssl,想必是因為簡單使用,需求明確的使用情境吧! 不知道是否可以這樣歸結各種工具的使用時機: 如果可以登入 Server,使用 RegEdit 或 IISCrypto 可以用來確認與調整 TLS Client / Server 支援的 TLS 版本以及調整支援的 Cipher Suite; 如果只是要確認 Server 是否啟用特定的 TLS 版本,則使用 openssl,如同本文的情境; 如果是要從 Client 端測試 Server 端支援的 TLS 版本以及 Cipher Suite 等詳盡資訊則使用 NMAP。

# by Jeffrey

to 大元,謝謝你的使用時機整理,非常清楚。 我主要的考量是 openssl 在 git for Windows 有附,普及率高且指令也簡單,如果單純只想知道 TLS 1.x 有沒有開啟,測試開發人員不必裝軟體就能驗證,方便一些。

Post a comment