Beim Sichern von ArcGIS Server ist es wichtig, dass die Umgebung, in der ArcGIS Server ausgeführt wird, ebenfalls sicher ist. Es gibt mehrere Best Practices, um optimale Sicherheit zu gewährleisten.
Anfordern und Konfigurieren eines eigenen Serverzertifikats
ArcGIS Server enthält standardmäßig ein vorkonfiguriertes selbstsigniertes Zertifikat, mit dem der Server zuerst getestet werden kann. So lässt sich mit dem Zertifikat schnell überprüfen, ob die Installation erfolgreich ausgeführt wurde. In den meisten Fällen empfiehlt es sich jedoch, ein Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (CA) anzufordern und den Server für dessen Verwendung zu konfigurieren. Hierbei sollte es sich um ein von Ihrer Organisation ausgegebenes oder ein von einer Zertifizierungsstelle (CA) signiertes Zertifikat handeln.
Wie ArcGIS Server verfügt das ArcGIS Enterprise-Portal über ein vorkonfiguriertes selbstsigniertes Zertifikat. Wenn Sie Ihre Site mit einem Portal verbinden, fordern Sie ein Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle an, und konfigurieren Sie das Portal für dessen Verwendung.
Die Konfiguration eines Zertifikats von einer vertrauenswürdigen Zertifizierungsstelle stellt eine Sicherheitsempfehlung für webbasierte Systeme dar. Auf diese Weise erhalten Benutzer weder Browser-Warnungen noch kommt es zu unerwartetem Verhalten. Wenn Sie beim Testen das selbstsignierte Zertifikat verwenden, das in ArcGIS Server und dem ArcGIS Enterprise enthalten ist, tritt Folgendes ein:
- Warnungen von Ihrem Webbrowser oder von ArcGIS Pro zu einer nicht vertrauenswürdigen Site. Wenn ein Webbrowser ein selbstsigniertes Zertifikat erkennt, zeigt er in der Regel eine Warnung an, und fordert Sie auf, zu bestätigen, dass Sie zu der Site weitergeleitet werden möchten. Viele Browser zeigen Warnsymbole oder eine rot markierte Adressleiste an, solange Sie das selbstsignierte Zertifikat verwenden.
- Ein Verbundservice kann in Map Viewer oder Map Viewer Classic des Portals nicht geöffnet werden, dem Portal kann kein gesichertes Service-Element hinzugefügt werden, die Anmeldung bei ArcGIS Server Manager auf einem Verbundserver kann nicht durchgeführt werden oder es kann keine Verbindung von ArcGIS for Office zum Portal hergestellt werden..
- Unerwartetes Verhalten beim Konfigurieren von Utility-Services, Drucken von gehosteten Services und beim Zugreifen auf das Portal über Client-Anwendungen.
Vorsicht:
Die oben aufgeführte Liste der Probleme, die im Zusammenhang mit der Verwendung eines selbstsignierten Zertifikats auftreten, erhebt keinen Anspruch auf Vollständigkeit. Es ist unbedingt erforderlich, ein von einer Zertifizierungsstelle signiertes Zertifikat zu verwenden, um das Portal vollständig zu testen und bereitzustellen.
Weitere Anweisungen zum Konfigurieren von ArcGIS Enterprise mit einem von einer Zertifizierungsstelle signierten Zertifikat finden Sie in den folgenden Themen:
Scannen nach Cross-Site-Scripting-Angriffen
Bei Cross-Site-Scripting-Angriffen (XSS) wird Schadcode in vorhandene Webseiten eingefügt und ausgeführt. Häufig täuscht der Angreifer das Opfer und verleitet es dazu, eine Seite zu öffnen, die vom Angreifer bereitgestellte Daten oder Eingaben enthält. Auf ArcGIS Server-Sites kann es sich bei diesen Daten um Features handeln, die von einem Feature-Service zurückgegeben wurden.
Mit ArcGIS Server können Features auf potenzielle XSS-Angriffe gescannt werden. Features können einerseits beim Hinzufügen und Aktualisieren gescannt werden und darüber hinaus, wenn sie an Client-Anwendungen gesendet werden. Beim Überprüfen eines Features auf Schadcode sind jedoch auch falsche Treffer möglich oder die Deaktivierung von gültigem HTML-Code, der einem Feature zum Anzeigen von HTML-Pop-ups hinzugefügt wurde. Das Scanverhalten kann auf Service-Basis konfiguriert werden.
Standardmäßig werden Services bei ihrer Erstellung so konfiguriert, dass sie Bearbeitungen auf potenzielle Skripte hin untersuchen und diese blockieren, aber sie scannen keine Features, die vom Feature-Service abgerufen wurden. Ein Angreifer könnte diesen Scanvorgang für Bearbeitungen umgehen, indem er die Features so ändert, dass die Bearbeitungen nicht gescannt werden, zum Beispiel, indem die Datenbank mittels SQL bearbeitet wird. Am sichersten ist es, wenn Sie Ihre Services so konfigurieren, dass sämtliche Features gescannt werden. Durch das Scannen jedes Features, das von einem Skript abgerufen wird, kann sich die Performance verringern, es stellt aber eine gute Sicherheitsmaßnahme dar.
Das Ändern der Werte auf Basis der einzelnen Services kann die Verwaltung erschweren, weshalb üblicherweise unter Verwendung der Eigenschaft featureServiceXSSFilter ein Standardwert definiert wird. Dies ist eine Systemeigenschaft, die beim Erstellen von Services verwendet wird. Sie hat keine Auswirkung auf vorhandene Services und kann überschrieben werden, nachdem ein Service erstellt wurde.
Zum Festlegen dieser Systemeigenschaft melden Sie sich beim ArcGIS Server-Administratorverzeichnis an, und klicken Sie auf System > Properties. Die Eigenschaften werden als JSON-Objekt dargestellt. Kopieren Sie das vorhandene JSON-Objekt, und passen Sie es an, indem Sie die featureServiceXSSFilter-Eigenschaft hinzufügen.
Die featureServiceXSSFilter-Eigenschaft kann entweder auf input oder auf inputOutput festgelegt werden. Der input-Wert ist standardmäßig vorgegeben: Damit wird ArcGIS Server angewiesen, neue Feature-Services so zu konfigurieren, dass Bearbeitungen gescannt werden. Der inputOutput-Wert weist ArcGIS Server an, neue Feature-Services so zu konfigurieren, dass Bearbeitungen und zurückgegebene Features gescannt werden.
Um die Einstellungen eines bestimmten Service zu überschreiben, müssen Sie das ArcGIS Server-Administratorverzeichnis verwenden, den betreffenden Service finden und diesen bearbeiten. Die folgenden drei Eigenschaften werden auf Basis einzelner Feature-Services angewandt:
- xssPreventionEnabled aktiviert das Scannen nach Skripten und Code innerhalb von Features. Legen Sie diese Einstellung auf true fest.
- xssPreventionRule kann wahlweise auf input oder inputOutput festgelegt werden. Bearbeitungen werden immer gescannt, aber ausgehende Features werden nur dann auf Skripte gescannt, wenn der Wert inputOutput festgelegt wurde. Hiermit wird die systemweit gültige featureServiceXSSFilter-Eigenschaft überschrieben.
- xssInputRule gibt die Antwort auf gefundenen Schadcode an. Die Optionen sind rejectInvalid bzw. sanitizeInvalid. Der rejectInvalid-Wert entspricht dem Standardverhalten und wird empfohlen.
Beschränken von Dateiberechtigungen
Legen Sie Dateiberechtigungen so fest, dass der Zugriff auf das Installationsverzeichnis, den Konfigurationsspeicher und die Serververzeichnisse von ArcGIS Server auf die notwendigen Konten beschränkt ist. Das einzige Konto, auf das die ArcGIS Server-Software Zugriff benötigt, ist das ArcGIS Server-Konto. Dieses Konto wird zum Ausführen der Software verwendet. Möglicherweise werden in Ihrer Organisation weitere Konten für den Zugriff benötigt. Denken Sie daran, dass das ArcGIS Server-Konto vollständigen Zugriff auf das Installationsverzeichnis, den Konfigurationsspeicher und die Serververzeichnisse benötigt, damit die Site ordnungsgemäß funktioniert.
ArcGIS Server übernimmt die Dateiberechtigungen vom übergeordneten Ordner, in dem die Software installiert ist. Darüber hinaus erteilt ArcGIS Server dem ArcGIS Server-Konto Zugriffsberechtigung auf das Installationsverzeichnis. Dateien, die erstellt werden, während ArcGIS Server ausgeführt wird (z. B. Protokolle), übernehmen die Berechtigungen vom übergeordneten Ordner. Um den Konfigurationsspeicher und die Serververzeichnisse zu sichern, legen Sie eingeschränkte Berechtigungen für den übergeordneten Ordner fest.
Jedes Konto mit Schreibzugriff auf den Konfigurationsspeicher kann ArcGIS Server-Einstellungen ändern, die in der Regel nur von einem Systemadministrator geändert werden können. Wenn ein integrierter Sicherheitsspeicher zum Verwalten von Benutzern verwendet wird, enthält der Konfigurationsspeicher verschlüsselte Kennwörter für diese Benutzer. In diesem Fall sollte auch der Lesezugriff auf den Konfigurationsspeicher beschränkt werden.
Wenn Sie gesicherte Karten- oder Geoverarbeitungsservices verwenden, sperren Sie Dateiberechtigungen für Serververzeichnisse, um sicherzustellen, dass nicht autorisierte Konten keinen Zugriff auf Ausgaben von Karten- und Geoverarbeitungsaufträgen erhalten.
Deaktivieren des primären Site-Administratorkontos
Das primäre Site-Administratorkonto ist das Konto, das Sie angeben, wenn Sie eine Site in ArcGIS Server Manager erstellen. Der Name und das Kennwort des Kontos werden nur von ArcGIS Server erkannt. Es handelt sich dabei nicht um ein Betriebssystemkonto, und die Verwaltung erfolgt separat von dem Benutzerkonto in Ihrem Identitätsspeicher.
Deaktivieren Sie das primäres Site-Administratorkonto, um sicherzustellen, dass ArcGIS Server nur durch die im Identitätsspeicher angegebene Gruppe oder Rolle verwaltet werden kann. Vollständige Anweisungen finden Sie unter Deaktivieren des primären Site-Administratorkontos.
Definieren des gemeinsam verwendeten Schlüssels zum Erstellen eines ArcGIS-Token
Ein ArcGIS-Token ist eine Zeichenfolge mit verschlüsselten Informationen. Der freigegebene Schlüssel ist der kryptografische Schlüssel, der zum Generieren dieser verschlüsselten Zeichenfolge verwendet wird. Je komplexer der freigegebene Schlüssel ist, um so schwerer ist es für Benutzer mit bösen Absichten, die Verschlüsselung zu überwinden und den Schlüssel zu entschlüsseln. Falls es einem Benutzer gelingt, den freigegebenen Schlüssel zu entschlüsseln, den ArcGIS Server-Verschlüsselungsalgorithmus zu replizieren und die Liste autorisierter Benutzer abzurufen, kann er Token generieren und auf jede gesicherte Ressource auf diesem spezifischen ArcGIS Server zugreifen.
Bevor Sie einen freigegebenen Schlüssel definieren, sollten Sie Folgendes beachten:
- Für den freigegebenen Schlüssel sollten 16 Zeichen festgelegt werden (alle Zeichen nach dem 16. Zeichen werden nicht verwendet). Es wird empfohlen, eine Abfolge zufälliger Zeichen für den Schlüssel zu verwenden. Alle Zeichen sind zulässig, einschließlich nicht alphanumerischer Zeichen.
- Der Schlüssel sollte nicht auf einen Wert festgelegt werden, der leicht geraten werden kann (kein bestehendes Wort oder gängiger Wert). Da die Benutzer den Schlüssel weder andernorts verwenden noch ihn sich merken müssen, stellt die geforderte Komplexität anders als bei Kennwörtern hier kein Problem dar.
- Das Token wird mit der AES-Verschlüsselungsmethode (Advanced Encryption Standard), die auch Rijndael genannt wird, mit dem freigegebenen Schlüssel verschlüsselt. Die 16 Zeichen im Schlüssel stellen die 128 Bits dar, die zum Verschlüsseln verwendet werden. Weitere Informationen zu Verschlüsselung und AES erhalten Sie in den Sicherheitsinformationen oder von einem Experten für Sicherheit und Kryptografie in Ihrer Organisation.
- In hoch geschützten Umgebungen wird empfohlen, den freigegebenen Schlüssel regelmäßig zu ändern. Denken Sie daran, dass die Anwendungen möglicherweise aktualisiert werden müssen, um den neuen freigegebenen Schlüssel verwenden zu können. Alle vorhandenen eingebetteten Token werden ungültig, nachdem der freigegebene Schlüssel geändert wurde.
Weitere Informationen finden Sie unter ArcGIS-Token.
Verwenden eines gruppenverwalteten Service-Kontos
Verwenden Sie ein gruppenverwaltetes Service-Konto (Group Managed Service Account, gMSA) als Konto für die Ausführung des ArcGIS Server-Service. Durch die Verwendung eines gMSA können die Vorteile eines Active Directory-Domänenkontos genutzt und das Konto durch regelmäßige Kennwortaktualisierungen gesichert werden.
Sichere Übertragung von ArcGIS-Token
Verwenden Sie eine sichere Verbindung mit HTTPS, um das Abfangen und den Missbrauch von Token zu verhindern. Durch die Verwendung von HTTPS wird sichergestellt, dass der Benutzername und das Kennwort, die vom Client gesendet werden, und das von ArcGIS Server zurückgegebene Token nicht abgefangen werden können. Weitere Informationen finden Sie unter Sichere ArcGIS Server-Kommunikation.
Beim Erstellen benutzerdefinierter ArcGIS-Client-Anwendungen, die mit GET-Anforderungen auf Web-Services zugreifen, welche mit ArcGIS-Token-basierter Authentifizierung gesichert sind, senden Sie statt eines Abfrageparameters das Token im X-Esri-Autorisierungsheader. Dadurch kann verhindert werden, dass zwischengeschaltete Instanzen im Netzwerk, z. B. Proxys, Gateways oder Load Balancer, das Token abrufen. Im folgenden Beispiel für eine HTTP-GET-Anforderung wird das Token im X-Esri-Autorisierungsheader gesendet:GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1
Host: arcgis.mydomain.com
X-Esri-Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-
Wenn ArcGIS Server die ArcGIS Server-Authentifizierung, nicht jedoch die Authentifizierung auf Webebene (IWA, HTTP BASIC, PKI usw.) verwendet, kann anstelle des X-Esri-Autorisierungsheaders der standardmäßige HTTP-Autorisierungsheader verwendet werden:GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1
Host: arcgis.mydomain.com
Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-
Verwenden von standardisierten Abfragen
ArcGIS Server bietet eine Sicherheitsoption, standardisierte Abfragen genannt, die einen besseren Schutz vor der Einschleusung von SQL-Befehlen bietet. Diese Option ist standardmäßig aktiviert.
Serveradministratoren wird empfohlen, diese Sicherheitsoption aktiviert zu lassen und Anwendungsentwickler anzuweisen, WHERE-Klausel-Anweisungen zu erstellen, die eine datenbankunabhängige Syntax verwenden. Die Deaktivierung dieser Option kann Ihr System anfälliger für die Einschleusung von SQL-Befehlen machen.
Weitere Informationen hierzu finden Sie unter Standardisierte Abfragen.
Deaktivieren des Services-Verzeichnisses
Sie können das Services-Verzeichnis deaktivieren, um das Risiko zu reduzieren, dass Ihre Services durchsucht, in einer Websuche gefunden oder durch HTML-Formulare abgefragt werden. Auf diese Weise vermindern Sie die Angriffsfläche von ArcGIS Server.
Die Entscheidung, das Services-Verzeichnis zu deaktivieren, ist abhängig vom Zweck der Site und dem Grad, in dem Benutzer und Entwickler darin navigieren müssen. Wenn Sie das Services-Verzeichnis deaktivieren, müssen Sie wahrscheinlich andere Listen oder Metadaten zu den auf der Site verfügbaren Services erstellen.
Anweisungen zur Deaktivierung von Services-Verzeichnissen finden Sie unter Deaktivieren des Services-Verzeichnisses.
Beschränken von domänenübergreifenden Anforderungen
Domänenübergreifende Anforderungen kommen bei vielen Systemangriffen zur Anwendung. Es wird empfohlen, die Verwendung von ArcGIS Server-Services nur auf Anwendungen zu beschränken, die in vertrauenswürdigen Domänen gehostet werden. Weitere Informationen hierzu finden Sie unter Beschränken von domänenübergreifenden Anforderungen an ArcGIS Server.