处理高危漏洞SSL/TLS协议信息泄露漏洞

处理高危漏洞SSL/TLS协议信息泄露漏洞
一、问题探讨
  话说我们9月份上线的系统,在做等保三级漏扫的时候,被扫出个高危漏洞:SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】。 
     报告中给出的解决办法是这样的:
建议:避免使用IDEA、DES和3DES算法

1、OpenSSL Security Advisory [22 Sep 2016]
链接:https://www.openssl.org/news/secadv/20160922.txt
请在下列网页下载最新版本:  
https://www.openssl.org/source/
2、对于nginx、apache、lighttpd等服务器禁止使用DES加密算法 
主要是修改conf文件
3、Windows系统可以参考如下链接:
https://social.technet.microsoft.com/Forums/en-US/31b3ba6f-d0e6-417a-b6f1-d0103f054f8d/ssl-medium-strength-cipher-suites-supported-sweet32cve20162183?forum=ws2016

https://docs.microsoft.com/zh-cn/troubleshoot/windows-server/windows-security/restrict-cryptographic-algorithms-protocols-schannel

  当时想着又得升级openssl到最新版本了(官方下载最新版本进行编译安装),注意,整改的操作系统是:Alibaba Cloud Linux 3.2104 LTS 64位(基于centos 8 ),不是centos 7,我一开始用的是centos 7 升级ssl的方法,很多报错

 

  一开始我是反馈给收了我们公司钱,需提供整改建议服务的电信团队,叫我下反馈openssl 版本和内核版本,就说系统用的 1.1.1k 这个版本是可以过的,

   然后我想到nginx编译安装的时候,也会依赖ssl,会不会是nginx用了旧版本的ssl,发现并不是。

   直到有天,电信给我发了这个链接,尝试用nmap扫描的方法【https://segmentfault.com/a/1190000038486901】,无果。。。后来他们用sslscan工具终于扫出问题:sslscan  {漏洞机器公网ip}

 

  叫我直接禁用nginx的算法! 不需要升级ssl!

 

 

 

、问题解决

        要改成怎样才符合?他们推荐了一个SSL一键生成配置的网站【https://ssl-config.mozilla.org/】

1、SSL一键生成配置

  选择nginx版本,ssl版本,其中中间的Mozilla Configuration,

中的是推荐,old的是老电脑都兼容的,保险起见我选了old,免得有些老电脑打开不了网站。

2、nginx修改配置参数 ssl_ciphers

记得先备份再修改

 

 重新加载生效

3、验证测试

ssl强度和兼容性测试用这个网站:https://wosign.ssllabs.com/analyze.html?d=【测试的网站域名】,例如,https://wosign.ssllabs.com/analyze.html?d=www.baidu.com

因为截图太长,附上一部分就算了

再用sslscan去测试,就没有看到:ECDHE-RSA-DES-CBC3-SHA 的算法了

 

 后来说需要连DES都要处理,不仅要处理3DES:ECDHE-RSA-DES-CBC3-SHA,也要处理DES:DES-CBC3-SHA,所以上面截图的配置,

DES-CBC3-SHA 改成 !DES-CBC3-SHA,或者把DES-CBC3-SHA整个去掉

 

#####################

最后附上一个阿里给的升级centos8 ssl 操作步骤,供大家学习使用~~~

 1 升级 openssl 
 2 
 3 wget --no-check-certificate https://www.openssl.org/source/openssl-3.0.5.tar.gz
 4 wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
 5     yum install -y perl-CPAN
 6     yum -y install pam-devel
 7     yum install distro-sync rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel xmkmf libXt-devel gtk2-devel make -y
 8     perl -MCPAN -e shell
 9          install IPC/Cmd.pm
10 
11     tar -xvf openssl-3.0.5.tar.gz
12     cd openssl-3.0.5
13     ./config -fPIC --openssldir=/etc/pki/tls --prefix=/etc/pki/tls 
14     make && make install
15      mv /usr/bin/openssl /usr/bin/openssl.bak
16      mv /usr/include/openssl /usr/include/openssl.bak
17      ln -s /etc/pki/tls/bin/openssl /usr/bin/openssl
18      ln -s /etc/pki/tls/include/openssl /usr/include/openssl
19      ln -sf /etc/pki/tls/lib64/libssl.so.3 /usr/lib64/libssl.so.3
20      ln -sf /etc/pki/tls/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
21       echo "/etc/pki/tls/lib64" >> /etc/ld.so.conf
22     ldconfig -v
23     openssl version
24 
25     升级openssh 
26 
27 
28 tar -zxvf openssh-9.0p1.tar.gz
29 cd openssh-9.0p1/
30 mv /etc/ssh /etc/ssh.bak 
31 yum -y install zlib zlib-devel
32 ./configure --prefix=/usr/local/openssh9.0 --sysconfdir=/etc/ssh/  --with-md5-passwords --mandir=/usr/share/man --with-zlib --with-pam  --with-ssl-dir=/etc/pki/tls/
33 make && make install
34 /usr/local/openssh9.0/sbin/sshd -t -f /etc/ssh/sshd_config
35 echo "X11Forwarding yes" >> /etc/ssh/sshd_config
36 echo "X11UseLocalhost no" >> /etc/ssh/sshd_config
37 echo "XAuthLocation /usr/bin/xauth" >> /etc/ssh/sshd_config
38 echo "UseDNS no" >> /etc/ssh/sshd_config
39 echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
40 echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
41 echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config
42 echo 'KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1' >> /etc/ssh/sshd_config
43 
44 mv /usr/sbin/sshd /usr/sbin/sshd20220708.bak
45 cp -rf /usr/local/openssh9.0/sbin/sshd /usr/sbin/sshd
46 mv /usr/bin/ssh /usr/bin/ssh20220708.bak
47 cp -rf /usr/local/openssh9.0/bin/ssh /usr/bin/ssh
48 mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen2022-07-08.bak
49 cp -rf /usr/local/openssh9.0/bin/ssh-keygen /usr/bin/ssh-keygen
50 rm -rf /usr/lib/systemd/system/sshd.service
51 cp contrib/redhat/sshd.init /etc/init.d/sshd
52 systemctl enable sshd.service
53 systemctl daemon-reload
54 systemctl restart sshd
View Code

 

 

 

posted @ 2023-01-24 11:33  windysai  阅读(4725)  评论(0编辑  收藏  举报