数据恢复咨询热线:400-666-3702  

欢迎访问南京兆柏数据恢复公司,专业数据恢复15年

兆柏数据恢复公司

 行业新闻

 当前位置: 主页 > 行业新闻

oracle修复Oracle Log4j 漏洞修复及 AHF 的简单使用

浏览量: 次 发布日期:2023-08-11 21:27:06

作者 | JiekeXu来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Oracle Log4j 漏洞修复及 AHF 的简单使用 ,欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号,标星或置顶,更多干货第一时间到达!Apache Log4j 是一款开源的 Java 日志框架,被广泛地应用在中间件、开发框架与 Web 应用中,用来记录日志信息。漏洞描述:1. CVE-2021-44228,Apache Log4j 远程代码执行漏洞:2.0-beta9 <= Apache Log4j 2.x < 2.15.0,该漏洞利用难度低,严重 程度高,影响面非常大。2. CVE-2021-45046,Apache Log4j 拒绝服务与远程代码执行漏洞:2.0-beta9 <= Apache Log4j 2.x < 2.15.0。3. CVE-2021-4104,ApacheLog4j 1.2 JMSAppender 远程代码执行漏洞:Apache Log4j = 1.2。4. CVE-2021-45105,Apache Log4j2 拒绝服务漏洞:2.0-beta9 <= Apache Log4j <= 2.16.0。5. CVE-2021-44832,JDBCAppender 代码执行漏洞:2.0-beta7 <= Apache Log4j <= 2.17.0(注:只有 log4j-core jar 文件受此漏洞影响)。受影响版本 2.0 <= Apache Log4j 2.x <= 2.17.0。不受影响版本Apache Log4j 2.17.1 及以上版本(支持 Java 8 及以上)Apache Log4j 2.12.4(支持 Java 7)Apache Log4j 2.3.2(支持 Java 6)排查方法 检查是否使用 log4j,find / -name log4j*.jar(1)、检查部署包、部署环境中是否存在 log4j-core-2.x.jar 包,查看版本META-INF/MANIFEST.MF 文件下的 Implementation-Version 属性值。(2)、对于第三方包,Java JAR 解压后是否存在 org/apache/logging/log4j 相关路径结构,判断是否使用了存在漏洞的组件,若使用了,则极可能存在该漏洞。(3)、针对源码工程,查看依赖,查看是否存在 org.apache.logging.log4j 的 log4j-core。(4)、开源漏扫部署包。修复建议 1) 安全版本JDK8 及以上环境:升级到高阶版本:目前官方发布的 Apache log4j 2.17.1 及以上版本已修复上述漏洞。

JDK7 环境:升级至 Apache Log4j 2.12.4JDK6 环境:升级至 Apache Log4j 2.3.2

2) 缓释措施针对最严重的 CVE-2021-44228 漏洞, 在无法升级情况下,采用缓解措施:(1)添加 jvm 启动参数 -Dlog4j2.formatMsgNoLookups=true(2)在应用程序的 classpath 下添加 log4j2.component.properties 配置文件,文件内容:log4j2.formatMsgNoLookups=True(3)移除 log4j-core 包中 JndiLookup 类文件,并重启服务,具体命令:

接下来我们看数据库中 log4j 漏洞都存在那些地方,我们 find 查找一下。

兆柏数据恢复公司

如下所示,数据库没有打任何补丁,DB 版本为 19.3,而 log4j 版本有两个,一个为 TFA 所用的 2.9.1 版本,另一个为数据库实例目录下 2.11.0 的版本。

然后可以发现,在 grid 的家目录下 suptools 目录中同时存在 orachk、oratop、tfa 三种监控检查工具。

如果我们的数据库打了补丁,这里以 19c RAC 为例,11g 环境请自行测试。如果补丁版本过低,那么 GI 目录下的 log4j 已经不存在了,但是 AHF 框架下还存在 2.13.3 版本的受影响的 AHF,那么这种情况下可以采取继续更新高版本的 19c RU15-RU20 均可,也可以单独升级 AHF,后文有讲到如何升级。

那么,单机文件系统的Oracle 19c 呢(19.3 未打补丁的情况),在 tfa_home 目录下同样存在log4j-core-2.9.1.jar 受影响的版本,生产环境建议打补丁,补丁升级到 RU19.12 或 RU19.15 以上版本,单机环境补丁更新停机时间也就三十多分钟的样子,具体补丁升级方法可参考我以前写的文章:《RU15补丁更新》。当然你也可以尝试下载高版本的 log4j 文件通过软链接的形式来替换,下文中同样有讲到,你可以在测试环境中自行测试。

下面我们来插播一下 TFA 的简单使用情况。查看 TFA:Trace File Analyzer 状态和版本。

TFA 更多帮助命令

由此可以发现 tfactl 命令可以 |start|stop|print |toolstatus 等操作。

删除 180 天以前的自动诊断存储库日志和跟踪文件,参数 dryrun 先预估要删除的文件和释放的空间,然后去掉参数 dryrun 在执行删除。

当然也可以按照 gi 和 database 分别删除

查看目录使用情况

TFA 的更多实用操作请查看官方文档,这里不在演示了。

参考文档:https://docs.oracle.com/en/engineered-systems/health-diagnostics/autonomous-health-framework/ahfug/managing-and-configuring-tfa.html#GUID-CBF85753-9DCC-48BC-AA83-5CA2982ED0EB下载最新的 AHF (Autonomous Health Framework) Oracle自治运行状况框架,在 19c 后来的版本中,官方建议使用 AHF 来代替TFA 框架,所以这里我们直接下载最新的 AHF,MOS 文档Doc ID:1513912.1 可以下载,也可本公众号后台回复【AHF】获取此软件包。

1)上传此软件包到服务器 RAC1并解压

unzip AHF-LINUX_v23.6.0.zip -d AHF_23.6

2)安装AHF官方文档附录中给出了安装命令,我们可以参考,指定相关参数运行,也可以直接运行ahf_setup 命令(升级同样也是运行此命令),仅在节点1运行即可,安装或升级过程中需要输入节点 2 root 密码。

3)检查版本

4)删除 grid 用户下家目录 suptools 下所有的 log4j*.jar(如果存在)

我这里 grid 下的 log4j 已经被自动删除了,如果还存在,可以手动删除。/opt 显示的 log4j-core.jar 已经是符合要求的版本了,至于 db目录 property_graph 下的这个需要打补丁,然后会自动删除这个文件。这里我做一个大胆的尝试,直接删除这个文件然后重启主机,看看数据库能不能正常启动(PS:生产环境不建议这么玩,推荐 RU 补丁更新),当然也可以删除这两个文件后使用高版本的 log4j-core 对其做一个软链接指向低版本的 log4j。

重启后检查数据库状态,这里数据库一切正常。

AHF 卸载 使用 root 用户或者安装者用户执行 tfactl 或 ahfctl uninstall命令卸载,首先要停止 ORAchk,然后停止 TFA,最后删除 AHF 安装目录 /opt/oracle.ahf。Running the command: Stops Oracle ORAchkStops Oracle Trace File AnalyzerDeletes the Oracle Autonomous Health Framework installation directory

AHF 常用命令

获取 CPU 内存资源限制ahfctl getresourcelimit限制 CPU 核数为 2ahfctl setresourcelimit -value 2限制内存使用 500Mahfctl setresourcelimit -resource kmem -value 500限制内存和 SWAP内存总和为 1024Mahfctl setresourcelimit -resource swmem -value 1024分析所有错误信息(包括数据库 ORA错误和 GI错误)tfactl analyze -type error同样,也可以使用 tfactl 来清理诊断日志tfactl purge -older 30d

更多使用命令请查看官方文档,这里不在演示。最后,花一点儿时间来简单说一下 OGG log4j 漏洞,正常 ogg19c 以上版本中是不存在此漏洞的,但我这里还有Oracle GoldenGate for Big Data Version 12.3.2.1.1 的版本,此版本同样使用了 log4j-core-2.9.1.jar 的包。同样解决此漏洞可以打补丁,也可以升级 OGG 更可以使用高版本的OGG,只不过这三种办法均不常用,一般也很少有人使用,我这里大胆一些,在测试环境中我直接删除了 log4j-core-2.9.1.jar 这个包,服务均可正常使用,安全稳定运行一年多时间,生产环境中我使用高版本软链接的方式替换这个包,也已经安全稳定运行一周了。如下是操作过程:

全文完,希望可以帮到正在阅读的你,如果觉得此文对你有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~

欢迎关注我的公众号【JiekeXu DBA之路】,第一时间一起学习新知识!以下三个地址可以找到我,其他地址都属于盗版侵权爬取我的文章,而且代码格式、图片等均有错乱,不方便阅读,欢迎来我公众号或者墨天轮地址关注我,第一时间收获最新消息。

欢迎关注我的公众号【JiekeXu DBA之路】,第一时间一起学习新知识!

————————————————————————————公众号:JiekeXu DBA之路CSDN :https://blog.csdn.net/JiekeXu墨天轮:https://www.modb.pro/u/4347————————————————————————————

Linuxoracle修复 环境 oracle修复搭建 MySQL8.0.28 主从同步环境


重要数据丢失请联系兆柏数据恢复公司
相关推荐

. oracle11g修复,Oracle 11g TNS-12545错误排查与修复指南

. 控制器坏了如何修复视频,控制器故障排查与视频修复技巧解析

. 磁盘阵列坏了怎么修复啊,RAID磁盘阵列故障诊断与修复全攻略

. 戴尔笔记本硬盘损坏怎么办,戴尔笔记本硬盘故障排查与修复指南

. 数据恢复中心有哪些,揭秘硬盘故障与数据丢失的解决方案n2. 硬盘数据恢复攻略:数据恢

. 戴尔笔记本硬盘损坏修复,戴尔笔记本硬盘故障排查与修复指南

. oracle数据库数据恢复,Oracle数据库数据恢复策略与实战指南

. 硬盘数据恢复修复团队,硬盘数据恢复修复团队的专业守护

. 硬盘数据恢复维修培训,掌握数据拯救与设备修复的奥秘

. 硬盘数据恢复后文件损坏怎么办,硬盘数据恢复后文件损坏的应对策略与修复方法

. 联想电脑硬盘坏了怎么办,诊断与修复策略

. oracle数据文件损坏 怎么恢复,全面解析与实操步骤

. 机械硬盘怎么修复数据,全面解析故障处理与数据恢复技巧

. 西部数据移动硬盘维修网点,专业数据恢复与故障修复服务

. 电脑硬盘数据恢复原理,从文件系统到物理修复的全方位解析

. oracle数据库收费标准,全面了解授权模式与费用构成

. oracle数据库官网,深入探索Oracle数据库官网——您的数据库学习与资源宝库

. oracle快照恢复数据,高效的数据保护与恢复策略

. 硬盘坏了怎么修复,硬盘坏了怎么办?数据恢复与修复指南

. oracle数据库导入dmp,Oracle数据库导入dmp文件详解