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

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

目录

1. 升级算法

1.1 更新 OpenSSL 配置

1. 使用 yum 更新系统

2. 检查 OpenSSL 版本

3. 更新 OpenSSL

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

5. 验证安装

2. 配置服务器

2.1配置 Web 服务器

2.2重启服务

检查和更新系统

验证安装

更新 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: strongNmap done: 1 IP address (1 host up) scanned in 1.47 seconds

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52160.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sqlite3数据库表内数据批量读取操作---sqlite3_stmt机制

0、引言 在前面两篇文章已经对数据环境搭建、数据批量写入库中进行了较为详细的讲解。因此&#xff0c;基于前两篇文章内容的基础上&#xff0c;本文主要从数据库中批量数据读取操作进行梳理讲解。 嵌入式数据库SQLite 3配置使用详细笔记教程_sqlite3-CSDN博客 SQLite 3 优化批…

【机器学习】4. 相似性比较(二值化数据)与相关度(correlation)

SMC Simple Matching Coefficient 评估两组二进制数组相似性的参数 SMC (f11 f00) / (f01f10f11f00) 其中&#xff0c;f11表示两组都为1的组合个数&#xff0c;f10表示第一组为1&#xff0c;第二组为0的组合个数。 这样做会有一个缺点&#xff0c;假设是比较稀疏的数据&…

<数据集>流水线纸箱识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;1395张 标注数量(xml文件个数)&#xff1a;1395 标注数量(txt文件个数)&#xff1a;1395 标注类别数&#xff1a;2 标注类别名称&#xff1a;[GreenCarton,RedCarton] 序号类别名称图片数框数1GreenBox131728482R…

解析XML格式数据

解析XML格式数据主要涉及到将XML文档转换为程序可以处理的数据结构&#xff0c;这通常通过使用特定的解析技术来实现。在Java中&#xff0c;解析XML数据主要有四种方法&#xff0c;分别是DOM&#xff08;Document Object Model&#xff09;、SAX&#xff08;Simple API for XML…

力扣 | 最长公共子序列 | 动态规划 | 最长公共子序列长度、最长公共子序列

文章目录 一、1143. 最长公共子序列二、求最长公共子序列三、变式一、1035. 不相交的线二、1312. 让字符串成为回文串的最少插入次数 一、1143. 最长公共子序列 LeetCode&#xff1a;1143. 最长公共子序列 这是一道典型的二维动态规划问题&#xff0c;甚至面试都能被面到。 这…

下载文件设置响应头

参考链接&#xff1a;关于URL编码 1、概述 一般要对文件名称编码&#xff08;主要是中文名称和特殊符号编码的问题&#xff09;&#xff0c;不然下载的时候会出异常&#xff0c;异常在后面 package com.mocha.order.util;import com.mocha.order.constant.BrowserConstant; …

【15】bat脚本备份windows的部署文件

1、请安装D:\7-Zip\7z.exe压缩工具,sshfs工具 2、通过挂载远程服务器存储文件夹,将部署文件压缩到指定备份路径 3、指定备份路径只保存20个文件,超过定期删除多余的 4、部署文件备份完成后,卸载远程存储文件夹 @echo off setlocal:: 备份web、mysql、redis、nginx :: folde…

Linux buffer/cache

清除方法 echo 1 > /proc/sys/vm/drop_caches # 仅清除页面缓存 echo 2 > /proc/sys/vm/drop_caches # 清除目录项和inode echo 3 > /proc/sys/vm/drop_caches # 清除页面缓存、目录项以及inode 下面了解一下这几种都是什么,简单理解&#xff0c;目录项和inode&…

C#关于多线程的线程问题

using System.Text; ​ namespace 平时练习8._19day06 {internal class Program{static async Task Main(string[] args){Console.WriteLine(Thread.CurrentThread.ManagedThreadId );StringBuilder sb new StringBuilder();for (int i 0; i < 10000; i){sb.Append("…

坚持绿色发展的上海智算中心,稳步推进中

自今年年初正式封顶以来&#xff0c;云端股份上海智算中心在外墙及内部的建设进展顺利。这座智算中心地理位置优越&#xff0c;正逐步成为推动数字经济发展的重要力量。 位置优势 云端股份上海智算中心毗邻智慧岛数据产业园&#xff0c;是崇明区目前建设的唯一一座智算中心&am…

多功能秒达工具箱全开源源码,可自部署且完全开源的中文工具箱

简介&#xff1a; 多功能秒达开源工具箱源码&#xff0c;&#xff0c;可自部署且完全开源的中文工具箱&#xff0c;永远的自由软件&#xff0c;轻量级运行&#xff0c;全平台支持&#xff08;包括ARMv8&#xff09;&#xff0c;完全类似 GPT 的支持&#xff0c;与高效的 UI 高…

前端构建工具 webpack与vite对比

一、webpack构建原理 Webpack的构建过程大致为&#xff1a; 1.从入口文件开始分析依赖&#xff0c; 2.递归解析所有依赖模块&#xff0c;生成依赖图&#xff0c; 3.调用Loader转换文件内容&#xff0c; 4.打包所有模块输出优化后的静态资源 。 webpack工作特点&#xff1a; …

[JS]精选面试题-2

1.谈⼀谈你理解的函数式编程 函数式编程&#xff08;Functional Programming&#xff09;是一种编程范式&#xff0c;通过函数的组合实现程序的功能 核心特性 函数是第一等公民&#xff1a;在函数式编程中&#xff0c;函数不仅可以被调用&#xff0c;还可以像其他值&#xf…

简化登录流程,助力应用建立用户体系

随着智能手机和移动应用的普及&#xff0c;用户需要在不同的应用中注册和登录账号&#xff0c;传统的账号注册和登录流程需要用户输入用户名和密码&#xff0c;这不仅繁琐而且容易造成用户流失。 华为账号服务&#xff08;Account Kit&#xff09;提供简单、快速、安全的登录功…

一文5000字从0到1使用Jmeter实现轻量级的接口自动化测试

接口测试虽然作为版本的一环&#xff0c;但是也是有一套完整的体系&#xff0c;有接口的功能测试、性能测试、安全测试&#xff1b;同时&#xff0c;由于接口的特性&#xff0c;接口的自动化低成本高收益的&#xff0c;使用一些开源工具或一些轻量级的方法&#xff0c;在测试用…

怎么解决小程序的异步请求问题

解决小程序的异步请求问题通常涉及对异步操作的有效管理&#xff0c;以确保数据的正确加载和显示。在小程序中&#xff0c;最常见的异步操作包括网络请求、文件操作等。以下是一些解决小程序异步请求问题的方法&#xff1a; 使用Promise&#xff1a; 小程序中的wx.request接口…

【Kotlin设计模式】Kotlin实现工厂模式

前言 工厂模式&#xff08;Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;提供一个创建对象的接口&#xff0c;不暴露对象的创建过程。它将实例化对象的任务交给子类或具体实现&#xff0c;从而使得客户端代码与具体类解耦。 工厂模式主要分为以下三类&#xf…

图像处理之:Video Processing Subsystem(一)

免责声明&#xff1a; 本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下&#xff0c;作者不对因使用本文内容而导致的任何直接或间接损失承担责任&#xff0c;包括但不限于数据丢失、业务中断或其他经济…

ucharts图表滚动

背景&#xff1a; 使用ucharts绘制折线图&#xff0c;当数据项多的时候&#xff0c;横坐标显示的文字会重合&#xff0c;故想到滑动 项目代码使用的是原生的代码&#xff0c;而非ucharts的组件&#xff1a; <template><view><canvas canvas-id"chartsLi…

各类软件历史版本的下载地址

postman,notpad等 https://www.filehorse.com/software-developer-tools/https://www.filehorse.com/software-developer-tools/