Tomcat部署java项目,反馈漏洞CVE-2005-4900: TLS SHA-1 安全漏洞(中危) *

 根据项目反馈漏洞处理,修复部署SSL证书时反馈TLS1.2版本漏洞:

漏洞描述如下:

漏洞类型:密码学问题

漏洞描述:
TLS (全称 Transport Layer Security,安全传输层 协议)是一套用于在两个通信应用程序之间提供 保密性和数据完整性的协议。 TLS 1.2 版本中的 SHA-1 存在安全漏洞。上下文相关的攻击者可利 用该漏洞实施欺骗攻击。
漏洞危害:
攻击者可在没有认证的情况下直接操作对应的 API 接口,可直接被非法增删改查数据。且因
为攻击是在未认证下进行的,所以后续无法通过 定位用户进行异常排查。
修复方案:
1 、使用行业认证的强加密算法,如 AES,避免 使用已被破解或不安全的算法。
2、定期更新和更换密钥,采用安全的密钥管理 和存储机制。
3、确保加密强度足够,避免使用弱密码或短密 钥。
4、对敏感数据进行完整性校验和认证加密,确 保数据在传输和存储过程中的安全性。
本项目使用的是tomcat8.5
经过多方查找,最终定位在tomcat配置证书时未做定向指定,下面是处理方式(配置证书请自行搜索解决,这里只说明解决漏洞);
1、在部署的tomcat中找到conf/server.xml
2、修改证书配置属性,这里主要修改了SSLProtocol和ciphers
	<Connector port="443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="域名" ><SSLHostConfig hostName="域名" SSLProtocol="TLSv1.3" ciphers="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE:!DES"><Certificate certificateKeystoreFile="cert/域名对应生成的jks文件.jks" certificateKeystorePassword="生成jks证书密码" type="RSA" /></SSLHostConfig></Connector>

完整的server.xml配置如下(原配置注释内容已删除,为了减少滚动查看):

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN"><Listener className="org.apache.catalina.startup.VersionLoggerListener" /><!-- Security listener. Documentation at /docs/config/listeners.html<Listener className="org.apache.catalina.security.SecurityListener" />--><!--APR library loader. Documentation at /docs/apr.html --><Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /><!-- Prevent memory leaks due to use of particular java/javax APIs--><Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /><Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /><Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /><GlobalNamingResources><Resource name="UserDatabase" auth="Container"type="org.apache.catalina.UserDatabase"description="User database that can be updated and saved"factory="org.apache.catalina.users.MemoryUserDatabaseFactory"pathname="conf/tomcat-users.xml" /></GlobalNamingResources><Service name="Catalina"><Connector port="80" protocol="HTTP/1.1"connectionTimeout="20000" maxHttpHeaderSize="8999"redirectPort="8443" /><Connector port="443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="域名" ><SSLHostConfig hostName="域名" SSLProtocol="TLSv1.3" ciphers="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE:!DES"><Certificate certificateKeystoreFile="cert/域名对应生成的jks文件.jks" certificateKeystorePassword="生成jks证书密码" type="RSA" /></SSLHostConfig></Connector><!-- Define an AJP 1.3 Connector on port 8009 --><Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /><Engine name="Catalina" defaultHost="localhost"><Realm className="org.apache.catalina.realm.LockOutRealm"><Realm className="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/></Realm><Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b" /></Host></Engine></Service>
</Server>

配置完成后使用openssl进行测试查看;

安装openssl参考:win10 安装openssl并使用openssl创建自签名证书_win10 openssl-CSDN博客

查看测试证书信息名:Windows中使用cmd命令(如果提示openssl不是内部命令,请参考上面安装连接讲解);

openssl s_client -connect 域名:443 -tls1_2
openssl s_client -connect 域名:443 -tls1_3

部分查看信息如下图:

至此反馈漏洞问题已修复;官方反馈可以升级tomcat版本来进行修复,因项目特殊,暂不允许升级tomcat版本;故采取此方法修复,希望可以帮助到遇到该问题的老铁.

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

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

相关文章

C++学习日记 | Lecture 11 类的动态内存管理

资料来源&#xff1a;南科大 余仕琪 C/C Program Design LINK&#xff1a; CPP/week11 at main ShiqiYu/CPP GitHub11.1-some-default-operations_哔哩哔哩_bilibili11.2-an-example-with-dynamic-memory_哔哩哔哩_bilibili11.3-solution1-hard-copy_哔哩哔哩_bilibili11.4…

vant +vite 设计稿是750,postCssPxToRem如何配置

废话不多说直接上代码&#xff1a; 在vite.config.ts 中配置&#xff1a; css: {postcss: {plugins: [postCssPxToRem({rootValue({ file }) {if (file && file.indexOf(vant) ! -1) {return 37.5}return 75},propList: [*]})]},}, 详细配置可看官网&#xff1a; 官…

豆包MarsCode体验有京东卡和现金

https://www.marscode.cn/events/s/iBpts1oT/ 先登录注册 然后到VSCODE里&#xff0c;在最左侧导航栏处看到EXTEBSIONS点一下&#xff08;快捷键CtrlShiftX&#xff09;&#xff0c;然后搜索MarsCode&#xff0c;并安装插件。 安装后登录体验一次问答即可。然后回到活动页即…

信息学奥赛复赛复习16-CSP-J2022-01乘方-循环特判、pow函数、快速幂

PDF文档回复:20241012 此前解析题&#xff0c;P8813 [CSP-J 2022] 乘方&#xff0c;给出了循环的解题思路&#xff0c;当时在洛谷提交是通过的&#xff0c;后台收到留言&#xff0c;a1,b1e9会炸吧&#xff1f;&#xff0c;确实啊整除要求1s内循环次数最大可以到10^7,现在测试数…

AI绘图如何变现,看完这篇保姆级教程,你也会了!

哈喽&#xff0c;各位小伙伴们&#xff01;今天我要给你们送上我正在捣鼓的AI绘画商业项目的超详细指南。这份指南就像是个超级保姆&#xff0c;专门照顾你的AI绘画项目&#xff0c;让你省心省力。重点在于那些实用的技术细节&#xff0c;我保证你一看就能明白。 让我们带着你…

Python 如何处理数据库事务

Python 如何处理数据库事务 数据库事务是指一组操作要么全部执行成功&#xff0c;要么全部回滚的过程。事务是确保数据库一致性的重要手段&#xff0c;特别是在处理需要多步操作的场景时&#xff0c;能够避免部分数据成功更新而部分数据失败的情况。本文将详细介绍什么是数据库…

关于Amazon Linux 2023的版本及包管理器

在亚马逊上创建EC2实例时&#xff0c;会看到有一个Amazon Linux镜像。 那这个镜像与其他Linux有什么关系和区别呢&#xff1f; 网站是介绍&#xff1a;Amazon Linux 2023 是基于 Linux 的现代化通用操作系统&#xff0c;提供 5 年的长期支持。它针对 AWS 进行了优化&#xff0…

【Python】 列表解析 语法 实例展示 说明统统一顿明白!!!

列表解析 根据已有列表&#xff0c;高效创建新列表的方式。 列表解析是Python迭代机制的一种应用&#xff0c;它常用于实现创建新的列表&#xff0c;因此用在[]中。 语法&#xff1a; [expression for iter_val in iterable] [expression for iter_val in iterable if con…

代码注释,是程序员的美德还是无能的表现?

前言 嗨&#xff0c;大家好&#xff01; 今天咱们来聊聊一个老生常谈但又永远不过时的话题 —— 代码注释。 你是不是也经历过这样的时刻&#xff1a;打开一段陌生的代码&#xff0c;就像进入了迷宫一样找不到北&#xff1f;这时候&#xff0c;一个好的注释简直就是你的指路…

飞机大战ai通过dqn实现

借鉴 飞机大战源码 github 王者荣耀ai训练(试了一下&#xff0c;发现电脑带不动&#xff0c;就改了一点&#xff0c;训练其他游戏) 源码 通过网盘分享的文件&#xff1a;PlaneWar (2).zip [链接]&#xff08;https://pan.baidu.com/s/1N4OorR7b36Zml8MadGmI6g?pwd1234&#xf…

第十六章 RabbitMQ延迟消息之延迟插件优化

目录 一、引言 二、优化方案 三、核心代码实现 3.1. 生产者代码 3.2. 消息处理器 3.3. 自定义多延迟消息封装类 3.4. 订单实体类 3.5. 消费者代码 四、运行效果 一、引言 上一章节我们提到&#xff0c;直接使用延迟插件&#xff0c;创建一个延迟指定时间的消息&…

晶体匹配测试介绍

一、晶体参数介绍 晶体的电气规格相对比较简单,如下: 我们逐一看看每个参数, FL就是晶体的振动频率,这个晶体是24.576MHz的。 CL就是负载电容,决定了晶体频率是否准确,包括外接的实际电容、芯片的等效电容以及PCB走线的寄生电容等,核心参数。 Frequency Tolerance是…

堆排序(C++实现)

参考&#xff1a; 面试官&#xff1a;请写一个堆排序_哔哩哔哩_bilibiliC实现排序算法_c从小到大排序-CSDN博客 堆的基本概念 堆排实际上是利用堆的性质来进行排序。堆可以看做一颗完全二叉树。 堆分为两类&#xff1a; 最大堆&#xff08;大顶堆&#xff09;&#xff1a;除根…

Deep tone mapping network in HSV color space

Abstract 色调映射算子可以将高动态范围(HDR)图像转换为低动态范围(LDR)图像&#xff0c;这样我们就可以用LDR设备享受HDR图像的信息内容。然而&#xff0c;目前的色调映射算法主要关注亮度映射&#xff0c;而忽略了颜色分量。与此同时&#xff0c;它们经常遭受光晕伪影和过度…

IaaS,PaaS和SaaS的区别讲解

IaaS、PaaS和SaaS有什么区别吗&#xff1f;这三个概念非常简单。 只不过在说它们仨的区别前&#xff0c;有个常识需要知道一下&#xff1a; 我们传统开发一个软件&#xff0c;需要9个东西&#xff1a; 作为使用软件的人&#xff0c;左边的【应用】和【数据】&#xff0c;是离…

Django的请求与响应

Django的请求与响应 1、常见的请求2、常见的响应3、案例 1、常见的请求 函数的参数request是一个对象&#xff0c;封装了用户发送过来的所有请求相关数据。 get请求一般用来请求获取数据&#xff0c;get请求也可以传参到后台&#xff0c;但是传递的参数显示在地址栏。 post请求…

企业内部文档安全外发如何挑选合适的外发系统?

企业文档的外发不仅关系到运营效率&#xff0c;更是信息安全的重要组成部分。面对B2B模式下文档交换的普遍性和重要性&#xff0c;企业内部文档的安全外发成为了众多公司关注的重点之一。 随着互联网技术的发展&#xff0c;企业之间的合作越来越紧密&#xff0c;文档的交流也变…

Java Agent 技术解析

什么是Java Agent Java Agent是在 JDK1.5 引入的一种可以动态修改 Java 字节码的技术。Java 类编译之后形成字节码被 JVM 执行&#xff0c;在 JVM 在执行这些字节码之前获取这些字节码信息&#xff0c;并且通过字节码转换器对这些字节码进行修改&#xff0c;来完成一些额外的功…

第十四章:收尾过程组(14.1结束项目或阶段--14.2收尾过程组重点工作)

14.1 结束项目或阶段 过程定义&#xff1a;终结项目、阶段或合同的所有活动的过程 14.1.1 主要输入 1.项自章程 项目章程记录了项目成功标准、审批要求&#xff0c;以及由谁来签署项目结束 2.项目管理计划 项目管理计划的所有组成部分均为结束项目或阶段过程的输入。 3.项…

【视觉分割新SOTA|论文解读1】一种最先进的图像分割模型——Segment Anything Model (SAM)

【视觉分割新SOTA|论文解读1】一种最先进的图像分割模型——Segment Anything Model (SAM) 【视觉分割新SOTA|论文解读1】一种最先进的图像分割模型——Segment Anything Model (SAM) 文章目录 【视觉分割新SOTA|论文解读1】一种最先进的图像分割模型——Segment Anything Mod…