[ISO 27001] TLS / SSL 相關議題
ISO 27001 這一系列的文章,是在記錄被弱點掃描報告列出的問題修正。
受影響的條款
12.5.1 Installation of soft ware on operational systems
- TLS 1.0 enabled
- TLS 1.1 enabled
- SSL Sweet32 attack
- TLS/SSL Weak Cipher Suites
- TLS/SSL certificate about to expire
- TLS/SSL (EC)DHE Key Reuse
- HTTP Strict Transport Security (HSTS) not implemented
檢測網站設定
- 下圖是尚未關閉 TLS 1.0 & TLS.1.1 時,使用 Qualys SSL Labs 網站 來進行檢測的結果。
- 若是內部網站亦可使用使用 OpenSSL,來判斷 TLS 相關協定的開啟狀態。
openssl s_client -connect domain.com.tw:443 -tls1 openssl s_client -connect domain.com.tw:443 -tls1_1 openssl s_client -connect domain.com.tw:443 -tls1_2
關閉設定
- 範例使用 Server 2019,開啟 cmd -> regedit -> ,預設情況下 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols,無任何設定(如下圖)。
- 可手動加入機碼(如下圖參考),或者將底下語法另存成 .reg 來執行。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001
其它設定
關閉其它設定除了使用機碼的方式外,還有很多細部的規則,也可以一個一個關閉,例如 TLS/SSL Sweet32 attack、TLS/SSL Weak Cipher 等等,但這樣太辛苦了,網路上有人分享可以透過 Windows Cipher Suit 設定工具 – IISCrypto 來設定。
- 下圖是關閉 TLS 1.0 / 1.1 機碼後,使用該工具開啟的狀態。
- 直接透過該工具 Best Practices 按鈕執行完的狀態,但這邊有個小問題,該工具又把 TLS 1.0 /1.1 開啟了,但這個小事情,手動關閉即可。
留言
張貼留言
您好,我是 Lawrence,這裡是我的開發筆記的網誌,如果你對我的文章有任何疑問或者有錯誤的話,歡迎留言讓我知道。