前段时间对公司的网站进行了一下扫描,使用的是awvs扫描器,发现了几处SSL方面的安全漏洞,网上找了一些修复的建议,分享给大家,如果你也遇到和我一样的问题,可以用此修复。

Web网站的SSL漏洞主要包括如下几种:

1、SSL RC4 Cipher Suites Supported

2、SSL Weak Cipher Suites Supported

3、The FREAK attack(export cipher suites supported)

4、The POODLE ataack(SSLV3 supported)

5、SSL 2.0 deprecated protocol

6、OpenSSL 'ChangeCipherSpec' MiTM Vulnerability

「ssl漏洞」网站SSL安全漏洞修复指南-开水网络

修复建议我使用的是awvs官方推荐的修复建议,详细的总结为如下:

1、禁用SSL 2.0 and SSL 3.0

2、禁用 TLS 1.0 压缩以及弱密码

3、针对不同的web Server修改如下配置

针对OPENSSL,请使用如下配置:

ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5

Apache服务器配置指南(mod_ssl):

适用于Apache HTTP Server 2.2+/2.4+ with mod_ssl,配置文件apache/conf/extra/httpd-ssl.conf

SSLProtocol ALL -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5
SSLCompression Off

需要注意的是Redhat系列的Linux版本,可能要做如下配置:

对于部分apache版本,不支持SSLCompression Off的配置,可能需要在/etc/sysconfig/httpd文件中插入OPENSSL_NO_DEFAULT_ZLIB=1配置来禁用ssl压缩

Nginx服务器配置指南:

ssl_prefer_server_ciphers On;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5;

需要注意的是nginx下,关闭TLS压缩,可能和你运行的OpenSSL及nginx版本相关,如果你使用是OpenSSL 1.0上版本,nginx版本为1.1.6以上或者是1.0.9+ TLS压缩默认就是关闭的。如果你使用的OpenSSL1.0以下版本,由必须使用nginx 1.2.2+/1.3.2

原文地址:https://www.acunetix.com/blog/articles/tls-ssl-cipher-hardening/