
大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Oracle Log4j 漏洞修复及 AHF 的简单使用 ,欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号,标星或置顶,更多干货第一时间到达!
Log4j 简介
受影响版本
排查方法
修复建议
https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.17.1

zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
接下来我们看数据库中 log4j 漏洞都存在那些地方,我们 find 查找一下。
[root@test19crac1 ~]# find /u01 -name log4j*.jar/u01/app/19c/grid/suptools/tfa/release/tfa_home/jlib/log4j-api-2.9.1.jar/u01/app/19c/grid/suptools/tfa/release/tfa_home/jlib/log4j-core-2.9.1.jar/u01/app/19c/grid/tfa/test19crac1/tfa_home/jlib/log4j-api-2.9.1.jar/u01/app/19c/grid/tfa/test19crac1/tfa_home/jlib/log4j-core-2.9.1.jar/u01/app/oracle/product/19c/db_1/suptools/tfa/release/tfa_home/jlib/log4j-api-2.9.1.jar/u01/app/oracle/product/19c/db_1/suptools/tfa/release/tfa_home/jlib/log4j-core-2.9.1.jar/u01/app/oracle/product/19c/db_1/md/property_graph/lib/log4j-jcl-2.11.0.jar/u01/app/oracle/product/19c/db_1/md/property_graph/lib/log4j-slf4j-impl-2.11.0.jar/u01/app/oracle/product/19c/db_1/md/property_graph/lib/log4j-api-2.11.0.jar/u01/app/oracle/product/19c/db_1/md/property_graph/lib/log4j-core-2.11.0.jar


[oracle@test19crac2 ~]$ $ORACLE_HOME/OPatch/opatch versionOPatch Version: 12.2.0.1.17 OPatch succeeded.[oracle@test19crac2 ~]$ $ORACLE_HOME/OPatch/opatch lspatches29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)29517242;Database Release Update : 19.3.0.0.190416 (29517242) OPatch succeeded.
[root@test19crac1 suptools]# cd /u01/app/19c/grid/suptools[root@test19crac1 suptools]# lsorachk oratop tfa



/u01/app/oracle/product/19.0.0/dbhome_1/suptools/tfa/release/tfa_home/jlib
TFA 使用简介

TFA 更多帮助命令
[grid@test19crac2 ~]$ tfactl --helpWARNING - TFA Software is older than 180 days. Please consider upgrading TFA to the latest version.Unknown option: -help Usage : /u01/app/19c/grid/bin/tfactl[options] commands:diagcollect|collection|analyze|ips|run|start|stop|print|directory|toolstatus|setupmos|upload|events|search|changesFor detailed help on each command use: /u01/app/19c/grid/bin/tfactl -help tfactl>
由此可以发现 tfactl 命令可以 |start|stop|print |toolstatus 等操作。

/u01/app/19c/grid/bin/tfactl managelogs -purge -older 180d -dryrun
当然也可以按照 gi 和 database 分别删除
$ tfactl managelogs -purge -older 30d$ tfactl managelogs -purge -older 30d –gi$ tfactl managelogs -purge -older 30d -database
查看目录使用情况
$ tfactl managelogs -show usage$ tfactl managelogs -show usage –gi$ tfactl managelogs -show usage -database

/u01/app/19c/grid/bin/tfactl managelogs -purge -older 30d -gi/u01/app/19c/grid/bin/tfactl managelogs -show usage -gi

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
TFA 升级

1)上传此软件包到服务器 RAC1并解压
unzip AHF-LINUX_v23.6.0.zip -d AHF_23.6

2)安装AHF

./ahf_setup[-ahf_loc AHF Location][-data_dir AHF Repository][-nodes node1,node2][-extract[orachk|exachk|-notfasetup]][-force][-local][-silent][-tmp_loc directory][-debug [-level 1-6]]


[root@test19crac1 AHF_23.6]# ./ahf_setupAHF Installer for Platform Linux Architecture x86_64AHF Installation Log : /tmp/ahf_install_236000_26649_2023_07_31-10_51_26.logStarting Autonomous Health Framework (AHF) InstallationAHF Version: 23.6.0 Build Date: 202306301433TFA is already installed at : /u01/app/19c/grid/tfa/test19crac1/tfa_homeInstalled TFA Version : 183300 Build ID : 20190315044534Default AHF Location : /opt/oracle.ahfDo you want to install AHF at [/opt/oracle.ahf] ? [Y]|N : YAHF Location : /opt/oracle.ahfAHF Data Directory stores diagnostic collections and metadata.AHF Data Directory requires at least 5GB (Recommended 10GB) of free space.Choose Data Directory from below options :1. /u01/app/grid [Free Space : 5701 MB]2. Enter a different LocationChoose Option [1 - 2] : 1AHF Data Directory : /u01/app/grid/oracle.ahf/dataShutting down TFA : /u01/app/19c/grid/tfa/test19crac1/tfa_homeCopying TFA Data Files from /u01/app/19c/grid/tfa/test19crac1/tfa_homeUninstalling TFA : /u01/app/19c/grid/tfa/test19crac1/tfa_homeDo you want to add AHF Notification Email IDs ? [Y]|N : NAHF will also be installed/upgraded on these Cluster Nodes :1. test19crac2The AHF Location and AHF Data Directory must exist on the above nodesAHF Location : /opt/oracle.ahfAHF Data Directory : /u01/app/grid/oracle.ahf/dataDo you want to install/upgrade AHF on Cluster Nodes ? [Y]|N : YExtracting AHF to /opt/oracle.ahfConfiguring TFA ServicesCopying TFA Data Files to AHFDiscovering Nodes and Oracle ResourcesStarting TFA ServicesCreated symlink from /etc/systemd/system/multi-user.target.wants/oracle-tfa.service to /etc/systemd/system/oracle-tfa.service.Created symlink from /etc/systemd/system/graphical.target.wants/oracle-tfa.service to /etc/systemd/system/oracle-tfa.service..--------------------------------------------------------------------------------.| Host | Status of TFA | PID | Port | Version | Build ID |+-------------+---------------+-------+------+------------+----------------------+| test19crac1 | RUNNING | 34212 | 5000 | 23.6.0.0.0 | 23600020230630143300 || test19crac2 | RUNNING | 10468 | 5000 | 18.3.3.0.0 | 18330020190315044534 |'-------------+---------------+-------+------+------------+----------------------'Running TFA Inventory...Adding default users to TFA Access list....------------------------------------------------------------------.| Summary of AHF Configuration |+-----------------+------------------------------------------------+| Parameter | Value |+-----------------+------------------------------------------------+| AHF Location | /opt/oracle.ahf || TFA Location | /opt/oracle.ahf/tfa || Orachk Location | /opt/oracle.ahf/orachk || Data Directory | /u01/app/grid/oracle.ahf/data || Repository | /u01/app/grid/oracle.ahf/data/repository || Diag Directory | /u01/app/grid/oracle.ahf/data/test19crac1/diag |'-----------------+------------------------------------------------'Starting Orachk Scheduler from AHFSetting up AHF CLI and SDKAHF install completed on test19crac1Installing AHF on Remote Nodes :AHF will be installed on test19crac2, Please wait.AHF will prompt twice to install/upgrade per Remote Node. So total 2 promptsDo you want to continue Y|[N] : YAHF will continue with Installing on remote nodesInstalling AHF on test19crac2 :[test19crac2] Copying AHF Installerroot@test19crac2's password:[test19crac2] Running AHF Installerroot@test19crac2's password:AHF binaries are available in /opt/oracle.ahf/binAHF is successfully installedDo you want AHF to store your My Oracle Support Credentials for Automatic Upload ? Y|[N] : NMoving /tmp/ahf_install_236000_26649_2023_07_31-10_51_26.log to /u01/app/grid/oracle.ahf/data/test19crac1/diag/ahf/[root@test19crac1 AHF_23.6]#
3)检查版本
[root@test19crac1 AHF_23.6]# ahfctl version[root@test19crac1 AHF_23.6]# tfactl version[root@test19crac1 AHF_23.6]# tfactl status

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

cp /u01/app/oracle/product/19c/db_1/md/property_graph/lib/log4j* /home/oraclerm -rf /u01/app/oracle/product/19c/db_1/md/property_graph/lib/log4j-api-2.11.0.jarrm -rf /u01/app/oracle/product/19c/db_1/md/property_graph/lib/log4j-core-2.11.0.jarcp /opt/oracle.ahf/common/jlib/log4j-api-2.17.1.jar /u01/app/oracle/product/19c/db_1/md/property_graph/lib/cp /opt/oracle.ahf/common/jlib/log4j-core-2.17.1.jar /u01/app/oracle/product/19c/db_1/md/property_graph/lib/chown oracle:oinstall /u01/app/oracle/product/19c/db_1/md/property_graph/lib/log4j*su - oracleln -s /u01/app/oracle/product/19c/db_1/md/property_graph/lib/log4j-core-2.17.1.jar log4j-core-2.11.0.jarln -s /u01/app/oracle/product/19c/db_1/md/property_graph/lib/log4j-api-2.17.1.jar log4j-api-2.11.0.jar#reboot



AHF 卸载
ahfctl uninstall -deleterepo -silent
AHF 常用命令
ahfctl statusahf -allahfctl showrepo -all


OGG log4j 漏洞
[root@cs-ogg lib]# cd /goldengate/ggjava/resources/lib/optional[root@cs-ogg optional]# ll log*-rwxr-xr-x 1 oracle oracle 239856 5月 1 2018 log4j-api-2.9.1.jar-rwxr-xr-x 1 oracle oracle 1549865 5月 1 2018 log4j-core-2.9.1.jar-rwxr-xr-x 1 oracle oracle 23153 5月 1 2018 log4j-slf4j-impl-2.9.1.jar[root@cs-ogg lib]# su - oracle[oracle@cs-ogg optional]$ cd /goldengate/ggjava/resources/lib/optional/[oracle@cs-ogg optional]$ mv log4j-core-2.9.1.jar log4j-core-2.9.1.jar_bak20230728[oracle@cs-ogg optional]$ ln -s /goldengate/ggjava/resources/lib/optional/log4j-core-2.17.1.jar log4j-core-2.9.1.jar[oracle@cs-ogg optional]$ ll总用量 3560-rwxr-xr-x 1 oracle oracle 239856 5月 1 2018 log4j-api-2.9.1.jar-rw-r--r-- 1 oracle oracle 1770490 3月 9 2022 log4j-core-2.17.1.jarlrwxrwxrwx 1 oracle oracle 63 7月 28 16:00 log4j-core-2.9.1.jar -> /goldengate/ggjava/resources/lib/optional/log4j-core-2.17.1.jar-rwxr-xr-x 1 oracle oracle 1549865 5月 1 2018 log4j-core-2.9.1.jar_bak20230728-rwxr-xr-x 1 oracle oracle 23153 5月 1 2018 log4j-slf4j-impl-2.9.1.jardrwxr-xr-x 2 oracle oracle 32 7月 14 2018 logback-rwxr-xr-x 1 oracle oracle 6983 5月 1 2018 slf4j-jcl-1.7.25.jar-rwxr-xr-x 1 oracle oracle 8460 5月 1 2018 slf4j-jdk14-1.7.25.jar-rwxr-xr-x 1 oracle oracle 12244 5月 1 2018 slf4j-log4j12-1.7.25.jar-rwxr-xr-x 1 oracle oracle 4007 5月 1 2018 slf4j-nop-1.7.25.jar-rwxr-xr-x 1 oracle oracle 15257 5月 1 2018 slf4j-simple-1.7.25.jar[oracle@cs-ogg optional]$ chmod a+x log4j-core-2.17.1.jar[oracle@cs-ogg optional]$ ll总用量 3560-rwxr-xr-x 1 oracle oracle 239856 5月 1 2018 log4j-api-2.9.1.jar-rwxr-xr-x 1 oracle oracle 1770490 3月 9 2022 log4j-core-2.17.1.jarlrwxrwxrwx 1 oracle oracle 63 7月 28 16:00 log4j-core-2.9.1.jar -> /goldengate/ggjava/resources/lib/optional/log4j-core-2.17.1.jar-rwxr-xr-x 1 oracle oracle 1549865 5月 1 2018 log4j-core-2.9.1.jar_bak20230728-rwxr-xr-x 1 oracle oracle 23153 5月 1 2018 log4j-slf4j-impl-2.9.1.jardrwxr-xr-x 2 oracle oracle 32 7月 14 2018 logback-rwxr-xr-x 1 oracle oracle 6983 5月 1 2018 slf4j-jcl-1.7.25.jar-rwxr-xr-x 1 oracle oracle 8460 5月 1 2018 slf4j-jdk14-1.7.25.jar-rwxr-xr-x 1 oracle oracle 12244 5月 1 2018 slf4j-log4j12-1.7.25.jar-rwxr-xr-x 1 oracle oracle 4007 5月 1 2018 slf4j-nop-1.7.25.jar-rwxr-xr-x 1 oracle oracle 15257 5月 1 2018 slf4j-simple-1.7.25.jar[oracle@cs-ogg goldengate]$ ./ggsciOracle GoldenGate for Big DataVersion 12.3.2.1.1 (Build 005)Oracle GoldenGate Command InterpreterVersion 12.3.0.1.2 OGGCORE_OGGADP.12.3.0.1.2_PLATFORMS_180712.2305Linux, x64, 64bit (optimized), Generic on Jul 13 2018 00:46:09Operating system character set identified as UTF-8.Copyright (C) 1995, 2018, Oracle and/or its affiliates. All rights reserved.GGSCI (cs-ogg) 1> stop *GGSCI (cs-ogg) 2> sart *GGSCI (cs-ogg) 3> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGREPLICAT RUNNING REP01 00:00:13 00:00:01REPLICAT RUNNING REP02 00:00:00 00:00:09
全文完,希望可以帮到正在阅读的你,如果觉得此文对你有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~
欢迎关注我的公众号【JiekeXu DBA之路】,第一时间一起学习新知识!以下三个地址可以找到我,其他地址都属于盗版侵权爬取我的文章,而且代码格式、图片等均有错乱,不方便阅读,欢迎来我公众号或者墨天轮地址关注我,第一时间收获最新消息。
欢迎关注我的公众号【JiekeXu DBA之路】,第一时间一起学习新知识!
————————————————————————————
公众号:JiekeXu DBA之路
CSDN :https://blog.csdn.net/JiekeXu
墨天轮:https://www.modb.pro/u/4347
————————————————————————————

分享几个数据库备份脚本
Oracle 表碎片检查及整理方案
OGG|Oracle GoldenGate 基础2022 年公众号历史文章合集整理
Oracle 19c RAC 遇到的几个问题
OGG|Oracle 数据迁移后比对一致性OGG|Oracle GoldenGate 微服务架构
Oracle 查询表空间使用率超慢问题一则
Oracle 11g升级到19c需要关注的几个问题
国产数据库|TiDB 5.4 单机快速安装初体验
Oracle ADG 备库停启维护流程及增量恢复
Linux 环境搭建 MySQL8.0.28 主从同步环境
从国产数据库调研报告中你都能了解哪些信息及我的总结建议
