TLS/SSL Certificate
Sicherheit wird bei dem Release-Manager (RM) großgeschrieben. Um die Sicherheit der Daten zu gewährleisten wird TLS eingesetzt. TLS ist ein Verfahren für die Verschlüsselung von Informationen zwischen mehreren Computern und Servern.
Bei dem Release-Manager (RM) wird SSL auch verwendet um die Benutzer zu authentifizieren. Dabei wird ein Verfahren eingesetzt dass sich Private-Key-Infrastructure (PKI) nennt.
Um TLS korrekt zu verwenden muss der Servlet-Container konfiguriert werden. Die Konfiguration unterscheidet sich abhängig vom eingesetzten Servlet-Container. In den folgenden Abschnitten werden verschiedene Konfigurationsempfehlungen vorgestellt. Dabei wird davon ausgegangen dass ein SSL-Zertifikat bereits existiert.
In den folgenden Beispielen werden bestimmte Annahmen getroffen über die gegebenheiten des Servers. Sollten diese Annahmen nicht zutreffen müssen die Beispiele entsprechend angepasst werden.
Es wird davon aus gegangen dass ein Keystore existiert mit dem Dateinamen ${user.home}/.keystore
und dem Passwort your-truststore-password
. Sollte das nicht zutreffen sind die tatsächlichen Gegebenheiten auf die Beispiele zu übertragen.
Tomcat 8-9
Um eine TLS-Verbindung mit Tomcat 8-9 aufzubauen muss die Konfigurationsdatei server.xml
bearbeitet werden. Bitte tragen Sie dazu folgende Zeilen in die Konfigurationsdatei ein:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" scheme="https" secure="true" SSLEnabled="true" URIEncoding="UTF-8"> <SSLHostConfig truststoreFile="${user.home}/.keystore" truststorePassword="your-truststore-password" certificateVerification="optionalNoCA" ciphers="TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"> <Certificate certificateFile="/etc/letsencrypt/live/localhost/cert.pem" certificateKeyFile="/etc/letsencrypt/live/localhost/privkey.pem" certificateChainFile="/etc/letsencrypt/live/localhost/chain.pem" type="RSA"/> </SSLHostConfig> </Connector>
Bitte beachten Sie das die eingesetzten Ciphers eine Empfehlung aus Dezember 2022 sind. Es wird empfolen aktuelle Ciphres zu verwenden. Die Überprüfung ob ein Ciphre noch aktuell ist sollte regelmäßig stattfinden.
PKI-Zertifikat für GIT
Das Zertifikat für die Authentifizierung im Browser ermöglicht auch die Authentifizierung gegenüber der GIT Versionsverwaltung. Dafür muss das p12-Zertifikat in ein pem-Zertifikat umgewandelt werden. Es kann OpenSSL für die Umwandlung verwendet werden.
Das Kommando für die Umwandlung von einem p12-Zertifikat in ein pem-Zertifikat lautet:
openssl pkcs12 -in foobar.p12 -out foobar.pem -nodes
Nachdem das p12-Zertifikat in ein pem-Zertifikat umgewandelt wurde, muss das pem-Zertifikat der GIT-Konfiguration bekannt gemacht werden.
git config http.sslCert /home/user/foobar.pem
Jetzt sollte GIT in der Lage sein sich gegenüber dem Release Manager (RM) zu authentifizieren.