CSSCurrent de:Konfiguration des Webservers

Aus Cryptshare Documentation
Version vom 30. Juni 2023, 09:34 Uhr von imported>Frorathm
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche



Über die Webserver-Konfiguration

Cryptshare verwendet einen Jetty-Webserver für die Darstellung der Webseiten. Dieser wird als Teil der Cryptshare-Installation mit ausgeliefert, installiert und konfiguriert. In der Regel ist eine Anpassung der Konfiguration des Webservers nicht erforderlich. Um eine Änderung in Ausnahmefällen dennoch zu ermöglichen, ist die Konfiguration auf eigene Konfigurationsdateien ausgelagert. Diese befinden sich im Installationsverzeichnis unter 'resources/WEB-INF'.

Abgesehen von einer Anpassung der SSL-Konfiguration sollten diese Dateien unverändert bleiben.

Webserver-Konfigurationsdateien

Datei Bereich Beschreibung
ui-config.xml Benutzeroberfläche Port- und SSL-Konfiguration für die Benutzeroberfläche auf Windows Servern
ai-config.xml Administrationsoberfläche Port- und SSL-Konfiguration für die Administrationsoberfläche

Webanwendungs-Konfigurationsdateien

Diese Dateien sind standardmäßig nicht im Verzeichnis "resources/WEB-INF" vorhanden, können aber bei Bedarf erstellt werden, um die Standardeinstellungen zu überschreiben.

Datei Bereich Beschreibung
ui-web.xml Benutzeroberfläche Anwendungs- und Sicherheitskonfiguration für die Benutzeroberfläche
ai-web.xml Administrationsoberfläche Anwendungs- und Sicherheitskonfiguration für die Administrationsoberfläche
ws-web.xml Webservice Anwendungs- und Sicherheitskonfiguration für die WSDL-Schnittstelle

Konfiguration der Ports

Es besteht die Möglichkeit, die Ports ohne eine Bearbeitung der XML-Konfigurationsdateien anzupassen. Die gewünschen Port-Nummern können stattdessen über die Datei "launcher.ini" angegeben werden, die sich im Installationsverzeichnis befindet.

Für weitere Information lesen Sie bitte den Abschnitt über die Systemstart-Einstellungen.

SSL Konfiguration

Jede der *-config.xml Dateien enthält die SSL Konfigurationen für den entsprechenden Bereich der Cryptshare Anwendung. Folgende Einstellungen können dabei geändert werden:

  • Passwort für den 'TrustStore'
  • Passwort für den Cryptshare 'Keystore'
  • Passwort für das verwendete SSL Zertifikat
  • Zugelassene SSL Protokolle
  • Verweigerte SSL Protokolle
  • Ausgeschlossene SSL Cipher Suites

Ändern von SSL Passwörtern

Cryptshare verwendet für alle Seiten der Anwendung einen Java TrustStore sowie einen Keystore zur Speicherung des Webseitenzertifikates.

Wird eines der Passwörter geändert, so muss diese Änderung in allen vorhandenen Konfigurationsdateien hinterlegt werden: ui-config.xml und ai-config.xml

Verwalten von SSL Zertifikaten

Ausführliche Informationen zur Administration von SSL Zertifikaten sind im Kapitel 'Einrichtung eines SSL-Zertifikates' zu finden.

Allgemein kann zur Verwaltung der Java Keystores das Windows Tool 'KeyStore Explorer' - https://keystore-explorer.org/downloads.html verwendet werden. Dies ist ein kostenlos verfügbares Windows Tool, mit dem alle Verwaltungsaufgaben bezüglich eines SSL Zertifikates für Java durchgeführt werden können.

Verwaltung zulässiger Protokolle und Cipher Suites

Der Cryptshare Webserver wurde so konfiguriert, dass alle als unsicher bekannten Protokolle sowie Cipher Suites deaktiviert sind. Dies kann unter älteren Browsern dazu führen, dass der Aufbau der SSL Verbindung nicht möglich ist. In diesen Fällen ist es ratsam, den Browser zu wechseln, oder auf eine aktuelle Version zu aktualisieren. Sollte dies nicht möglich sein, so kann das betroffene Protokoll, bzw. die betroffene Cipher Suite, mittels der entsprechenden Konfigurationsdatei wieder aktiviert werden (siehe Abschnitt 'SSL Konfiguration ').

Bitte beachten Sie dabei, dass dies dazu führen kann, dass SSL Verbindungen mit geringer Sicherheit verwendet werden können und dieses Vorgehen daher nicht empfohlen wird.

Server Name Indication (SNI) aktivieren

SNI kann aktiviert werden, indem die Systemeigenschaft cryptshare.ui.sniHostCheck auf true gesetzt wird.

Konfigurieren der Standard Einstellungen für TLS

Es ist möglich, die Standard-TLS-Einstellungen des Cryptshare-Servers zu konfigurieren. Daher ist es notwendig, die Konfigurationsdateien des Jetty-Webservers (ui-config.xml / ai-config.xml) zu bearbeiten. Die Dateien befinden sich im Cryptshare-Installationsverzeichnis (resources/WEB-INF).

Dies ist der relevante Teil der Konfigurationsdateien:

ui-config.xml/ai-config.xml

<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "resources/WEB-INF/configure.dtd">
<Configure id="Cryptshare" class="org.eclipse.jetty.server.Server">
	<New id="sslContextFactory" class="com.cryptshare.server.CSSSLContextFactory">
		<Set name="KeyStorePath">lib/security/keystore</Set>
		<Set name="KeyStorePassword">CA0AZhuFM4NogQh</Set>
		<Set name="KeyManagerPassword">CA0AZhuFM4NogQh</Set>
		<Set name="TrustStorePath">
			<SystemProperty name="java.home" default="."/>/lib/security/cacerts
		</Set>
		<Set name="TrustStorePassword">changeit</Set>
		<Set name="protocol">TLSv1.2</Set>
		<Set name="renegotiationAllowed">false</Set>
		<Set name="includeProtocols">
			<Array type="java.lang.String">
				<Item>TLSv1.2</Item>
				<Item>TLSv1.3</Item>
			</Array>
		</Set>
		<Set name="excludeProtocols">
			<Array type="java.lang.String">
                <Item>TLSv1</Item>
				<Item>TLSv1.1</Item>
				<Item>SSLv3</Item>
				<Item>SSLv2Hello</Item>
			</Array>
		</Set>

Im Abschnitt "includeProtocols" werden alle Protokolle aufgelistet, die für den Cryptshare-Server verfügbar sind. Im Abschnitt "excludeProtocols" sind alle Protokolle aufgeführt, die vom Cryptshare-Server nicht unterstützt werden.

Konfiguration des Session Timeouts für das User Interface

Es ist möglich, den Session Timeout für das User Interface manuell zu konfigurieren. Im Standard existiert ein Session Timeout von 30 Minuten.

Um einen Timeout abweichend vom Standard zu konfigurieren, muss die ui-web.xml angepasst werden. Dazu muss im <session-config> Block eine neue Zeile für den Timeout eingefügt werden (siehe unten).

...
<session-config>
   <cookie-config>
      <http-only>true</http-only>
   </cookie-config>
   <session-timeout>45</session-timeout>
</session-config>
...

Der angegebene Wert entspricht einem Timeout in Minuten.