絕對應該關閉 SSL 2.0 與 SSL 3.0,並強制使用 TLS 1.2。
這項弱點(主要是為了防範 POODLE 攻擊)在現代安全標準中是非常基礎且必要的修復。SSL 2.0/3.0 早已被證明存在嚴重的加密缺陷,攻擊者可以利用這些漏洞進行中間人攻擊 (MITM) 並解密通訊內容。
由於 Windows Server 2012 R2 的預設設定較舊,通常需要手動調整註冊表或使用工具來符合目前的 Nessus 掃描要求。
1. 修復步驟:停用舊協定並啟用 TLS 1.2
在 Windows Server 2012 R2 中,所有的協定控制都在以下註冊表路徑:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
A. 停用 SSL 2.0 與 3.0
你需要針對 SSL 2.0 與 SSL 3.0 分別建立 Client 與 Server 子機碼,並將其停用:
建立機碼:
Protocols\SSL 3.0\Server在右側建立 DWORD (32-bit) 值:
Enabled=0DisabledByDefault=1
對
SSL 3.0\Client、SSL 2.0\Server、SSL 2.0\Client重複上述動作。
B. 啟用 TLS 1.2
雖然 2012 R2 支援 TLS 1.2,但有時並未預設開啟。請確保以下路徑已正確設定:
建立機碼:
Protocols\TLS 1.2\Server在右側建立 DWORD (32-bit) 值:
Enabled=1DisabledByDefault=0
2. 重要補充:.NET Framework 的相容性 (隱藏陷阱)
在 Windows Server 2012 R2 上,即便你關閉了系統層級的 SSL 3.0,有些執行在 .NET Framework (3.5 或 4.x) 上的應用程式可能還是會嘗試使用舊協定。為了確保 .NET 應用程式也使用 TLS 1.2,建議增加以下註冊表項:
路徑 1:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319路徑 2:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319新增項目:
SchUseStrongCrypto=1(DWORD)SystemDefaultTlsVersions=1(DWORD)