SSL/TLS类安全漏洞及SLB安全漏洞问题

news2025/1/12 3:54:02

SSL/TLS类安全漏洞及SLB安全漏洞问题

    • 1 : 问题背景
        • 1.1、SSL/TLS类漏洞-Sweet32 攻击
        • 1.2、SSL/TLS类漏洞-弱密码套件
    • 2 : 解决思路
        • 2.1、学习SSL/TLS是什么
        • 2.2、安装检测工具
        • 2.3、升级OpenSSL
        • 2.4、调整加密算法
    • 3 : 总结
        • 3.1、比较环境的不同
        • 3.2、解决该问题
        • 3.3、相关资源

1 : 问题背景

在项目正常运转过程中,安全部发来一个安全报告,两个中危,裂开了。。。

1.1、SSL/TLS类漏洞-Sweet32 攻击

Sweet32 攻击是一个 SSL/TLS 漏洞,允许攻击者使用 64 位分组密码破坏 HTTPS 连接。
在这里插入图片描述

具体涉及套件:
Cipher suites susceptible to Sweet32 attack (TLS1.0 on port 443):
TLS_RSA_WITH_3DES_EDE_CBC_SHA
解决方案:重新配置受影响的 SSL/TLS 服务器以禁用对废弃 64 位分组密码的支持。

1.2、SSL/TLS类漏洞-弱密码套件

远程主机支持带弱或不安全属性的 TLS/SSL 密码套件。
在这里插入图片描述

具体涉及套件:
Weak TLS/SSL Cipher Suites: (offered via TLS1.2 on port 443):
TLS_RSA_WITH_3DES_EDE_CBC_SHA (Medium strength encryption algorithm (3DES).)
解决方案:重新配置受影响的应用程序以避免使用弱密码套件。

2 : 解决思路

2.1、学习SSL/TLS是什么

额,网上有很多解释,简单来说呢,就是应用程序之间提供身份认证和数据加密的加密协议。也可以说加密算法之类的吧。
参考链接:TLS与SSL之间关系:https://www.cnblogs.com/bonelee/p/10384442.html

2.2、安装检测工具

下载nmap-7.93-setup.exe,双击安装。资源可从网上下载,也可在文末自取。
一键到底安装。
安装好之后,Win + R 输入 cmd,假设要检测的域名是 xxx.com
输入:nmap -sV --script ssl-enum-ciphers -p 443 xxx.com
即可。如图就是没问题的
在这里插入图片描述

2.3、升级OpenSSL

查阅资料,发现需要升级OpenSSL,大概意思是高版本的会默认禁用该加密套件。

1. 确认当前版本,检查是否需要升级
openssl version
2. 备份旧版本文件
mv /usr/bin/openssl /usr/bin/openssl_back
3. 创建新目录 进行安装
cd /usr/local/openssl
4. 将压缩包(openssl-1.1.1.tar.gz)放置该/usr/local/openssl路径下
压缩包链接可从网上下载,也可在文末自取。
5. 解压安装包(openssl-1.1.1.tar.gz)
tar -zxvf openssl-1.1.1.tar.gz 
6. 进入解压文件  
cd  /usr/local/openssl/openssl-1.1.1
分别执行下面两个命令
./config --prefix=/usr/local/openssl   #如果此步骤报错,需要安装perl以及gcc包
make && make install
7. 创建软连接(分别执行一下三个命令)
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
8. 查看版本
openssl version

版本 1.1.1 及以上,就说明升级成功。

[root@80_19 ~]# openssl version
OpenSSL 1.1.1  11 Sep 2018

为了让nginx和OpenSSL匹配,于是找到了这个网站,只不过没用到而已。
参考链接:自动生成nginx配置:https://ssl-config.mozilla.org/#server=nginx&version=1.15.8.3&config=intermediate&openssl=1.1.1&guideline=5.6

于是乎,带着期待的心情验证生产环境,但生产环境仍是下面这种样子,可惜可惜。
在这里插入图片描述

2.4、调整加密算法

由于升级OpenSSL不行,不能通过高版本禁用加密算法。
无非就是禁止某些加密算法套件而已嘛,知道是啥意思了,那就开始手动禁用吧。

查阅资料,这个说的好像跟我们这个一模一样啊,开整吧。
参考链接:禁用3DES和DES弱加密算法,保证SSL证书安全:https://huaweicloud.csdn.net/637ee66adf016f70ae4c909f.html
既然要改nginx,那再参考参考吧
参考链接:Nginx 安全优化:https://blog.csdn.net/IT_ZRS/article/details/124459610

老规矩,测试环境先整。
修改nginx配置,增加配置
ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA;

然后在参数 ssl_ciphers 后增加和减去 DES-CBC3-SHA,观察效果。
如果在添加上 DES-CBC3-SHA 时,会出现那个C的漏洞。
在去掉 DES-CBC3-SHA 时,也就意味着手动禁用,就不会出现漏洞。

于是乎,再次带着期待的心情验证生产环境,但生产环境仍是下面这种样子,可惜可惜。
在这里插入图片描述

3 : 总结

3.1、比较环境的不同

测试环境,域名直接打到nginx上,所以在nginx的配置上修改TSL相关配置,都可以直接在域名中体现,手动设置1.2并排除DES-CBC3-SHA加密算法套件,就可以解决改问题。(2.4可以印证)。
生产环境,开了阿里云的SLB,这导致域名并非直接打到nginx上。
域名先打到SLB上,然后SLB在负载到nginx上,于是基于这种机制,对于nginx的修改,并不会对域名相关的漏洞有影响。
不同点:SLB

参考链接:官网TLS安全策略说明:https://help.aliyun.com/document_detail/90740.html
在这里插入图片描述
上图可以看到SLB的TLSv1.2支持的算法加密套件中有 DES-CBC3-SHA
也就是导致安全漏洞的原因所在了。

3.2、解决该问题

在解决问题的过程中,发现了下面这个链接
参考链接:阿里云的SLB的安全漏洞–TLS弱密码加密算法漏洞:https://blog.csdn.net/m0_37268841/article/details/90715374
额,就很烦,如果早点看到这个链接,能少走很多的弯路啊。

为了解决问题,我们甚至要升级对java8并不友好的 TLSv1.3了,不过改动还挺大,就算了吧
参考链接:Java8支持TLSv1.3协议请求:https://blog.csdn.net/devzyh/article/details/122074632

解决该问题的方式:
方式一(推荐):
使用自定义的加密算法套件,然后在自定义的加密算法套件中,禁止 DES-CBC3-SHA 加密算法套件。
方式二(比较难):
如果你足够牛*的话,就找阿里云,让他们针对你们的服务来去处理该加密算法套件。
方式三(不推荐):
升级TLS版本,不过1.3的版本对Java8并不是很支持,要全系统测试一遍,代价比较大,还比较麻烦。

3.3、相关资源

OpenSSL:https://pan.baidu.com/s/1RNsZojB45uZHGyVqyJjrjQ?pwd=3vya
提取码: 3vya
nmap-7.93-setup:https://pan.baidu.com/s/1zTax5nI8whstaFqYnmqQ0A?pwd=aviv
提取码: aviv
nmap-7.93-setup: https://download.csdn.net/download/qq_38254635/87349350

有什么不对的还望指正,书写不易,觉得有帮助就点个赞吧!

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

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

相关文章

创建进程与进程地址空间

目录 创建进程 进程地址空间 为什么要用虚拟地址呢? 什么是进程地址空间? 为什么要写时拷贝呢? 创建进程 前面提到使用fork可以创建子进程,现在介绍fork创建子进程的细节。 fork创建子进程的时候,子进程的内核数…

如何给公司内网搭建一个专用的DNS服务器?

如何给公司内网搭建一个专用的DNS服务器? 引言 平时做域名解析,一般直接修改的/etc/hosts文件。对于服务器数量小的情况完全可以,但是如果服务器数量较多,每个都修改比较麻烦。 DNS是作为域名解析。在实际的生产过程中&#xff…

基于ASP.NET C#的服装商城管理系统

摘 要 本毕业设计的内容是设计并且实现一个基于net语言的服装商城管理系统。它是在Windows下,以SQL Server为数据库开发平台,服装商城管理系统的功能已基本实现,主要包括用户、服装信息、通知公告、留言板、订单信息等。 论文主要从系统的分…

飞腾FT-2000/4处理器+复旦微FPGA+国产操作系统解决方案(2)

XM-1104飞腾核心处理主板 ▶体积小、功耗低、高性能。 ▶功能接口多样化,采用高密度连接器,抗震效果好。 ▶成本低,扩展性强,根据用户的需求定制各种底板。 ▶产品灵活,便于维护,生命周期长。 指标 参数 …

SuperMap GIS地质体数据处理QA

作者:hyy 一、地质体数据简介 什么是三维地质建模?百度上给出的解析是:将地质、测井、地球物理资料和各种解释结果或者概念模型综合在一起生成的三维定量随机模型。 已建成的地质模型可以为我们提供很多信息。首先是地质的三维可视化。通过三维可视化&…

量子计算机:一场改变世界的开发竞赛

这样的设备可能会帮助解决气候变化和粮食短缺问题,也可能破坏互联网。在这场竞赛中,美国和中国谁会先到达目标? 神秘的机器 在加利福尼亚州圣巴巴拉的郊区,在果园和大海之间,坐落着一个不起眼的仓库,它的窗…

【区块链 | EVM】深入理解学习EVM - 深入Solidity数据存储位置

目录 目录 简介 EVM是一个工业工厂 为什么要在 Solidity 中理解 Evm 数据位置? 数据位置 → 概述 存储 内存 Calldata 堆栈(Stack) 代码 数据位置 - 规则 变量的默认位置 参考类型 在函数参数上的规则 在函数体内的规则 内存…

使用 QuTrunk+Amazon ParallelCluster3 进行并行计算

1.丘秉宜;2.邵伟;3.黄文;4.郭梦杰;5.刘利;6.刘波 1.亚马逊云科技 Hero;2.启科开发者生态负责人;3.启科 DEVOPS 工程师;4.启科量子资深研发工程师;5和;6.C高级…

Linux运维之knockd部署

如果你有一台公众可访问的服务器,黑客可以轻松扫描其IP地址,查找服务器上的开放端口(尤其是用于SSH的端口22)。将服务器隐藏起来、不让黑客看见的一种方法是使用knockd。knockd是一种端口试探服务器工具。它侦听以太网或其他可用接口上的所有流量&#x…

以代码绘制圣诞,过快乐圣诞节!

2022年圣诞节 12月25日 星期日 圣诞节的由来 基督教纪念耶稣诞生的重要节日。亦称耶稣圣诞节、主降生节,天主教亦称耶稣圣诞瞻礼。耶稣诞生的日期,《圣经》并无记载。公元336年罗马教会开始在12月25日过此节。12月25日原是罗马帝国规定的太阳神诞辰。有人…

百度百科怎么创建的?百度百科创建技巧分享

百度百科的创建并没有那么简单,虽然百度百科人人都可以编辑,我们在网上一搜就会出来很多相关的百科创建步骤,但是当你真的按照这些步骤去做的时候,就会出现很多问题,导致根本通不过。 百度百科怎么创建的?实…

ArcGIS基础实验操作100例--实验2平移矢量要素

实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 基础编辑篇--实验2 平移矢量要素 目录 一、实验背景 二、实验数据 三、实验步骤 (1)加载【Move】工具 (2)平移矢量要素 一、…

rocketmq搭建启动集成springboot落地并监控

目录 一、rocketmq服务器搭建启动: 二、springboot 集成rocketmq落地: 三、可视化页面集成: rocketmq是最近很流行的消息中间件,有很多的优点,比如多个topic也不会引起性能问题;今天我们开始搭建启动集成…

这5个素材库,新手也能让你做出精美的 PPT。

高质量免费PPT模板,各种PPT素材都有,文案模板直接套用,还有教程学习,对新手特别友好。1、菜鸟图库 https://www.sucai999.com/pptx.html?vNTYwNDUx网站有各种主题的PPT模板,工作总结、教育课件、述职汇报、节日庆典、…

美颜sdk中的人脸美型实现流程详解

在之前的文章中,小编讲了许多美颜sdk的功能实现流程,有一些是热门功能,例如美白、磨皮等,但是有一个功能小编遗漏没有讲到,虽然不常提起,但是它的热度并不低,这个功能就是——“人脸美型”。本篇…

一文解析Linux中断子系统softirq和tasklet

说明: Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio 1. 概述 中断子系统中有一个重要的设计机制,那就是Top-half和Bottom-half,将紧急的工作放…

电子招标采购系统—企业战略布局下的采购寻源

​ 智慧寻源 多策略、多场景寻源,多种看板让寻源过程全程可监控,根据不同采购场景,采取不同寻源策略, 实现采购寻源线上化管控;同时支持公域和私域寻源。 询价比价 全程线上询比价,信息公开透明&#xff0c…

嵌入式Linux内核开发必须了解的三十道题

Linux的同步机制从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Linux从单处理器到对称多处理器的过渡。 伴随着从非抢占内核到抢占内核的过度。Linux的锁机制越来越有效,也…

C# 基于文本的应用 正则表达式

一 基于文本的应用 1 控制台应用程序 2 Main()函数的参数-命令行参数 ① Main()函数可以带string[]参数; ② Main()函数可以有返回值(int),也可以为void; 二 使用Environment类 CommandLine CommandLineArgs MachineName OSVersion UserDomainName UserName …

Python使用re库处理正则详解

今天继续给大家介绍Python相关知识,本文主要内容是Python使用re库处理正则详解。 一、Python re库简介 re库是Python的标准库(所谓标准库,就是在安装Python后就自动安装了的库)之一,主要用于对指定字符串进行正则匹配…