Überprüfen von ArcGIS Server auf Sicherheitsempfehlungen
ArcGIS Server verfügt über ein Python-Skriptwerkzeug, serverScan.py, mit dem die Software auf allgemeine Sicherheitsprobleme überprüft wird. Das Werkzeug zieht für die Problemprüfung einen Teil der Best Practices zum Konfigurieren einer sicheren Umgebung für ArcGIS Server heran. Es analysiert zahlreiche Kriterien oder Konfigurationseigenschaften und unterteilt sie in drei Schweregrade: Critical, Important und Recommended. Diese Kriterien lassen sich wie folgt beschreiben:
|
ID |
Schweregrad |
Eigenschaft |
Beschreibung |
|---|---|---|---|
|
SS01 |
|
Web-Kommunikation |
Legt fest, ob HTTPS für ArcGIS Server aktiviert ist. Um zu verhindern, dass Kommunikation abgefangen wird, sollten Sie ArcGIS Server und ArcGIS Web Adaptor (sofern installiert), so konfigurieren, dass die SSL-Verschlüsselung erzwungen wird. |
|
SS02 |
|
Standardisierte Abfragen |
Legt fest, ob standardisierte Abfragen erzwungen werden. Zum Schutz vor der Einschleusung von SQL-Befehlen ist das Aktivieren dieser Option unerlässlich. |
|
SS03 |
|
Token-Anforderungen |
Legt fest, ob die Generierung von Token-Anforderungen über GET unterstützt wird. Beim Generieren von Token über GET werden die Anmeldedaten des Benutzers als Teil der URL gesendet und im Browser-Verlauf oder in Netzwerkprotokollen erfasst und offengelegt. Diese Einstellung sollte deaktiviert werden, sofern sie nicht für andere Anwendungen erforderlich ist. |
|
SS04 |
|
Token-Anforderungen |
Legt fest, ob die Generierung von Token-Anforderungen über POST mit Anmeldeinformationen in den Abfrageparametern unterstützt wird. Beim Generieren von Token könnten die Anmeldedaten des Benutzers als Teil der URL bereitgestellt und im Browser-Verlauf oder in Netzwerkprotokollen erfasst und offengelegt werden. Diese Einstellung sollte deaktiviert werden, sofern sie nicht für andere Anwendungen erforderlich ist. |
|
SS05 |
|
|
Erstellt eine Liste der Feature-Services, für die die Eigenschaft |
|
SS06 |
|
Berechtigungen für System-Services |
Legt fest, ob nicht standardmäßige Berechtigungen auf Services im Ordner "System" in Server Manager angewendet werden. Um sicherzustellen, dass nur Administratoren und Publisher Zugriff auf die Services im Ordner "System" haben, sollte keine Zuweisung von Rollen erfolgen. |
|
SS07 |
|
REST-Services-Verzeichnis |
Legt fest, ob auf das REST-Services-Verzeichnis des Portals über einen Webbrowser zugegriffen werden darf. Um möglichst zu vermeiden, dass Ihre Services in einem Browser gelesen, in einer Internetsuche gefunden oder über HTML-Formulare abgefragt werden, sollte das Verzeichnis deaktiviert werden – es sei denn, es wird aktiv für die Suche nach Services durch die Benutzer verwendet. Dies bietet zusätzlichen Schutz vor Cross-Site-Scripting-(XSS-)Angriffen. |
|
SS08 |
|
Domänenübergreifende Einschränkungen |
Legt fest, ob domänenübergreifende Anforderungen auf bestimmte Domänen beschränkt sind. Um das Risiko zu verringern, dass eine unbekannte Anwendung schädliche Befehle an Ihre Web-Services sendet, wird empfohlen, die Verwendung Ihrer Services auf Anwendungen zu beschränken, die ausschließlich in vertrauenswürdigen Domänen gehostet werden. |
|
SS09 |
|
Dynamischer Workspace |
Erstellt eine Liste der Services, auf deren Datenbanken über einen dynamischen Workspace zugegriffen werden kann. Ohne angemessenen Schutz ist die Datenbank/der Workspace dem Zugriff böswilliger Dritter über REST ausgesetzt. Dynamische Workspaces sollten nur dann aktiviert werden, wenn der Service und die dynamische Layer-/Workspacefunktion für die aktive Nutzung in einer Webanwendung vorgesehen ist. In diesen Fällen sollte unbedingt sichergestellt werden, dass die vom Kartenservice verwendete Datenbankverbindung für die Verbindung mit dem Workspace bzw. der Datenbank mindestens über die für die Anwendung erforderlichen Berechtigungen verfügt, beispielsweise schreibgeschützten Zugriff ausschließlich auf diejenigen zusätzlichen Tabellen im Workspace, die benötigt werden. |
|
SS10 |
|
Web Adaptor über HTTPS |
Legt fest, ob einer oder mehrere Web Adaptors über HTTPS registriert sind. Damit die Umleitung an HTTPS in Server Manager erfolgreich ist, sollten alle Web Adaptors über HTTPS registriert sein. |
|
SS11 |
|
PSA-Konto deaktivieren |
Legt fest, ob das primäre Site-Administratorkonto aktiviert ist. Es wird empfohlen, dieses Konto zu deaktivieren, um sicherzustellen, dass es außer der im Identitätsspeicher festgelegten Gruppe oder Rolle keine andere Möglichkeit zum Verwalten von ArcGIS Server gibt. |
|
SS12 |
|
Berechtigungen für Feature-Services |
Listet Feature-Services auf, bei denen die Operationen |
|
SS13 |
|
LDAP-Identitätsspeicher |
Wenn ArcGIS Server mit einem LDAP-Identitätsspeicher konfiguriert ist, wird damit angegeben, ob verschlüsselte Kommunikation verwendet wird. Um die verschlüsselte Kommunikation zwischen ArcGIS Server und dem LDAP-Identity-Provider sicherzustellen, wird empfohlen, |
|
SS14 |
|
Server-SSL-Zertifikat |
Legt fest, ob ein selbstsigniertes Zertifikat von ArcGIS Server verwendet wird. Um Webbrowser-Warnungen von Clients oder andere unerwartete Verhaltensweisen von Clients zu reduzieren, die mit ArcGIS Server kommunizieren, wird empfohlen, ein von einer Zertifizierungsstelle signiertes SSL-Zertifikat zu importieren und zu verwenden, das an Port 6443 gebunden ist. |
|
SS15 |
|
Freigeben von System-Services |
Gibt an, ob einer der Services im Ordner "System" als Portal-Element freigegeben wurde. Um die richtigen Berechtigungen sicherzustellen, sind diese Services nicht für die Freigabe über ein Portal gedacht. Es empfiehlt sich, das verknüpfte Portal-Element zu entfernen, um die Standard-Service-Berechtigungen wiederherzustellen. |
Das Skript serverscan befindet sich im Verzeichnis <ArcGIS Server installation location>/tools/admin. Führen Sie das Skript über die Befehlszeile oder -shell aus. Sie haben beim Ausführen des Skripts die Möglichkeit, Parameter festzulegen.
Das Skript serverScan.py befindet sich im Verzeichnis <ArcGIS Server installation location>\tools\admin. Führen Sie das Skript über die Befehlszeile oder -shell aus. Sie haben beim Ausführen des Skripts die Möglichkeit, Parameter festzulegen.
serverScan.py-Parameter
|
Parameter |
Beschreibung |
|---|---|
|
-n |
Der vollständig qualifizierte Domänenname des Computers, auf dem der Server installiert ist (d. h. gisserver.example.com). Die Standardeinstellung ist der Hostname des Computers, auf dem das Skript ausgeführt wird. |
|
-u |
Der Benutzername eines Administratorkontos. |
|
-p |
Das Kennwort eines Administratorkontos. |
|
-o |
Das Verzeichnis, in dem der Sicherheitsüberprüfungsbericht gespeichert wird. Das Standardverzeichnis entspricht dem Ordner, in dem das Skript ausgeführt wird. |
|
-t |
Anstelle des Benutzernamens und Kennworts kann ein Token erstellt werden. Wenn ein Portal-Token für einen Verbundserver generiert wird, sollte der vollständig qualifizierte Domänenname des überprüften Servers in das Feld 'Webapp-URL' eingegeben werden. Wenn ein Token für einen nicht verbundenen Server generiert wird, muss es über das Administratorverzeichnis (arcgis/admin/generateToken) und mit dem 'Request IP'-Client generiert werden. Wird ein Token bereitgestellt, überschreibt es jeden angegebenen Benutzernamen bzw. jedes angegebene Kennwort. |
|
--ignoressl |
Deaktiviert die SSL-Zertifikatüberprüfung. Ab 10.7.1 versucht das Skript standardmäßig, alle SSL-Zertifikate zu überprüfen. Wenn Python dem Aussteller der Zertifikate nicht vertraut, wird das Skript nicht vollständig ausgeführt. Geben Sie bei Bedarf diesen Parameter an, wenn alle Zertifikate ignoriert werden sollen. |
|
-h or -? |
Gibt eine Liste der Parameter aus, die beim Ausführen des Skripts angegeben werden können. |
Beispiel: python serverScan.py -n gisserver.example.com -u admin -p my.password -o C:\Temp
Wenn das Skript "serverScan.py" ohne Angabe von Parametern ausgeführt wird, werden Sie aufgefordert, sie manuell einzugeben oder den Standardwert auszuwählen. Falls Sie ein Token verwenden möchten, muss es beim Ausführen des Skripts als Parameter bereitgestellt werden.
Der Scan erstellt einen Bericht im HTML-Format, in dem jegliche oben aufgeführten Probleme, die in der angegebenen ArcGIS-Server-Site gefunden wurden, aufgelistet sind.
Der Bericht wird standardmäßig im selben Ordner gespeichert, aus dem Sie das Skript ausgeführt haben, und hat den Namen serverScanReport_[hostname]_[date].html.