在GeoScene Portal中运行Log4Shell修复脚本指南

0
分享 2021-12-30
 工作原理

该脚本实现的是 Apache 官方的漏洞修改方法,从 log4j jar 文件中获取 JndiLookup 类并删除,以致无法利用该漏洞。此脚本会识别 GeoScene Portal 目录中此类所在的所有位置,然后删除这些类文件。该脚本有两个版本——一种用于 Linux,另一种用于 Windows。这些相同的脚本可用于 GeoScene Server 和 GeoScene Data Store,因此,如果您已下载了这些产品的 Log4Shell 缓解脚本,则可以重复使用它。

先决条件:

Windows-该脚本要求安装 Python 3.5 或更高版本,Python 2.7 将无法使用。Python安装在\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3 目录下的 GeoScene Server 安装目录(通常为C:\Program Files\GeoScene\Server)中。
Linux-该脚本需要安装 bashshell 和 zip 命令。操作系统很可能已经安装了 bash,那便不需要安装它。根据所使用的 Linux 发行版和版本,您可能需要使用 apt get 或 yum 安装 zip 程序。
 

——Windows版本操作步骤——

准备

1. 以管理员身份或 GeoScene Portal 运行账户登录。此帐户必须具有修改 GeoScene Portal 目录中文件的权限。
2. 下载 log4shells.python.zip(链接:https://pan.baidu.com/s/1z7INc9FMvMxaQW1w5--PBg 提取码:4919 )到 GeoScene Portal 机器,并解压缩。这个.py 脚本可以放置在任何位置。
3. 以管理员身份启动命令提示符。
4. 将目录(“cd”)更改为放置脚本的目录。
5. 输入以下命令:
<full path to Python>\python.exe log4shellmitigation.py --list <portal directory>
下面是该命令的一个示例:
"c:\Program Files\GeoScene\Portal\framework\runtime\python\python.exe" log4shellmitigation.py --list "C:\Program Files\GeoScene\Portal"
这将列出所有要更改的文件。记下这些位置,以防以后要恢复更改。
注:
此脚本可能需要一分钟的时间才能运行,因为它会查看 GeoScene Portal 目录中的每个文件。这将列出在“delete”模式下运行脚本时将更新的文件。注意这些,以防需要恢复更改。

执行脚本

6. 停止 GeoScene Portal 服务。如果 GeoScene Portal 正在运行,以下命令将无法修改文件。
7. 输入以下命令:
<full path to Python>\python.exe log4shellmitigation.py --delete <portal directory>
下面是该命令的一个示例:
"c:\Program Files\GeoScene\Portal\framework\runtime\python\python.exe" log4shellmitigation.py --delete "C:\Program Files\GeoScene\Portal"
这是修改 JAR 文件的命令,因此 log4shell 漏洞才不能被利用。
8. 另一个 GeoScene Portal 的位置也必须进行更新。输入以下命令:
<full path to Python>\python.exe log4shellmitigation.py --delete <portal data directory>
 下面是该命令的一个示例:
"c:\Program Files\GeoScene\Portal\framework\runtime\python\python.exe" log4shellmitigation.py --delete "C:\geosceneportal"
9. 启动 GeoScene Portal 服务。
 

——Linux版本操作步骤——

1. 使用安装 GeoScene Portal 的帐户登录运行 GeoScene Portal 的 Linux 计算机。请勿使用其他非 root 帐户、root 帐户或超级用户。
2. 下载 log4shellmitigation.linux.zip  (链接:https://pan.baidu.com/s/1q_ywb8GiwkEOqqXQGg6TnA 提取码:e6tm )到 GeoScene Portal 计算机,然后将其解压缩。这个 sh 脚本必须放在 GeoScene Portal 位置的根目录中。
例如,如果 GeoScene Portal 安装在 /opt/GeoScene/Portal 中,则需要将脚本放置在 /opt/GeoScene 目录中。
注:
如果在具有相同父目录的同一台计算机上安装了多个 GeoScene Enterprise 产品,并且已经从同一个位置运行了 log4shellmitigation.sh 脚本,无需再次运行。从父目录运行脚本将应用于共享同一父目录的所有产品。
3. 将目录切换到放置 log4shellmitigation.sh 所在目录。
4. 使用以下命令执行脚本:
chmod 500 log4shellmitigation.sh
5. 使用-l 选项运行脚本,以标识将要更改的所有文件。
 ./log4shellmitigation.sh -l 
这将列出所有要修改的文件。此脚本不会备份这些文件。如果要备份这些原始文件,请立即将它们复制到其他位置。
6. 停止 GeoScene Portal 服务。您可以使用通常使用的任何方法,不过使用运行在 <Portal Installation Location>/GeoScene/Portal 目录中的 stopportal.sh 脚本是比较通用的方法。
7. 运行不带参数的脚本:
./log4shellmitigation.sh
8. 出现提示时,输入“y”确认继续执行。
9. 启动 GeoScene Portal 服务。您可以使用通常使用的任何方法,不过使用运行在<Portal Installation Location>/GeoScene/Portal 目录中的 startportal.sh 脚本是比较通用的方法。
 

0 个评论

要回复文章请先登录注册