Systemhärtung
security.manager wird mit Voreinstellungen ausgeliefert, die eine schnelle und unkomplizierte Inbetriebnahme erlauben. Um die Sicherheit des Systems für den Einsatz in einer Produktivumgebung zu erhöhen, befolgen Sie die Anweisungen auf dieser Seite.
Als Administrator oder Verantwortlicher des Betriebs können Sie mit dieser Dokumentation die kritischsten Sicherheits-Einstellungen anpassen und das System für die Kommunikation über HTTPS vorbereiten.
Auf dieser Seite erfahren Sie außerdem, welche weiteren bewährten Maßnahmen empfohlen werden und welche über diese Dokumentation hinausreichenden Aspekte für die Sicherheit Ihres Betriebs von Interesse sein könnten.
Empfohlene Schritte zur Härtung
Dieser Abschnitt beschreibt die von uns empfohlenen Schritte zur Härtung Ihres Systems und unterscheidet zwischen den folgenden Prioritäten:
| Priorität | Bedeutung | 
|---|---|
| 1 | Empfohlene Anpassung. Gewährleistet ein Mindestmaß an Sicherheit. | 
| 2 | Optionale Anpassung. Erlaubt den Betrieb in speziellen Einsatzszenarien. | 
| - | Keine Anpassung. Die Standard-Einstellung gewährt bereits die höchste Sicherheit. | 
Wenn nicht anders angegeben, können alle in den folgenden Tabellen genannten Einstellungen in den application.properties vorgenommen werden.
Falls eine der Eigenschaften mit einem Standardwert vorbelegt ist, kann dieser ebenfalls der Tabelle entnommen werden.
Für weitere Informationen zu den jeweiligen Einstellungen, lesen Sie das Kapitel Konfiguration.
Schutz gegen Manipulationen erhöhen
Mindern Sie das Risiko gegen Man-in-the-Middle-Angriffe, Cross-Site Request Forgery (CSRF) und andere Arten von Manipulationen, indem Sie die folgenden Schritte durchführen:
- 
Etablieren Sie HTTPS als Voraussetzung für weitere Absicherungen: - 
Hintergrundinformationen liefert das Kapitel Ausgehende HTTPS-Verbindungen. 
- 
Richten Sie eine HTTPS-Verbindung unter Apache Tomcat ein, wie im Kapitel Nach der Installation beschrieben. 
 
- 
- 
Verbessern Sie über die folgenden Einstellungen die grundlegende Sicherheit der Anwendung, indem Sie Cookies absichern, erlaubte Hostnamen definieren und HTTP-Header für sicherere Kommunikation einschalten. 
- security.ssl.trustAny
- 
Priorität 1Standardwert trueEmpfohlener Wert false
- security.sso.cookie.domain
- 
Priorität 1Empfohlener Wert Name Ihrer Domain (wenn möglich, Subdomain wählen). Beispielwert sub.example.com
- security.sso.cookie.secure
- 
Priorität 1Standardwert falseEmpfohlener Wert true
- security.sso.cookie.samesite
- 
Priorität 1Standardwert falseEmpfohlener Wert true
- cors.allowed.origins
- 
Priorität 2Standardwert http://www.arcgis.com,https://www.arcgis.comEmpfohlener Wert Ihre komma-getrennte Liste von URLs 
- cors.any.origins
- 
Priorität -Standardwert falseEmpfohlener Wert false
Zugriff auf abgesicherte Endpunkte einstellen
Es gibt offene Endpunkte (z.B. zur Validierung einer SSO-Session), die von außen zugegriffen werden können.
Mit Hilfe der folgenden Parameter können Hostnamen und IP Adressen für einen solchen Zugriff freigegeben werden (localhost muss nicht angegeben werden):
- security.allowed.hostnames
- 
Priorität 2Empfohlener Wert Liste von komma-getrennten Hostnamen Beispielwert hostA,hostB,hostC
- security.allowed.ipranges
- 
Priorität 2Empfohlener Wert Liste von komma-getrennten IPv4 oder IPv6 Bereichen. Beispielwert 172.12.25.84,172.12.25.0/24,172.12.25.10-172.12.25.20
Schutz gegen Clickjacking erhöhen
Die folgende Eigenschaft steuert die erlaubten Quellen, die den security.manager als iframe einbetten dürfen. Die Liste ist standardmäßig leer. Iframes mit der selben Quellseite wie der security.manager können diesen immer einbetten. Durch das Blocken unerlaubter Quellseiten wird verhindert, dass fremde Quellen den in einem iframe eingebetteten security.manager mit eigenen Inhalten überlagern können und so Interaktionen auf die fremden Inhalte umleiten können (z.B. das Eingeben von Passwörtern im vermeintlich richtigen Kennwort-Feld).
- security.embedding.allowed.origins
- 
Priorität 2Empfohlener Wert Liste von komma-getrennten Quellen Beispielwert http://example.com:8080,http://example.net
Schutz gegen Brute-Force Attacken erhöhen
Verhindern Sie mit den folgenden Einstellungen, dass Anmelde-Informationen mittels Brute-Force Attacken nach Außen gelangen und schalten Sie bei Bedarf die Protokollierung von Login-Versuchen ein.
Die Zahl maximal aufeinanderfolgender Fehlversuche pro Nutzername wird auf 3 bzw. pro IP-Adresse auf 10 gesetzt. Die Sperrung dauert 30 Minuten an.
- security.user.login.lock.username
- 
Priorität 1Standardwert falseEmpfohlener Wert true
- security.user.login.log
- 
Priorität 2Standardwert falseEmpfohlener Wert true
Schutz gegen Kennwortkompromittierung erhöhen
Eine starke Kennwort-Richtlinie kann die Sicherheit Ihres Systems erhöhen:
- security.user.userpwd.regexpr
- 
Priorität 1Standardwert (\w|-){8,}
 Buchstaben, Ziffern, Unter- und Bindestrich min. Länge 8Empfohlener Wert Regulärer Ausdruck für ein sichereres Kennwort: 
 ^.*(?=.{10,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%&=]).*$
 (Mindestens 10 Zeichen Länge, mindestens einen Klein- und einen Großbuchstaben, sowie eine Zahl und ein Sonderzeichen, erlaubte Sonderzeichen:@#$%^&=)
- security.password.history.check.count
- 
Priorität 1Standardwert 0(keine Prüfung)Empfohlener Wert 6
- security.password.history.capacity
- 
Priorität 1Standardwert 0Empfohlener Wert Wählen Sie einen Wert, der gleich dem oder größer als der Wert security.password.history.check.countist.
- security.password.changePause
- 
Priorität 1Standardwerte 0sEmpfohlener Wert 5s
- security.user.userpwd.validate
- 
Priorität -Standardwert trueEmpfohlener Wert trueSie können mittels security.user.userpwd.validationkey.#die Fehlernachrichten, die der Nutzer zur Kennwort-Validierung erhält, anpassen.
Außerdem können Sie für der Wiederherstellung des Kennworts strengere Vorgaben machen, falls Sie Kennwort-Wiederherstellung einschalten:
- usermgr.passwordrecovery.timeout
- 
Priorität -Standardwert 1440Empfohlener Wert 1440
- usermgr.passwordrecovery.enabled
- 
Priorität -Standardwert falseEmpfohlener Wert false
- usermgr.passwordrecovery.showstartpagelink
- 
Priorität -Standardwert falseEmpfohlener Wert false
Schutz gegen URL-Umleitungen erhöhen
security.manager nutzt u.a. URL Parameter, um beispielsweise nach dem Login einen Nutzer zurück zur ursprünglichen Seite zu leiten. Damit diese Umleitung nicht missbraucht werden kann, um den Nutzer zu einer gefährlichen Seite zu leiten, können Sie festlegen, welche Hosts und URLs für diese Art von Weiterleitung erlaubt werden sollen:
- security.login.redirect.trusted.hosts
- 
Priorität 2Standardwert localhostEmpfohlener Wert Liste von komma-getrennten Hostnamen Beispielwert hostA,hostB
- security.login.redirect.trusted.urls
- 
Priorität 2Standardwert <administration.webapp>/**,<gateway.webapp>/**,<wss.webapp>/**Empfohlener Wert Liste von komma-getrennten URLs 
- security.login.redirect.trusted.sameHost.sameContext
- 
Priorität -Standardwert falseEmpfohlener Wert false
- security.login.redirect.trusted.sameHost
- 
Priorität -Standardwert trueEmpfohlener Wert true
Umgang mit geblockten Ressourcen
Ressourcen, die von außen zugreifbar sein sollen, können mithilfe dieser Einstellung explizit freigegeben werden (Hinweise auf geblockte Ressourcen finden Sie in der Datei ct-security-wss-webapp.log):
- security.forwardmapping.extrapathpattern
- 
Priorität 2Empfohlener Wert Ihre komma-separierte Liste von Pfaden ( *oder**als Wildcards sind möglich)Beispielwert wfs-schema/featureType.xsd,wfs-schema2/*.xsd,wfs-schema3/**
Zusätzliche bewährte Maßnahmen
Initiale Kennwörter und deren Stärke
Diese Kennwörter setzen Sie als Administrator selbst. Wählen Sie hier ein besonders sicheres Kennwort:
- 
Kennwort des Super-Administrators "smadmin" (bereits während der Installation) 
- 
Kennwort für den Keystore (außerhalb des security.manager) 
- 
Kennwörter für Datenbanknutzer (außerhalb des security.manager) 
- 
Kennwörter für E-Mail-Server (außerhalb des security.manager) 
- 
Kennwörter für technische AD-Nutzer (außerhalb des security.manager) 
Nach der Installation
Am Ende der Installation bietet Ihnen security.manager Informationen zur Installation in Form einer Textdatei (<Installationsverzeichnis>/postinstall/postinstall_*.txt).
Diese Datei enthält z.B. Kennwörter für die Konfiguration der Datenbank-Verbindung.
Sorgen Sie dafür, dass diese Informationen nicht an Dritte weitergegeben bzw. nicht an unsicheren Orten abgespeichert werden.
Weiterführende Themen
Nachdem Sie die ersten Schritte zur Härtung Ihres Systems durchgeführt haben, empfehlen wir, sich diesen - über den Umfang dieser Dokumentation hinaus gehenden - Themen zu widmen:
- 
Zugriff auf bzw. Manipulationsmöglichkeit von Verzeichnissen und Dateien verhindern - zum Beispiel auf .keystore, Datenverzeichnis, Installationsverzeichnis. 
- 
Weiterführende Maßnahmen zur Härtung von Apache Tomcat (neben der Einrichtung von SSL und HTTPS). 
- 
Für den Betrieb nötige Datenbank-Berechtigungen nach Ausführung der Installationsskripte anpassen/zurücksetzen. 
Wir unterstützen Sie
Wir unterstützen Sie bei der Umsetzung der folgenden Themen der Systemhärtung:
- 
Apache Tomcat 
- 
Kennwort Policies 
- 
Cookie-Konfiguration 
- 
Default-Logins (smadmin-Nutzer) 
- 
SSL-Zertifikate und Verschlüsselung 
- 
Sichere Anbindung von Drittsystemen (LDAP, DB, Mailserver) 
Für weitere Informationen und ein Angebot hierzu, kontaktieren Sie den con terra Support .