SSL配置 openssl漏洞修复整改建议

您所在的位置:网站首页 tlsv1协议漏洞 SSL配置 openssl漏洞修复整改建议

SSL配置 openssl漏洞修复整改建议

#SSL配置 openssl漏洞修复整改建议| 来源: 网络整理| 查看: 265

注:内容摘抄于一个扫描报告

附:apache的ssl配置

LoadModule ssl_module modules/mod_ssl.so Listen 443 NameVirtualHost *:443 SSLPassPhraseDialog builtin SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000) SSLSessionCacheTimeout 300 SSLRandomSeed startup file:/dev/urandom 256 SSLRandomSeed connect builtin SSLCryptoDevice builtin DocumentRoot /var/www/html/ ServerName xxx.xxx.com ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel warn #针对缺失"Content-Security-Policy"头漏洞整改建议 Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' data: blob:;script-src 'self' 'unsafe-eval' 'unsafe-inline';img-src *;" #针对缺失"X-Content-Type-Options"头漏洞整改建议 Header set X-Content-Type-Options nosniff #针对缺失"X-XSS-Protection"头漏洞整改建议 Header set X-XSS-Protection "1; mode=block" #针对点击劫持:X-Frame-Options头缺失漏洞的整改建议 Header always append X-Frame-Options SAMEORIGIN #针对缺少HTTP Strict-Transport-Security头漏洞的整改建议 Header set Strict-Transport-Security "max-age=31536000;includeSubDomains;" #针对Options方法已启用漏洞的整改建议 RewriteEngine On RewriteCond %{REQUEST_METHOD} !^(GET|POST) RewriteRule .* - [F] SSLHonorCipherOrder On #针对弱ssl协议漏洞整改 SSLEngine on SSLProtocol ALL -SSLv2 -SSLv3 -TLSv1 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLCertificateFile /etc/httpd/conf/xxx-xxx-com.crt SSLCertificateKeyFile /etc/httpd/conf/xxx-xxx-com.key SSLCertificateChainFile /etc/httpd/conf/CAChains.crt SSLOptions +StdEnvVars Options FollowSymLinks AllowOverride ALL Order allow,deny Allow from all SSLOptions +StdEnvVars SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

存在弱SSL协议(中)

漏洞危害

      使用一个如TLSv1.0、SSL2.0、SSL3.0的弱协议容易受到中间人攻击。这将允许攻击者读取和修改在一个安全的TLS连接数据,从而影响用户的安全和隐私。它的使用也将限制使用强大的密码套件,这些套件是有助于保护数据的完整性和保密性

针对存在弱SSL协议漏洞整改建议

在服务器上禁用支持TLSv1\SSLv2\SSLv3协议。NIST 800-52和PCI DSS V3.1强烈建议升级到最新的版本的TLS v1.2。或者,至少升级到TLS v1.1。

 

关于SSLv2、SSLv3、TLSv1.0,心血漏洞 、弱加密协议漏洞检测的方法

安装linux sslscan  参考地址 点击前往

安装windows sslscan (不支持扫描心血漏洞,SSLv2、SSLv3)下载地址 点击前往,解压即可使用 使用命令 cmd执行 sslscan   域名:端口号

Ubuntu使用apt默认安装的不支持检测SSLv2和SSLv3漏洞,使用git或者安装包安装。会附带openssl-1.0.2g,高版本都不支持检测SSLv2和SSLv3

踩个坑:如果网站在防火墙【例如H3C防火墙】后布置,交换机防火墙做ssl访问转发。扫描报告很有可能会有误,最准确的方法是在服务器上安装扫描工具,在本机上扫描本机,不过防火墙转发请求,./sslscan 127.0.0.1:443【猜测:扫描工具进行访问,防火墙进行所有路由转发,不论是否网站能访问,扫描工具认为访问成功,所以会爆出网站有漏洞】

 

Apache

在httpd-ssl.conf中进行设置

SSLProtocol ALL –SSLv2 -SSLv3 -TLSv1

 

Nginx

在nginx.conf中进行设置

ssl_protocols tlsv1.1 tlsv1.2; 

 

IIS

确保服务器操作系统至少升级到Windows Server 2008 R2 版

1禁用TLS 1.0

1.1运行注册表编辑器regedit

1.2寻找或创建注册表项目

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\

1.3在此项下面创建名为Server的注册表项

1.4在Server项下创建名为Enabled的值,将其设置为0。

2启用TLS 1.1或TLS 1.2

2.1运行注册表编辑器regedit

2.2寻找或创建注册表项目

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\

2.3在上面两项下分别创建名为Server的注册表项

2.4在Server项下寻找或创建名为Enabled的值,将其设置为1。

缺失"Content-Security-Policy"头(低)

 漏洞危害

      •可能会收集有关 Web 应用程序的敏感信息,如用户名、密码、机器名和/或敏感文件位置

      •可能会劝说初级用户提供诸如用户名、密码、信用卡号、社会保险号等敏感信息

针对缺失"Content-Security-Policy"头漏洞整改建议

Content-Security-Policy 参考地址 点击前往

Java Content-Security-Policy过滤器

可使用下面的开源项目添加Content-Security-Policy响应头,使用说明参见项目注释。

https://github.com/ronaldploeger/ContentSecurityPolicyFilter/blob/master/src/main/java/de/saville/csp/ContentSecurityPolicyFilter.java

 

Spring

使用 spring security框架

在 security-config-xml 文件中设置

...

IIS

在web.config中进行设置:

 

Nginx

在nginx.conf中进行设置:

server { … add_header Content-Security-Policy "default-src 'self';"; }

Apache

在httpd.conf中进行设置:

Header set Content-Security-Policy "default-src 'self';"

缺失"X-Content-Type-Options"头(低)

漏洞危害

       •可能会收集有关 Web 应用程序的敏感信息,如用户名、密码、机器名和/或敏感文件位置

       •可能会劝说初级用户提供诸如用户名、密码、信用卡号、社会保险号等敏感信息

针对缺失"X-Content-Type-Options"头漏洞整改建议

Tomcat

在web.xml中进行设置:

httpHeaderSecurity org.apache.catalina.filters.HttpHeaderSecurityFilter true httpHeaderSecurity /* REQUEST

IIS

在web.config中进行设置:

 

Nginx

在nginx.conf中进行设置

server {   … add_header X-Content-Type-Options nosniff; }

Apache

在httpd.conf中进行设置

Header set X-Content-Type-Options nosniff

缺失"X-XSS-Protection"头(低)

 漏洞危害

    •可能会收集有关 Web 应用程序的敏感信息,如用户名、密码、机器名和/或敏感文件位置

    •可能会劝说初级用户提供诸如用户名、密码、信用卡号、社会保险号等敏感信息

针对缺失"X-XSS-Protection"头漏洞整改建议

Tomcat(建议升级8以上版本,tomcat8以下版本无此配置)

在web.xml中进行设置:

httpHeaderSecurity org.apache.catalina.filters.HttpHeaderSecurityFilter true httpHeaderSecurity /* REQUEST

IIS

在web.config中进行设置:

 

Nginx

在nginx.conf中进行设置

http { … add_header X-XSS-Protection "1; mode=block"; }

Apache

在httpd.conf中进行设置

Header set X-XSS-Protection "1; mode=block"

点击劫持:X-Frame-Options头缺失(低)

漏洞危害

        点击劫持(ClickJacking)是一种视觉上的欺骗手段。攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。

针对点击劫持:X-Frame-Options头缺失漏洞的整改建议

针对不同应用,请选用不同配置,如下

Apache配置X-Frame-Options

在站点配置文件httpd.conf中添加如下配置,限制只有站点内的页面才可以嵌入iframe。

Header always append X-Frame-Options SAMEORIGIN

配置之后重启apache使其生效。该配置方式对IBM HTTP Server同样适用。

如果同一apache服务器上有多个站点,只想针对一个站点进行配置,可以修改.htaccess文件,添加如下内容:

Header append X-FRAME-OPTIONS "SAMEORIGIN"

Nginx 配置X-Frame-Options

到 nginx/conf文件夹下,修改nginx.conf ,添加如下内容:

add_header X-Frame-Options "SAMEORIGIN";

 重启Nginx服务。

IIS配置X-Frame-Options

在web站点的web.config中配置:

  ...                     ...

Tomcat配置X-Frame-Options

2种方法:

第1种:将ClickjackFilter.jar添加到lib目录下。

(可在OWASP的网站中找到)

    ClickjackFilterDeny     org.owasp.filters.ClickjackFilter               mode           SAMEORIGIN               ClickjackFilterDeny     /*  

第2种:打开webapps\ROOT\WEB-INF\web.xml添加以下过滤器:TOMCAT8以下版本需要引入httpHeaderSecurity.jar,同源将参数设置为SAMEORIGIN跨域请设置为DENY

   httpHeaderSecurity  org.apache.catalina.filters.HttpHeaderSecurityFilter  true    antiClickJackingEnabled  true      antiClickJackingOption  SAMEORIGIN   true      httpHeaderSecurity  /*   

缺少HTTP Stricnsport-Security头(低)

 漏洞危害

    •可能会收集有关 Web 应用程序的敏感信息,如用户名、密码、机器名和/或敏感文件位置

    •可能会劝说初级用户提供诸如用户名、密码、信用卡号、社会保险号等敏感信息

针对缺少HTTP Strict-Transport-Security头漏洞的整改建议

Tomcat

在web.xml中进行设置:

httpHeaderSecurity org.apache.catalina.filters.HttpHeaderSecurityFilter true true 31536000 httpHeaderSecurity /* REQUEST

 

IIS

在web.config中进行设置:

 

Nginx

在nginx.conf中进行设置:

server {   listen 443 ssl;   …   add_header Strict-Transport-Security "max-age=31536000;                                         includeSubdomains;"; }

 

Apache

在httpd.conf中进行设置:

Header set Strict-Transport-Security "max-age=31536000;includeSubDomains;"

Options方法已启用(低)

 漏洞危害

       可能导致敏感信息泄露,有助于恶意攻击者进一步攻击。

针对Options方法已启用漏洞的整改建议

Tomcat

在web.xml中进行设置

resourceName /* GET POST

Apache

在 httpd.conf 中进行设置

RewriteEngine On RewriteCond %{REQUEST_METHOD} !^(GET|POST) RewriteRule .* - [F]

Trace方法已启用(低)

漏洞危害

    可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。

针对Trace方法已启用漏洞的整改建议

 

 

解决方案: 禁用这些方式。

1、在各虚拟主机的配置文件里添加如下语句:

在\conf\http.conf里解除

LoadModule rewrite_module modules/mod_rewrite.so的注释

再增加

RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F]

2、Available in Apache 1.3.34, 2.0.55 and later

TraceEnable off

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3