Portal for ArcGIS umfasst das 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: Kritisch, Wichtig und Empfohlen. Diese Kriterien lassen sich wie folgt beschreiben:
ID | Schweregrad | Eigenschaft | Beschreibung |
---|---|---|---|
PS01 | Kritisch | Proxy-Beschränkungen | Legt fest, ob die Proxy-Funktion des Portals eingeschränkt ist. Der Proxy-Server des Portals ist standardmäßig für jede URL geöffnet. Um das Risiko von DoS- und SSRF-Angriffen (Denial of Service und Server Side Request Forgery) zu verringern, wird empfohlen, die Proxy-Funktion des Portals auf genehmigte Webadressen zu beschränken. |
PS02 | Kritisch | Token-Anforderungen | Legt fest, ob die Generierung von Token-Anforderungen mit Anmeldeinformationen in den Abfrageparametern unterstützt wird. 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. Es empfiehlt sich, diese Einstellung zu deaktivieren, sofern sie nicht für andere Anwendungen erforderlich ist. |
PS03 | Wichtig | Services-Verzeichnis des Portals | Legt fest, ob der Zugriff auf das Services-Verzeichnis des Portals über einen Webbrowser zulässig ist. 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 | Wichtig | Sichere Kommunikation | Legt fest, ob das Portal ausschließlich ü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 | Empfohlen | 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 organisationsspezifische Konten verwenden oder alle Konten manuell erstellen möchten. |
PS06 | Empfohlen | Anonymer Zugriff | Legt fest, ob der anonyme Zugriff zulässig 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 selbstsigniertes 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 SSL-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 | Legt fest, 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 Elemente aufgeführt, die trotzdem für Alle freigegeben sind. |
PS13 | Wichtig | SAML-Konfigurationseinstellungen | Wenn das Portal für die Verwendung der SAML-Authentifizierung konfiguriert ist, legt diese Einstellung fest, ob verschlüsselte Assertions und signierte Anforderungen aktiviert sind. Insofern vom Identity-Provider unterstützt, wird empfohlen, das Portal so zu konfigurieren, dass sowohl verschlüsselte Assertions als auch signierte Anforderungen erforderlich sind. |
Das portalScan.py-Skript befindet sich im Verzeichnis <Portal for ArcGIS installation location>/tools/security. Führen Sie das Skript über die Befehlsshell mit dem Skript portalScan Bash aus, das sich im selben Verzeichnis befindet. 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 (Ausgabedatei wird in das Stammverzeichnis des Benutzers geschrieben):./portalScan -n portal.domain.com -u admin -p my.password -o ~
Wenn das Skript portalScan 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.