[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 開啟了,但這個小事情,手動關閉即可


參考網站

速檢測網站是否已關閉 TLS 1.1/1.0

Windows 停用 TLS 1.0 之配套作業整理

[資安]TLS/SSL WEAK CIPHER SUITES處理

留言