Skip To Content

Überprüfen des ArcGIS-Servers auf der Basis von Best Practices für mehr Sicherheit

ArcGIS-Server verfügt über ein Python-Skriptwerkzeug, serverScan.py, das nach einigen allgemeinen Sicherheitsproblemen sucht. Das Werkzeug überprüft basierend auf einigen bewährten Methoden zum Konfigurieren einer sicheren ArcGIS-Server-Umgebung. Es analysiert zahlreiche Kriterien oder Konfigurationseigenschaften und unterteilt sie in drei Schweregrade: Critical, Important und Recommended. Diese Kriterien lassen sich wie folgt beschreiben:

IDSchweregradEigenschaftBeschreibung

SS01

Critical

Web-Kommunikation

Stellt fest, ob HTTPS für ArcGIS-Server aktiviert ist. Um zu verhindern, dass Kommunikation abgefangen wird, empfiehlt es sich, ArcGIS Server und ArcGIS Web Adaptor (sofern installiert) so zu konfigurieren, dass die SSL-Verschlüsselung erzwungen wird.

SS02

Critical

Standardisierte Abfragen

Stellt fest, ob standardisierte Abfragen erzwungen werden. Um Schutz vor der Einschleusung von SQL-Befehlen zu bieten, muss diese Option unbedingt aktiviert werden.

SS03

Critical

Token-Anforderungen

Stellt fest, ob Anforderungen zur Tokenerstellung über GET unterstützt werden. Bei der Erstellung von Tokens über GET werden die Anmeldedaten des Benutzers als Teil der URL übermittelt und können im Browser-Verlauf oder in Netzwerkkomponenten erfasst und offengelegt werden. Diese Einstellung sollte deaktiviert werden, sofern sie nicht für andere Anwendungen erforderlich ist.

SS04

Critical

Token-Anforderungen

Stellt fest, ob Anforderungen zur Tokenerstellung über POST mit Anmeldedaten im Abfrageparameter unterstützt werden. Bei der Erstellung von Tokens könnten die Anmeldedaten des Benutzers als Teil der URL bereitgestellt und im Browser-Verlauf oder in Netzwerkkomponenten erfasst und offengelegt werden. Diese Einstellung sollte deaktiviert werden, sofern sie nicht für andere Anwendungen erforderlich ist.

SS05

Critical

Filter web content aktiviert

Erstellt eine Liste der Feature-Services, in denen die filter web content-Eigenschaft deaktiviert ist. Ist diese Eigenschaft deaktiviert, kann der Benutzer beliebigen Text in die Eingabefelder eingeben, wodurch der Service potenziellen Cross-Site-Scripting-(XSS-)Angriffen ausgesetzt wird. Diese Eigenschaft ist standardmäßig aktiviert und sollte nur dann deaktiviert werden, wenn nicht unterstützte HTML-Entitäten oder -Attribute erforderlich sind.

SS06

Critical

Berechtigungen für System-Services

Ermittelt, ob für einen der Services im Systemordner von Server Manager nicht standardmäßige Berechtigungen gelten. Um sicherzustellen, dass nur Administratoren und Publisher Zugriff auf die Services im Systemordner haben, sollten keine Rollen zugewiesen werden.

SS07

Important

REST-Services-Verzeichnis

Legt fest, ob auf das REST-Services-Verzeichnis ü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

Important

Domänenübergreifende Beschränkungen

Legt fest, ob domänenübergreifende Anforderungen auf bestimmte Domänen beschränkt sind. Um die Möglichkeit zu verringern, dass eine unbekannte Anwendung bösartige 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

Important

Dynamischer Workspace

Erstellt eine Liste der Services, auf deren Datenbanken über einen dynamischen Workspace zugegriffen werden kann. Ohne angemessenen Schutz kann die Datenbank/der Workspace über REST dem Zugriff bösartiger Dritter ausgesetzt werden. 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

Recommended

Web Adaptor über HTTPS

Ermittelt, ob ein oder mehrere Web Adaptors über HTTPS registriert sind. Um eine erfolgreiche Umleitung von Server Manager zu HTTPs zu ermöglichen, sollten alle Web Adaptors über HTTPS registriert werden.

SS11

Recommended

PSA-Konto deaktivieren

Stellt fest, ob das primäre Site-Administratorkonto aktiviert ist. Es wird empfohlen, dieses Konto zu deaktivieren, um sicherzustellen, dass es außer der Gruppe oder Rolle, die Sie im Identitätsspeicher festgelegt haben, keine andere Möglichkeit zum Verwalten von ArcGIS-Server gibt.

SS12

Recommended

Berechtigungen für Feature-Services

Listet Feature-Services auf, bei denen die Operationen update oder delete aktiviert und die für anonymen Zugriff freigegeben sind. Dadurch können die Feature-Service-Daten ohne Authentifizierung geändert oder gelöscht werden.

SS13

Recommended

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, ldaps:// in der Verbindungs-URL zu verwenden, die für die Konfiguration des LDAP-Benutzerspeichers und die Konfiguration des LDAP-Rollenspeichers (falls verwendet) definiert wurde.

SS14

Recommended

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

Critical

Freigeben von System-Services

Ermittelt, ob einer der Services im Systemordner 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 serverScan.py-Skript ist im Verzeichnis <ArcGIS Server installation location>\tools\admin gespeichert. Führen Sie das Skript über die Befehlszeile oder -shell aus. Sie haben beim Ausführen des Skripts die Möglichkeit, Parameter anzugeben.

serverScan.py-Parameter

ParameterBeschreibung

-n

Der vollständig qualifizierte Domänenname des Computers, auf dem der Server installiert ist (d. h. gisserver.domain.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 oder -?

Gibt eine Liste der Parameter aus, die beim Ausführen des Skripts angegeben werden können.

Beispiel: python serverScan.py -n gisserver.domain.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ührte 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.


In diesem Thema
  1. serverScan.py-Parameter