SSL/TLS协议信息泄露漏洞修复

概述:CVE-2016-2183 是一个涉及 SSL/TLS 协议信息泄露的漏洞,也被称为 "SWEET32" 攻击。该漏洞利用了某些对称加密算法(如 3DES)的弱点,攻击者可以通过捕获和分析大量的加密流量,可能会恢复明文数据。

目录

[1. 升级算法](#1. 升级算法)

[1.1 更新 OpenSSL 配置](#1.1 更新 OpenSSL 配置)

[1. 使用 yum 更新系统](#1. 使用 yum 更新系统)

[2. 检查 OpenSSL 版本](#2. 检查 OpenSSL 版本)

[3. 更新 OpenSSL](#3. 更新 OpenSSL)

[4. 从源代码编译 OpenSSL(可选)](#4. 从源代码编译 OpenSSL(可选))

[5. 验证安装](#5. 验证安装)

[2. 配置服务器](#2. 配置服务器)

[2.1配置 Web 服务器](#2.1配置 Web 服务器)

2.2重启服务

检查和更新系统

验证安装

[更新 Nginx 配置](#更新 Nginx 配置)

3.扫描验证


1. 升级算法

为了防止被 SWEET32 攻击利用,应该在服务器配置中禁用 3DES 加密算法。可以通过更新 OpenSSL 和相关服务的配置文件来实现。

1.1 更新 OpenSSL 配置

1. 使用 yum 更新系统

首先,尝试更新系统并升级所有现有软件包:

复制代码
sudo yum update

2. 检查 OpenSSL 版本

确认当前系统中的 OpenSSL 版本:

复制代码
openssl version

3. 更新 OpenSSL

如果 yum 仓库中有更新的 OpenSSL 版本,使用以下命令进行安装:

复制代码
sudo yum install openssl openssl-devel

如果没有可用的更新版本,并且需要更高版本的 OpenSSL,可以考虑从源代码编译安装最新的 OpenSSL 版本:

4. 从源代码编译 OpenSSL(可选)

注意: 从源代码编译安装软件包是有风险的,请确保备份重要数据。

复制代码
# 安装所需的编译工具和依赖项
sudo yum groupinstall 'Development Tools'
sudo yum install perl-core zlib-devel

# 下载并解压 OpenSSL 源代码
wget https://www.openssl.org/source/openssl-1.1.1v.tar.gz
tar -zxf openssl-1.1.1v.tar.gz
cd openssl-1.1.1v

# 配置并编译安装 OpenSSL
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make
sudo make install

# 备份原有的 OpenSSL 可执行文件,并更新为新的版本
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

# 更新库文件路径
sudo sh -c "echo '/usr/local/openssl/lib' > /etc/ld.so.conf.d/openssl.conf"
sudo ldconfig -v

如果下载不了:https://cloud.189.cn/t/YJre2aAzEvEr (访问码:8eik)

5. 验证安装

再次检查 OpenSSL 版本以确认升级成功:

复制代码
openssl version

2. 配置服务器

2.1配置 Web 服务器

Apache HTTPD : 如果你使用的是 Apache,可以通过修改 /etc/httpd/conf.d/ssl.conf 文件来禁用 3DES。

复制代码
sudo vi /etc/httpd/conf.d/ssl.conf

找到 SSLCipherSuite 这一行,并将其修改为:

复制代码
SSLCipherSuite HIGH:!aNULL:!MD5:!3DES
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

Nginx : 如果你使用的是 Nginx,可以通过修改 /etc/nginx/nginx.conf 文件来禁用 3DES。

复制代码
sudo vi /etc/nginx/nginx.conf

找到 ssl_ciphers 这一行,并将其修改为:

复制代码
# 优化后的加密套件配置
    ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-CHACHA20-POLY1305:!3DES:!aNULL:!MD5:!RC4';
# 使用更安全的 TLS 版本
    ssl_protocols TLSv1.2 TLSv1.3;

2.2重启服务

复制代码
sudo systemctl restart httpd  # Apache
sudo systemctl restart nginx  # Nginx
检查和更新系统

确保系统上的软件包都是最新的,包括 OpenSSL:

复制代码
sudo dnf update openssl
验证安装

再次检查 OpenSSL 版本以确认升级成功:

复制代码
openssl version
更新 Nginx 配置

一旦 OpenSSL 升级完成,按照之前的步骤更新 Nginx 配置以禁用不安全的协议和加密套件,然后重启 Nginx:

复制代码
sudo systemctl restart nginx

3.扫描验证

更新配置后,再次使用 nmap 进行扫描,确认 TLSv1.0 和 TLSv1.1 已禁用,且 3DES 加密算法不再被支持。

复制代码
nmap --script ssl-enum-ciphers -p 443 <your_server_ip>

正确的应该长这样:

如果是以下这种说明没有成功!!新的配置并没有生效,TLSv1.0 和 TLSv1.1 仍然被支持,并且 3DES 加密算法也依然存在

复制代码
结果:Host is up (0.024s latency).
PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   SSLv3: No supported ciphers found
|   TLSv1.0:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - strong
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - strong
|     compressors:
|       NULL
|   TLSv1.1:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - strong
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - strong
|     compressors:
|       NULL
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - strong
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - strong
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA256 - strong
|       TLS_RSA_WITH_AES_128_GCM_SHA256 - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA256 - strong
|       TLS_RSA_WITH_AES_256_GCM_SHA384 - strong
|       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA - strong
|       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA - strong
|     compressors:
|       NULL
|_  least strength: strong

Nmap done: 1 IP address (1 host up) scanned in 1.47 seconds
相关推荐
rcms152702692189 分钟前
AMAT 0190-27952-04 终端服务器
网络
海外数字观察家35 分钟前
品未云:博兹瓦纳华商批发零售一体化 ERP,破解本土软件适配难题|CSDN 技术分享
大数据·网络·人工智能·博兹瓦纳进销存系统·博兹瓦纳收银系统·博兹瓦纳erp系统·博兹瓦纳仓库管理系统
蝶恋舞者39 分钟前
怎样设置软件开机自启动(用的最多,最简单)
linux·运维·服务器
Dawn-bit1 小时前
Linux打包压缩与用户权限管理详解
linux·服务器·数据库
段一凡-华北理工大学1 小时前
AI Agent 从入门到封神:24 讲打造你的超级智能体~系列文章23:从Demo到上线:Agent应用的架构设计、性能优化与成本控制实战
运维·网络·人工智能·性能优化·高炉炼铁·工业智能体
leagsoft_10031 小时前
从“策略看不清”到“风险可收敛”:某高端精密制造企业的网络安全策略治理实践
网络·web安全·制造
paopaokaka_luck2 小时前
基于Springboot3+Vue3的宠物殡葬管理系统(webSocket实时通讯、接入腾讯地图、支付宝沙盒支付、Echarts图形化分析)
java·开发语言·网络·后端
网络小白不怕黑2 小时前
14.VSFTP服务相关配置
linux·运维·服务器
承渊政道2 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(从退化问题到信息高速公路:ResNet残差网络实战拆解)
网络·人工智能·pytorch·深度学习·resnet·chatglm·卷积
Lhappy嘻嘻2 小时前
网络初识|基础入门:局域网广域网、IP 端口、TCP/IP 五层模型与封装解封装全过程
java·开发语言·网络·笔记·网络协议·tcp/ip