分享免费的编程资源和教程

网站首页 > 技术教程 正文

SSL/TLS协议信息泄露漏洞(CVE-2016-2183)

goqiw 2024-10-11 15:09:30 技术教程 43 ℃ 0 评论

解决办法

建议:避免使用DES算法 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

威胁分值

7.5

危险插件

发现日期

2016-08-31

CVE编号

CVE-2016-2183

BUGTRAQ

92630

NSFOCUS

34880

CNNVD编号

CNNVD-201608-448

CNCVE编号

CNCVE-20162183

CVSS评分

5.0

CNVD编号

CNVD-2016-06765

https://www.openssl.org/news/secadv/20160922.txt

OpenSSL 1.1.0 users should upgrade to 1.1.0a
OpenSSL 1.1.0 TLS users should upgrade to 1.1.0a
OpenSSL 1.1.0 SSL/TLS will hang during a call to SSL_peek() if the peer sends an
OpenSSL 1.1.0 is not affected.
OpenSSL 1.1.0 DTLS users should upgrade to 1.1.0a
OpenSSL 1.0.2 users should upgrade to 1.0.2i
OpenSSL 1.0.2 DTLS users should upgrade to 1.0.2i
OpenSSL 1.0.1 users should upgrade to 1.0.1u
OpenSSL 1.0.1 DTLS users should upgrade to 1.0.1u
OpenSSL 1.0.1 and OpenSSL 1.0.2.  OpenSSL 1.1.0 since release has had these

朋友的版本是系统是SUSE Linux Enterprise Server 11 SP3

openssl-.9.8j-0.50.1

基本的升级过程:

查看当前OpenSSL版本
# openssl version
OpenSSL 0.9.8j-fips 07 Jan 2009
# openssl version -a
OpenSSL 0.9.8j-fips 07 Jan 2009
二、下载OpenSSL
http://www.openssl.org/source/
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1i.tar.gz
三、安装openssl-1.1.1i
1、解包
# tar vxvf openssl-1.1.1i.tar.gz
2、安装
# cd/openssl-1.1.1i/
# ./config
# make
# make test 如果上面没有报错,这一步也可以省略
# make install
注意观察如上四条命令是否有报错,最后可以看到安装到哪里去了
3、版本替换
如果不执行版本替换,使用openssl version命令得到的版本号是不会改变的。
备份旧版
# mv /usr/bin/openssl /usr/bin/openssl_old
软链替换新版
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
四、检查更新后的OpenSSL版本
# openssl version
OpenSSL 1.1.1i 16 Feb 2021   

2、对于nginx、apache、lighttpd等服务器禁止使用DES加密算法 主要是修改conf文件。但是朋友的系统是直接Java应用对外提供服务。所以能想到的就是走nginx反向代理来实现规避这个漏洞了。了解下Suse的软件安装方式:

suse 是 
zypper se xxxxx 是搜索软件包
zypper in xxxxx 类似 apt-get install xxxx等价
zypper rm xxxx  删除
zypper up xxxx 更新软件

搜索软件包

通过命令search或se搜索软件包,示例如下:

#zypper se nginx

安装软件包

根据搜索到的软件包的名字(Name)安装软件。

如果要安装多个软件,中间用空格隔开。

注:安装软件的时候,如果需要依赖包,会自动下载安装,用户无需自己安装依赖包。

通过命令install或in安装nginx软件包,

示例如下:

#zypper in nginx

然后就是配置nginx作为反向代理:

我们这里假设其原来提供服务的Java端口为8030

安装可以参考https://www.toutiao.com/i6933549076608811524/

这里的部分反向代理的配置:

#一个遗留的不怎么用的系统
    upstream javaserver {
        ip_hash;
        server  10.180.110.106:8030;
        #server  10.180.110.107:8080    weight=2;
        #server  10.180.110.108:8080    weight=2;
    }
#一个遗留的不怎么用的系统
server {
        listen         80;
        #listen          443 ssl; 写着就是如果想要Https支持的话 大概有个参考
        #ssl_certificate /usr/local/nginx/conf/server.includesprivatekey.pem;
        #ssl_certificate_key     /usr/local/nginx/conf/server.key;
        server_name   这里是主机名或者IP地址都可以;
        location / {
            proxy_pass http://javaserver;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

大致就是这么个意思。

要么就是编译安装了。安装的时候指定最新版本的openssl 大致思路如下:基于Nginx的https网站被扫描出SSL/TLS协议信息泄露漏洞(CVE-2016-2183),该漏洞是在安装Nginx时build的Openssl版本问题导致的漏洞, 需要重新编译安装Nginx并指定版本的Openssl(可以不升级系统的openssl,编译过程中只要指定新的openssl路径即可)。

cd /tmp
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1i.tar.gz
tar zxvf openssl-1.1.1i.tar.gz -C /usr/local

编译nginx的时候指定下openssl的位置,基本这样
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-openssl=/usr/local/openssl-1.1.1i
其他就是该干嘛干嘛的走流程

至此,思路应该是OK的。当然这是一份文档。供朋友参考。基本是想象而来。具体情况还得看实际应对。顺带学习一个命令

centos7 root@parallels:~# nmap -Pn --script ssl-cert,ssl-enum-ciphers -p 443 www.baidu.com
centos7 root@parallels:~# nmap -sV --script ssl-enum-ciphers -p 443 www.baidu.com


Starting Nmap 6.40 ( http://nmap.org ) at 2021-03-20 18:18 CST
Nmap scan report for www.baidu.com (36.152.44.96)
Host is up (0.0061s latency).
PORT    STATE SERVICE        VERSION
443/tcp open  ssl/http-proxy sslstrip
| ssl-enum-ciphers:
|   SSLv3:
|     ciphers:
|       TLS_RSA_WITH_RC4_128_SHA - strong
|     compressors:
|       NULL
|   TLSv1.0:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_RC4_128_SHA - strong
|     compressors:
|       NULL
|   TLSv1.1:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_RC4_128_SHA - strong
|     compressors:
|       NULL
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_RC4_128_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_RC4_128_SHA - strong
|     compressors:
|       NULL
|_  least strength: strong


Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 43.05 seconds


centos7 root@parallels:~# nmap -Pn --script ssl-cert,ssl-enum-ciphers -p 443 www.baidu.com

以上供参考:

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表