在GeoScene Portal中运行Log4Shell修复脚本指南
分享
工作原理
该脚本实现的是 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. 输入以下命令:
注:
此脚本可能需要一分钟的时间才能运行,因为它会查看 GeoScene Portal 目录中的每个文件。这将列出在“delete”模式下运行脚本时将更新的文件。注意这些,以防需要恢复更改。
执行脚本
6. 停止 GeoScene Portal 服务。如果 GeoScene Portal 正在运行,以下命令将无法修改文件。
7. 输入以下命令:
8. 另一个 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. 使用以下命令执行脚本:
6. 停止 GeoScene Portal 服务。您可以使用通常使用的任何方法,不过使用运行在 <Portal Installation Location>/GeoScene/Portal 目录中的 stopportal.sh 脚本是比较通用的方法。
7. 运行不带参数的脚本:
9. 启动 GeoScene Portal 服务。您可以使用通常使用的任何方法,不过使用运行在<Portal Installation Location>/GeoScene/Portal 目录中的 startportal.sh 脚本是比较通用的方法。
该脚本实现的是 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 个评论
相关问题
- 在windows server2008 R2 64位中安装了portal 10.5 设置好托管arcgis server站点,并用data store为托管数据库,发布数据出错
- 如何使用脚本或其他方法,将图层属性中属性域原值内容替换为属性域描述?
- 运行webappbulider中的startup.bat出现错误
- 在portal中发布的内容在sever里找不到
- portal 添加server服务器作为联合服务器后,点击原来的arcgis manger 登录server,无法登陆!
- ArcGIS Runtime SDK for Android 100.0.0能不能调用ArcGIS online或者portal中的三维场景呢???
- 用js调用portal中用户所发布的webmap并在该地图上添加点如何用代码实现,我的总是报错。。。。
- 三维模型在pro中呈現沒問題上传至portal後模型無法完整呈現(包括破圖、材質遺失)?
- SOE如何发布Arcgis的python脚本
- CityEngine能否通过写脚本建模
- portal for arcgis 1031使用管理员角色创建的3d场景怎么没有发布功能?