Das ArcGIS Enterprise-Portal verfügt über ein Python-Skriptwerkzeug, portalScan.py, mit dem das Portal auf allgemeine Sicherheitsprobleme überprüft wird. Das Werkzeug überprüft basierend auf bewährten Methoden zum Konfigurieren einer sicheren Umgebung für das Portal, ob Probleme vorliegen. 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 |
---|---|---|---|
PS01 | Critical | Proxy-Beschränkungen | Legt fest, ob die Proxy-Funktion des Portals beschränkt ist. Der Proxy-Server des Portals ist standardmäßig für jede URL geöffnet. Zur Reduzierung potenzieller Denial of Service- (DoS-) oder Server Side Request Forgery-(SSRF)-Angriffe, wird dringend empfohlen, die Proxy-Funktion des Portals auf genehmigte Webadressen zu beschränken. |
PS02 | Critical | Token-Anforderungen | Stellt fest, ob Anforderungen zur Tokenerstellung mit Anmeldedaten im Abfrageparameter unterstützt werden. Falls ja, könnten bei der Erstellung von Token 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. |
PS03 | Important | Services-Verzeichnis des Portals | Legt fest, ob auf das Services-Verzeichnis des Portals über einen Webbrowser zugegriffen werden darf. Diese Einstellung sollte deaktiviert werden, um zu vermeiden, dass Ihre Elemente, Services, Webkarten, Gruppen und anderen Ressourcen im Portal durchsucht, im Internet gefunden oder über HTML-Formulare abgefragt werden können. |
PS04 | Important | Sichere Kommunikation | Legt fest, ob das Portal nur über HTTPS kommuniziert. Um zu verhindern, dass Kommunikation im Portal abgefangen wird, empfiehlt es sich, im Portal und auf dem Webserver, auf dem ArcGIS Web Adaptor gehostet wird, die Verwendung von SSL zu erzwingen. |
PS05 | Recommended | Anmeldung für integriertes Konto | Legt fest, ob Benutzer auf der Anmeldeseite des Portals auf die Schaltfläche Konto erstellen klicken können, um ein integriertes Portal-Konto zu erstellen. Deaktivieren Sie diese Funktion, wenn Sie Enterprise-Konten verwenden oder alle Konten manuell erstellen möchten. |
PS06 | Recommended | Anonymer Zugriff | Legt fest, ob der anonyme Zugriff erlaubt ist. Um zu verhindern, dass Benutzer auf Inhalte zugreifen, ohne zuerst Anmeldeinformationen für das Portal anzugeben, empfiehlt es sich, den anonymen Zugriff für das Portal zu deaktivieren. |
PS07 | Empfohlen | LDAP-Identitätsspeicher | Wenn das Portal mit einem LDAP-Identitätsspeicher konfiguriert ist, wird damit angegeben, ob verschlüsselte Kommunikation verwendet wird. Es wird empfohlen, LDAPS in den Eigenschaften ldapURLForUsers und ldapURLForRoles zu verwenden, die in den Parametern für die Benutzerspeicher- und Gruppenspeicher-Konfiguration aufgelistet sind. |
PS08 | Empfohlen | SSL-Zertifikat des Portals | Legt fest, ob ein selbstsignierte Zertifikat vom Portal verwendet wird. Um Webbrowser-Warnungen von Clients oder andere unerwartete Verhaltensweisen von Clients zu reduzieren, die mit dem Portal kommunizieren, wird empfohlen, ein von einer Zertifizierungsstelle signiertes Zertifikat zu verwenden, das an Port 7443 gebunden ist. |
PS09 | Empfohlen | Domänenübergreifende Anforderungen | Legt fest, ob domänenübergreifende Anforderungen (CORS) uneingeschränkt sind. Um die Möglichkeit des Zugriffs einer unbekannten Anwendung auf ein freigegebenes Portal zu reduzieren, empfiehlt es sich, domänenübergreifende Anforderungen ausschließlich auf Anwendungen zu beschränken, die in vertrauenswürdigen Domänen gehostet werden. |
PS10 | Kritisch | Verwaltungs-URL des Verbundservers | Ermittelt, ob die Verwaltungs-URL Ihres Verbundservers über das Portal erreichbar und das in dieser URL verwendete SSL-Zertifikat vertrauenswürdig ist. Wenn sie weder vertrauenswürdig noch erreichbar ist, können viele Portal-Funktionen und -Vorgänge nicht ausgeführt werden. |
PS11 | Empfohlen | Services-URL des Verbundservers | Legt fest, ob die Services-URL Ihres Verbundservers über das Portal erreichbar ist und das in dieser URL verwendete SSL-Zertifikat vertrauenswürdig ist. Wenn sie weder vertrauenswürdig noch erreichbar ist, funktioniert das Portal weiterhin, einige Portal-Vorgänge können jedoch möglicherweise nicht ausgeführt werden. |
PS12 | Empfohlen | Öffentliche Inhalte | Wenn das Portal so konfiguriert ist, dass Mitglieder keine Inhalte öffentlich freigeben können, werden hier alle Elemente aufgeführt, die für Alle freigegeben werden können. |
Das portalScan.pySkript ist im Verzeichnis <Portal for ArcGIS installation location>\tools\security gespeichert. Führen Sie das Skript über die Befehlszeile oder -shell aus. Sie haben beim Ausführen des Skripts die Möglichkeit, mindestens einen Parameter festzulegen.
portalScan.py-Parameter
In der folgenden Tabelle werden die Parameter von portalScan.py beschrieben:
Parameter | Beschreibung |
---|---|
-n | Der vollständig qualifizierte Domänenname der Computers, auf dem Portal installiert ist (d. h. gisportal.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 Token generiert wird, sollte portalScan in das Feld "Webapp URL" eingegeben werden. Wird ein Token bereitgestellt, überschreibt es jeden angegebenen Benutzernamen bzw. jedes angegebene Kennwort. |
--ignoressl | Deaktivieren Sie 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 portalScan.py -n portal.domain.com -u admin -p my.password -o C:\Temp
Wenn das Skript portalScan.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 im angegebenen Portal 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 portalScanReport_[hostname]_[date].html.