SSL/TLS相关漏洞修复
SSL/TLS相关漏洞
漏洞清单:
- SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)
- SSL/TLS RC4 信息泄露漏洞(CVE-2013-2566)
- SSL证书使用了弱hash算法
- SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
- SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱
修复措施
-
对于chrome浏览器:
-
linux。关闭浏览器,在terminal中直接输入命令运行
$ google-chrome --cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007
-
windows:快捷图标->右键->在目标后面加入引号内的内容 “–cipher-suite-blacklist=0x0004,0x0005,0xc011,0xc007”。重启浏览器生效
-
-
对于windows平台:
-
注册表修改:
- 打开注册表:win+R 键入 regedit
- 找到如下注册表:
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128] "Enabled"=dword:00000000 - [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128] "Enabled"=dword:00000000 - [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128] "Enabled"=dword:00000000
- 如果Ciphers目录下没有RC4 128/128、RC4 40/128、RC4 56/128,则手动创建。
-
Internet选项设置:
-
打开【控制面板】窗口后,根据下图箭头所指,点击【管理工具】选项
-
进入【管理工具】页面后,根据下图箭头所指,找到并双击【系统配置】图标
-
打开【系统配置】窗口后,先点击顶部【工具】,接着根据下图箭头所指,选中【Internet选项】并点击【启动】。
-
找到高级–安全:取沟TLS1.0和1.1,只保留1.2;1.3也不勾选。
-
-
SSL配置
-
win+R运行,输入gpedit.msc进入本地计算机策略
-
本地计算机组策略——>计算机配置——>管理模板——>网络——>ssl配置设置
-
打开ssl密码套件顺序
-
在“SSL密码套件顺序”选在“已启用(E)” ,在“SSL密码套件”下修改SSL密码套件算法,仅保留TLS 1.2 SHA256 和 SHA384 密码套件、TLS 1.2 ECC GCM 密码套件。
-
SSL密码套件内容:
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P521,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_NULL_SHA256
-
重启计算机,请仔细衡量重启风险
-
-
修改注册表来增加密钥长度,在命令提示符中运行以下命令:
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server" /v "SSLKeyExchange" /t REG_DWORD /d 0x00000002 /f
`reg add "HKLM\System\CurrentControlSet\Control\Terminal Server" /v "TLSCipherSuites" /t REG_SZ /d "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" /f`
-
-
对于nginx
server_name 127.0.0.1; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!3DES'; ssl_prefer_server_ciphers on; ssl_dhparam dhparams.pem;
dhparams.pem文件是在安装有SSL的电脑上使用如下命令生成:
openssl dhparam -out dhparams.pem 2048