CSSCurrent de:Webserver Konfiguration

Aus Cryptshare Documentation
Version vom 4. August 2023, 09:14 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 oder der verwendeten Ports (vor Version 3.12.0.0) 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 (vor Version 3.12.0.0)

Jede der \*-config.xml Dateien enthält die Port-Konfigurationen für den entsprechenden Bereich der Cryptshare-Anwendung. Dabei gibt es jeweils eine Konfiguration für HTTP und HTTPS.

Konfiguration des HTTP-Ports

  • Öffnen Sie die XML-Konfigurationsdatei für den Bereich der Cryptshare-Anwendung, für den der Port geändert werden soll.
  • Suchen Sie den Abschnitt für den 'ServerConnector'.
  • Ändern Sie den Inhalt des XML-Tags mit dem 'name'-Attributwert 'port' auf den gewünschten Wert (Portnummer).
  • Starten Sie den Cryptshare Server neu.

18945983.png

Konfiguration des HTTPS-Ports

  • Öffnen Sie die xml Konfigurationsdatei für den Bereich der Cryptshare Anwendung, für den der Port geändert werden soll.
  • Suchen Sie den Abschnitt für den 'HttpConfiguration', 'httpConfig'.
  • Ändern Sie den Wert für 'jetty.secure.port' auf den gewünschten Wert.
  • Suchen Sie den Abschnitt für den 'HttpConfiguration', 'tlsHttpConfig'.
  • Ändern Sie den Wert für 'jetty.tls.port' auf den gewünschten Wert.
  • Suchen Sie den Abschnitt 'host'.
  • Ändern Sie den Wert für 'jetty.tls.port' auf den gewünschten Wert.
  • Starten Sie den Cryptshare Server neu.

18945984.png

Konfiguration der Ports (Version 3.12.0.0 oder höher)

Beginnend mit Version 3.12.0.0 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
  • 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' - http://keystore-explorer.sourceforge.net/downloads.php verwendet werden. Dies ist ein frei 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' im Kapitel Webserver).

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.
Cipher Suites für starke Verschlüsselung
Einige starke Cipher Suites dürfen in bestimmten Ländern nicht legal verwendet werden und sind daher nicht standardmäßig aktiviert. Wenn Sie diese Cipher Suites verwenden möchten, finden Sie weitere Informationen hierzu in der Technote Using Strong Encryption Ciphers in unserer Knowledge Base.

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.befinesolutions.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.1</Item>
				<Item>TLSv1.2</Item>
			</Array>
		</Set>
		<Set name="excludeProtocols">
			<Array type="java.lang.String">
                <Item>TLSv1</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.

Reaktivieren von TLS 1.0 und TLS 1.1

Wenn es notwendig ist, TLS 1.0 und/oder TLS 1.1 zu reaktivieren, müssen die Konfigurationen des Jetty-Webservers aktualisiert werden (siehe unten):

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.befinesolutions.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</Item>
				<Item>TLSv1.1</Item>
				<Item>TLSv1.2</Item>
			</Array>
		</Set>
		<Set name="excludeProtocols">
			<Array type="java.lang.String">
				<Item>SSLv3</Item>
				<Item>SSLv2Hello</Item>
			</Array>
		</Set>

Die zu aktivierenden TLS Versionen werden dem Abschnitt "includeProtocols" hinzugefügt und aus dem Abschnitt "excludeProtocols" entfernt.

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 müssen 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.