HOW TO
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:
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.
Betriebssystem | Dateiname | Hash |
---|---|---|
Windows | log4shellmitigation.python.zip | 31EC8F0543348498000B7B36E0ED17354EAAE14C3B131ACC3877B6E1918D58F3 |
Linux | log4shellmitigation.linux.zip | DDB01B31CF7B91270DF4410F502B17D42DC21232661400982D500E79C577897B |
Workflow unter Windows
Die folgenden Schritte funktionieren für Version 10.9.1 von ArcGIS Workflow Manager Server.
Vorbereitung
<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
<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.
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.
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.
chmod 500 log4shellmitigation.sh
./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.
./log4shellmitigation.sh
Problembehandlung
Falls Probleme auftreten sollten und Sie ein Rollback der Änderungen durchführen möchten, wenden Sie sich an den technischen Support von Esri.
Unterstützung durch ArcGIS-Experten anfordern
Esri Support App herunterladen