收到漏洞报告,SSL/TLS协议中发现了严重弱点,能让黑客悄悄破译Web服务器和终端用户浏览器之间传输的加密数据。
通常的解决方式是如何将win服务器禁用默认的ssl2.0和ssl3.0,只启用tls1.2保证安全。但按着处理完了之后,重启SQL服务,网站就挂掉了。
经过调查与测试,确认使用IISCrypto软件禁用TLS1.0,对SQL 2017一下的数据库软件版本不友好,最直接的体现在网站无法访问。
安装SQL2017版本的数据库可以解决这个问题。
不过,纵然使用IISCrypto禁用TLS1.0,还是会被扫描到该漏洞。
最终的解决方案是服务器本地的【控制面板】-【Internet选项】-【高级】-使用TLS1.0,这个勾去掉。
重启服务器之后再扫描,可以看到该问题才最终被处理。
可以通过这个https://www.ssllabs.com/ssltest/index.html网页检测网站是否支持对TLS的支持情况。
另有安全问题:检测到 RC4 密码套件
RC4 密码套件存在漏洞,SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808),通过“受戒礼”攻击,攻击者可以在特定环境下只通过嗅探监听就可以还原采用 RC4 保护的加密信息中的纯文本,导致账户、密码、信用卡信息等重要敏感信息暴露,并且可以通过中间人(Man-in-the-middle)进行会话劫持。RC4 现在已经是被强制丢弃的算法。
Windows 系统禁用 RC4 密码套件,在Powershell 中执行此命令 (以系统管理员身份)Windows 系统禁用 RC4 密码套件
# Re-create the ciphers key.
New-Item 'HKLM:SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers' -Force | Out-Null
# Disable insecure/weak ciphers.
$insecureCiphers = @(
'DES 56/56',
'NULL',
'RC2 128/128',
'RC2 40/128',
'RC2 56/128',
'RC4 40/128',
'RC4 56/128',
'RC4 64/128',
'RC4 128/128',
'Triple DES 168'
)
Foreach ($insecureCipher in $insecureCiphers) {
$key = (Get-Item HKLM:\).OpenSubKey('SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers', $true).CreateSubKey($insecureCipher)
$key.SetValue('Enabled', 0, 'DWord')
$key.close()
Write-Host "Weak cipher $insecureCipher has been disabled."
}