HOW TO

Ausführen des Log4Shell-Skripts zur Risikominderung für ArcGIS Workflow Manager Server

Last Published: March 17, 2022

Zusammenfassung

Die Log4Shell-Sicherheitslücke (CVE-2021-44228) ist eine kritische Sicherheitslücke in Version 2 der log4j-Bibliothek. ArcGIS Workflow Manager Server verwendet eine betroffene Version 2 von log4j nur in Version 10.9.1. Da log4j in früheren Versionen von Workflow Manager Server nicht verwendet wird, sind diese früheren Versionen von dieser Sicherheitslücke nicht betroffen. Dieser Artikel enthält Schritte zur Minimierung des Risikos einer Ausnutzung dieser Sicherheitslücke. Esri arbeitet an einem Patch. Dieses Skript zur Risikominderung kann jedoch sofort für Version 10.9.1 von ArcGIS Workflow Manager Server verwendet werden.

Hinweis: Esri empfiehlt das Installieren der Patches für diese Schwachstelle, sobald sie verfügbar sind. Besuchen Sie die Seite ArcGIS Enterprise Log4j Patch Summary Page.

Funktionsweise dieses Skripts:
Dieses Skript implementiert eine umfassend dokumentierte Herangehensweise, mit der log4j-Bibliotheken der Version 2 so modifiziert werden, dass die Datei "JndiLookup.class" aus der JAR-Kerndatei von log4j entfernt wird, sodass die Sicherheitslücke nicht ausgenutzt werden kann. Mit diesem Skript werden alle Speicherorte der Klassendateien in ArcGIS Workflow Manager Server identifiziert und die Klassendateien entfernt. Das Skript bietet eine Implementierung für Linux und eine für Windows. Dieselben Skripte können auch für ArcGIS Server, ArcGIS Data Store und Portal for ArcGIS verwendet werden. Nach dem Herunterladen des Log4Shell-Skripts zur Risikominderung für diese Produkte können Sie es also für diese Schritte erneut verwenden.

Voraussetzungen:

  • Windows: Für das Skript muss Python 3.5 oder höher installiert sein, Python 2.7 kann nicht verwendet werden. Die Python3-Version, die mit ArcGIS Server installiert wird, können Sie auf demselben Computer mit ArcGIS Workflow Manager Server verwenden. Die Python 3-Installation finden Sie auf Ihrem Computer an folgendem Speicherort:
    • ArcGIS Server: Python 3 wird normalerweise im ArcGIS Server-Verzeichnis (meistens "C:\Programme\ArcGIS\Server" unter Windows) im Verzeichnis "\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3" installiert.
  • Linux: Für das Skript müssen die Bash-Shell und der Befehl "zip" installiert sein. Sehr wahrscheinlich ist die Bash-Shell bereits installiert, sodass eine Installation nicht erforderlich ist. Je nach verwendeter Linux-Distribution und -Version müssen Sie das Programm "zip" mithilfe von "apt-get" oder "yum" installieren.

Um die Version von Python, die Sie ausführen, zu überprüfen, öffnen Sie eine Eingabeaufforderung und geben den folgenden Befehl ein:

<Vollständiger Pfad zu Python>\python.exe --version
Hinweis: Esri empfiehlt, dass Sie vor dem Ausführen dieser Skripte sicherstellen, dass Ihnen der richtige Download vorliegt. Führen Sie dazu für die heruntergeladenen ZIP-Dateien die Prüfsumme aus, und vergewissern Sie sich, dass der Hashwert dem Wert in der unten stehenden Tabelle entspricht. Extrahieren Sie das Skript erst, wenn Sie die Prüfsumme ausgeführt haben. Weitere Informationen zum Ausführen der Prüfsumme finden Sie im folgenden Artikel: How To: Überprüfen eines Esri Downloads mithilfe der Prüfsumme Wenn das Dateihash nicht mit dem unten aufgelisteten Wert übereinstimmt, löschen Sie den Browser-Cache, und laden Sie das Skript erneut herunter.
BetriebssystemDateinameHash
Windowslog4shellmitigation.python.zip31EC8F0543348498000B7B36E0ED17354EAAE14C3B131ACC3877B6E1918D58F3
Linuxlog4shellmitigation.linux.zipDDB01B31CF7B91270DF4410F502B17D42DC21232661400982D500E79C577897B

Vorgehensweise

Workflow unter Windows
Die folgenden Schritte funktionieren für Version 10.9.1 von ArcGIS Workflow Manager Server.

Vorbereitung

  1. Melden Sie sich als Administrator oder mit dem ausführenden ArcGIS Workflow Manager Server-Konto an. Dieses Konto muss über Berechtigungen zum Ändern von Dateien im ArcGIS Workflow Manager Server-Verzeichnis verfügen.
  2. Laden Sie die Datei log4shellmitigation.python.zip auf den Computer mit ArcGIS Workflow Manager Server herunter, und entpacken Sie sie.Diese Datei kann an einem beliebigen Speicherort abgelegt werden.
  3. Starten Sie eine Eingabeaufforderung als Administrator.
  4. Ändern Sie das Verzeichnis (Befehl "cd") in den Speicherort des Skripts.
  5. Geben Sie den folgenden Befehl ein:
<Vollständiger Pfad zu Python>\python.exe log4shellmitigation.py --list <ArcGIS Server-Installationsverzeichnis>

Hier sehen Sie ein Beispiel des Befehls:

"C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3\python.exe" log4shellmitigation.py -l "C:\Program Files\ArcGIS\Server"

Dadurch werden alle zu ändernden Dateien aufgelistet. Notieren Sie sich diese Speicherorte, falls Sie die Änderungen zu einem späteren Zeitpunkt zurücksetzen möchten.

Hinweis: Das ArcGIS Server-Installationsverzeichnis ist meistens "C:\Program Files\ArcGIS\Server". Wenn der Dateipfad zur Python- oder ArcGIS Server-Installation Leerzeichen enthält, fügen Sie Anführungszeichen (") um den Pfad herum ein. Das Befehls-Flag muss -l (Bindestrich und kleines L) lauten. Wird der Bindestrich weggelassen oder ein Leerzeichen hinzugefügt, schlägt der Befehl fehl.

Ausführen des Skripts

  1. Beenden Sie die Dienste ArcGIS Server und ArcGIS Workflow Manager Server. Wenn diese ArcGIS Windows-Dienste ausgeführt werden, kann der in den folgenden Schritten verwendete Befehl die Dateien nicht ändern.
  2. Geben Sie nun den folgenden Befehl ein:
<Vollständiger Pfad zu Python>\python.exe log4shellmitigation.py --delete <Server-Verzeichnis>

Hier sehen Sie ein Beispiel des Befehls:

"C:\Program Files\ArcGIS\Server\framework\runtime\ArcGIS\bin\Python\envs\arcgispro-py3\python.exe"  log4shellmitigation.py --delete "c:\Program Files\ArcGIS\Server"

Es handelt sich um den Befehl, mit dem die JAR-Dateien geändert werden, sodass die Log4Shell-Schwachstelle nicht ausgenutzt werden kann.

  1. Starten Sie den ArcGIS-Server-Service.
  2. Starten Sie den ArcGIS Workflow Manager-Service.

Problembehandlung
Falls Probleme auftreten sollten und ein Rollback der Änderungen erforderlich wird, wenden Sie sich an den technischen Support von Esri.


Workflow unter Linux

Vorbereitung
Die folgenden Schritte funktionieren für Version 10.9.1 von ArcGIS Workflow Manager Server.

  1. Melden Sie sich bei dem Linux-Computer, auf dem ArcGIS Workflow Manager Server ausgeführt wird, an. Nutzen Sie dazu das Konto, das zum Installieren von ArcGIS Workflow Manager Server verwendet wurde. Verwenden Sie kein anderes Konto, ganz gleich ob Nicht-Root-Konto, Root-Konto oder Superuser.
  2. Laden Sie die Datei log4shellmitigation.linux.zip auf den Computer mit ArcGIS Workflow Manager Server herunter, und entpacken Sie sie. Die Datei muss im übergeordneten Verzeichnis des Speicherorts von ArcGIS Server abgelegt werden.

Beispiel: Angenommen, ArcGIS Server wurde unter "/opt/arcgis/server" installiert, so muss das Skript im Verzeichnis "/opt/arcgis" abgelegt werden.

Hinweis: Wenn Sie mehrere ArcGIS Enterprise-Produkte auf demselben Computer mit demselben übergeordneten Verzeichnis installiert haben und das Skript "log4shellmitigation.sh" bereits von diesem Speicherort aus ausgeführt haben, müssen Sie es nicht noch einmal ausführen. Wenn ein Skript aus einem übergeordneten Verzeichnis ausgeführt wird, wird es auf alle Produkte, die dasselbe übergeordnete Verzeichnis haben, angewendet.
  1. Ändern Sie das Verzeichnis zum übergeordneten Verzeichnis, wo Sie das Skript log4shellmitigation.sh abgelegt haben.
  2. Legen Sie das Skript mit dem folgenden Befehl als ausführbares Skript fest:
chmod 500 log4shellmitigation.sh
  1. Führen Sie das Skript mit der Option -l (Bindestrich klein L) aus, um alle zu ändernden Dateien zu ermitteln.
./log4shellmitigation.sh -l

Dadurch werden alle zu ändernden Dateien aufgelistet. Im Rahmen dieses Skripts wird keine Sicherung der Dateien erstellt. Wenn Sie eine Sicherung der Originaldateien benötigen, müssen Sie diese jetzt erstellen, indem Sie die Dateien an einen anderen Speicherort kopieren.

  1. Beenden Sie ArcGIS Server und Workflow Manager Server. Sie können dazu jede beliebige Methode verwenden, die Sie sonst auch nutzen.
  2. Führen Sie das Skript ohne Argumente aus:
./log4shellmitigation.sh
  1. Wenn Sie dazu aufgefordert werden, bestätigen Sie das Patchen der Dateien durch Eingabe von "y".
  2. Starten Sie ArcGIS Server und Workflow Manager Server. Sie können dazu jede beliebige Methode verwenden, die Sie sonst auch nutzen.

Problembehandlung
Falls Probleme auftreten sollten und Sie ein Rollback der Änderungen durchführen möchten, wenden Sie sich an den technischen Support von Esri.

Artikel-ID:000026970

Hilfe von ArcGIS-Expert*innen erhalten

Technischen Support kontaktieren

Die Esri Support-App herunterladen

Zu den Download-Optionen