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:

  1. Etablieren Sie HTTPS als Voraussetzung für weitere Absicherungen:

    1. Hintergrundinformationen liefert das Kapitel Ausgehende HTTPS-Verbindungen.

    2. Richten Sie eine HTTPS-Verbindung unter Apache Tomcat ein, wie im Kapitel Nach der Installation beschrieben.

  2. 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

1

Standardwert

true

Empfohlener Wert

false

security.sso.cookie.domain

Priorität

1

Empfohlener Wert

Name Ihrer Domain (wenn möglich, Subdomain wählen).

Beispielwert

.sub.domain.com

security.sso.cookie.secure

Priorität

1

Standardwert

false

Empfohlener Wert

true

security.sso.cookie.samesite

Priorität

1

Standardwert

false

Empfohlener Wert

true

cors.allowed.origins

Priorität

2

Standardwert

http://www.arcgis.com,https://www.arcgis.com

Empfohlener Wert

Ihre komma-getrennte Liste von URLs

cors.any.origins

Priorität

-

Standardwert

false

Empfohlener 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

2

Empfohlener Wert

Liste von komma-getrennten Hostnamen

Beispielwert

hostA,hostB,hostC

security.allowed.ipranges

Priorität

2

Empfohlener Wert

Liste von komma-getrennten IPv4 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örten im vermeintlich richtigen Kennwort-Feld).

security.embedding.allowed.origins

Priorität

2

Empfohlener Wert

Liste von komma-getrennten Quellen

Beispielwert

http://my-example.com:8080,http://demos.de

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

1

Standardwert

false

Empfohlener Wert

true

security.user.login.log

Priorität

2

Standardwert

false

Empfohlener Wert

true

Schutz gegen Kennwortkompromittierung erhöhen

Eine starke Kennwort-Richtline kann die Sicherheit Ihres Systems erhöhen:

security.user.userpwd.regexpr

Priorität

1

Standardwert

(\w|-){8,}
Buchstaben und Bindestrich min. Länge 8

Empfohlener 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

1

Standardwert

0 (keine Prüfung)

Empfohlener Wert

6

security.password.history.capacity

Priorität

1

Standardwert

0

Empfohlener Wert

Wählen Sie einen Wert, der gleich dem oder größer als der Wert security.password.history.check.count ist.

security.password.changePause

Priorität

1

Standardwerte

0s

Empfohlener Wert

5s

security.user.userpwd.validate

Priorität

-

Standardwert

true

Empfohlener Wert

true

Sie 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

1440

Empfohlener Wert

1440

usermgr.passwordrecovery.enabled

Priorität

-

Standardwert

false

Empfohlener Wert

false

usermgr.passwordrecovery.showstartpagelink

Priorität

-

Standardwert

false

Empfohlener 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

2

Standardwert

localhost

Empfohlener Wert

Liste von komma-getrennten Hostnamen

Beispielwert

hostA,hostB

security.login.redirect.trusted.urls

Priorität

2

Standardwert

<administration.webapp>/**,<gateway.webapp>/**,<wss.webapp>/**

Empfohlener Wert

Liste von komma-getrennten URLs

security.login.redirect.trusted.sameHost.sameContext

Priorität

-

Standardwert

false

Empfohlener Wert

false

security.login.redirect.trusted.sameHost

Priorität

-

Standardwert

true

Empfohlener 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

2

Empfohlener 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 Dokumetation 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 Inforamtionen und ein Angebot hierzu, kontaktieren Sie den con terra Support .