Skip to content

Window系统漏洞修复

1. 启动防火墙,按需添加入站规则,开放端口

在“高级安全Windows Defender防火墙”中,查看防火墙状态,如果未开启,则通过点击“Windows Defender 防火墙属性”开启。注意需要将域、专用、公用全部开启。 通常规避漏洞是通过限制本地端口访问的方式实现,因此需要添加“入站规则”。在“入站规则”中点击“新建规则”。

注:默认入站规则为“阻止连接”,因此如果不配置防火墙规则,则默认禁止访问所有端口。因此,需要添加业务端口,允许访问。

允许访问规则(白名单)

选择“端口”,点击“下一步”。选中“特定本地端口”,填写允许访问的端口号,如8080,用英文逗号隔开,点击“下一步”。

2. 限制远程桌面的连接IP

3. DES和Triple DES 信息泄露漏洞(CVE-2016-2183)

漏洞说明

Windows server 2008或2012、2016远程桌面服务SSL加密默认是开启的,且有默认的CA证书。由于SSL/ TLS自身存在漏洞缺陷,当开启远程桌面服务,使用漏洞扫描工具扫描,发现存在SSL/TSL漏洞。 例如如下漏洞:

修复办法

Windows系统: (1) 登录服务器,运行gpedit.msc,打开“本地组策略编辑器”。 (2) 打开“本地组策略编辑器”-“计算机配置”-“管理模板”-“网络”-“SSL配置设置”, 在“SSL密码套件顺序”选项上,右键“编辑”。 (3) 在“SSL密码套件顺序”选在“已启用(E)” ,在“SSL密码套件”下修改SSL密码套件算法,仅保留TLS 1.2 SHA256 和 SHA384 密码套件、TLS 1.2 ECC GCM 密码套件。 删除原有内容替换为:

txt
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_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_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_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA

修改后,点击“应用”、“确定”,即可。 (4) 重启服务器即可。

4. RC4 加密问题漏洞(CVE-2015-2808),TLS/SSL协议 RC4算法安全漏洞(CVE-2013-2566)

漏洞说明

RC4 密码套件存在漏洞,SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808),通过“受戒礼”攻击,攻击者可以在特定环境下只通过嗅探监听就可以还原采用 RC4 保护的加密信息中的纯文本,导致账户、密码、信用卡信息等重要敏感信息暴露,并且可以通过中间人(Man-in-the-middle)进行会话劫持。RC4 现在已经是被强制丢弃的算法。

修复方法

  1. 启动Windows PowerShell
  2. 复制粘贴执行如下脚本:
shell
# 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."
}

5. 远端WWW服务支持TRACE请求,目标WEB服务支持TRACE/TRACK方法,易受跨站执行脚本攻击

漏洞说明

攻击者利用TRACE请求,结合其它浏览器端漏洞,有可能进行跨站脚本攻击,获取敏感信息。

修复方法,可查看博客https://blog.csdn.net/juan_php_user/article/details/131716888

1.Apache

修改配置文件/conf/httpd.conf,添加TraceEnable off,重启apache。

2.Tomcat

直接修改tomcat根目录conf目录下的web.xml, 在文件末尾(之前)添加如下代码:

xml
<security-constraint>
    <web-resource-collection>
        <url-pattern>/*</url-pattern>
        <http-method>PUT</http-method>
        <http-method>DELETE</http-method>
        <http-method>HEAD</http-method>
        <http-method>OPTIONS</http-method>
        <http-method>TRACE</http-method>
    </web-resource-collection>
    <auth-constraint>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
</login-config>

注:在tomcat的在server.xml中先允许TRACE请求,再在web.xml中禁用TRACE,以此禁用TRACE请求.

xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" allowTrace="true"
redirectPort="8443" />

3. nginx

nginx.conf中的server内,增加

shell
if ($request_method !~* GET|POST|OPTIONS|PUT|DELETE) {
 return 403; 
}

6. IIS漏洞

禁用IIS。 https://cloud.tencent.com/developer/article/1538468。 80端口是默认开放的,如果不使用80端口,防火墙则禁用80端口规则。