SSL-Server konfigurieren
Linux (am Beispiel Apache-Server)
Wenn Sie wie auf den Seiten Zertifikate beantragen ein Server-Zertifkat erhalten haben, müssen Sie noch ihren Apache-Webserver passend konfigurieren.- Der erzeugte private (geheime) Schlüssel ist noch durch ein Passwort geschützt. In der
Regel ist das aber nicht gewünscht, weil sonst der Webserver diesen beim Starten
nicht ohne Eingabe des Passworts lesen kann. Das bedeutet beim Starten
des Webservers ist immer ein manueller Eingriff erforderlich. Um den
privaten Schlüssel permanent zu entschlüsseln, geben Sie ein
openssl rsa -passin pass:geheim -in private_key_enc.pem -out private_key.pem
chmod 400 private_key.pemDamit wird der private Schlüssel für jeden, der die Datei private_key.pem lesen kann, sichtbar. Achten Sie deshalb auf die Dateirechte. Normalerweise sollte es reichen, wenn nur
root
die Datei lesen kann. Der Apache liest die Datei bevor er sein Root-Rechte aufgibt. -
Damit die Webbrowser das neue Zertifikat auf die im Webbrowser
importierten Wurzelzertifikate zurückführen können, müssen
Sie den Webbrowsern die gesamte Zertifikatskette
zur Verfügung stellen. Die Zertifikatskette wird vom Apache im PEM-Format benötigt. Man kann
diese aus dem "DFN-Verein PCA Classic - G01 (Wurzelzertifikat)"
und dem "Zertifikat der TUHH CA" zu finden hier unter "CA-Zertifikate", bzw.
dem "DFN-PCA-Zertifikat" und dem "DFN-CA Global G2 Zertifikat" zu finden
hier unter "CA-Zertifikate" selbst zusammenbauen
oder nimmt
- die Datei
cert-chain-global1.pem
/cert-chain-global2.pem
für Server-Zertifikate unter der Global-Policy mit Signatur-Algorithmus "sha256WithRSAEncryption" ohne Wurzelzertifikat. Diese Zertifikatskette wird benötigt für Webserver, damit die Validierung durch SSL LABS erfolgreich wird. - die Datei
cert-chain-global1-with-root.pem
/cert-chain-global2-with-root.pem
für Server-Zertifikate unter der Global-Policy mit Signatur-Algorithmus "sha256WithRSAEncryption". Diese Datei enthält auch das Wurzelzertifikat, falls der Server dies so benötigt.
- die Datei
-
Für den Apache Webserver müssen in der
httpd.conf
die Direktiven
SSLEngine on
SSLCertificateFile /etc/httpd/ssl.crt/cert.pem
SSLCertificateKeyFile /etc/httpd/ssl.key/private_key.pem
SSLCertificateChainFile /etc/httpd/ssl.crt/cert-chain-global2.pem
gesetzt werden.
Achten Sie darauf, dass nur root die Dateiprivate_key.pem
lesen kann. Insbesondere darf der laufende Apache (wenn er in einem anderen Account läuft) die Datei nicht lesen können. Sonst besteht die Gefahr, dass z.B. der private Schlüssel über unsichere CGI-Scripte ausgelesen werden kann.Nehmen Sie bitte die entsprechende Zertifikatskette zu Ihrem signierten Zertifikat, zu finden hinter der entsprechenden Einstiegsseite beim Online-Antrag unter "CA-Zertifikate".
Zertifikate unter dem Deutschen Telekom Root Wurzelzertifikat (läuft aus)
Zertifikate unter dem T-Telesec Global Root Class 2 Wurzelzertifikat
Linux (am Beispiel Tomcat-Server)
Wenn Sie wie auf den Seiten Zertifikate beantragen ein Server-Zertifkat erhalten haben, müssen Sie noch ihren Tomcat-Webserver passend konfigurieren. Damit die Webbrowser das neue Zertifikat auf die im Webbrowser importierten Wurzelzertifikate zurückführen können, müssen Sie den Webbrowsern die gesamte Zertifikatskette zur Verfügung stellen.- Neben dem erhaltenen cert-<nummer>.pem benötigen sie alle Zertifikate der Zertifikatskette. Diese erhalten Sie auf den Seiten des DFN ( Einstiegsseite für Zertifikate unter dem Deutschen Telekom Root Wurzelzertifikat / Einstiegsseite für Zertifikate unter dem T-Telesec Global Root Class 2 Wurzelzertifikat). Unter dem Reiter CA-Zertifikate lässt sich mittels Rechtsklick auf und Speichern unter die Zertifikatkette chain.txt in einem Schritt speichern und muss nicht selbst zusammengefügt werden.
- Aus der Zertifikatskette chain.txt, dem von der TUHH CA
signierten Tomcat-Server-Zertifikat cert-<nummer>.pem
und dem private_key_enc.pem wird nun ein Keystore im
PKCS12 Format server-cert.pkcs12 erzeugt:
openssl pkcs12 -export -chain -CAfile chain.txt -in cert-<nummer>.pem -inkey private_key_enc.pem -out server-cert.pkcs12 -name tomcat-server -passout pass:changeit
- Dies ist nur eine einzige Kommando-Zeile, Umbrüche durch den Webserver müssen beseitig werden. Der Name tomcat-server sollte dabei der Fully Qualified Domain Name (FQDN) und das Passwort changeit zum Schutz des Keystore gesetzt werden.
- Diese server-cert.pkcs12 Ausgabedatei kann nun als .keystore im HOME-Verzeichnis des Tomcat benutzt werden. (Falls der Server als root läuft also als mv server-cert.pkcs12 /root/.keystore.)
- Der Server muss diese Änderungen noch in /conf/server.xml
im Installationsverzeichnis des Tomcat eingestellt bekommen. Dies erfordert das
Einkommentieren/Erstellen dieses Blockes:
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<Connector port="443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true
acceptCount="100" scheme="https" secure="true" keystoreType="PKCS12"
clientAuth="false" sslProtocol="TLS" keystoreFile="/root/.keystore"
keystorePass="changeit" />Wichtig ist dabei die Anpassung des Connector port="443" sowie die explizite Nennung des Formates keystoreType="PKCS12". Das Passwort wird benötigt, damit der Tomcat-Server das Zertifikat aus dem geschützen Keystore beim Starten laden kann.
- Der Tomcat muss neu gestartet werden, damit die Änderungen übernommen werden.
Windows-Server (am Beispiel IIS)
Wenn Sie wie auf den Seiten Zertifikate beantragen ein Server-Zertifkat erhalten haben, müssen Sie noch alle nötigen Zertifikate und Schlüssel in den Zertifikatsspeicher des Computerkonto importieren und danach den IIS-Webserver entsprechend konfigurieren.- Um den Zertifikatsspeicher des Computerkonto zu bearbeiten, öffnen Sie eine
Management-Konsole und fügen Sie das Snap-In Zertifikate für das Computerkonto
hinzu:
Screenshots: - Danach müssen Sie die CA-Zertifikate importieren (rechter Mausklick!)
- Das Wurzelzertifikat DFN-Verein PCA Classic - G01 wird
unter Vertraute Herausgeber importiert:
Screenshots:
- Das Wurzelzertifikat DFN-Verein PCA Classic - G01 wird
unter Vertraute Herausgeber importiert:
- Das Zertifikat der TUHH CA wird importiert unter Vertrauenswürdige Stammzertifizierungsstellen,
damit der Webserver, die gesamte Zertifikatskette liefern kann.
Screenshots:
openssl pkcs12 -export -passin pass:geheim -passout pass:geheim2 -inkey private_key_enc.pem -in cert.pem -out winsslcer.p12
Darin ist geheim2 das Export/Import-Passwort, dass sie später beim Importieren eingeben müssen. geheim ist das Passwort, dass Sie beim Erzeugen des Zertifikatsantrages eingegeben haben. Die PKCS12-Datei winsslcer.p12 enthält nun den geheimen, privaten Schlüssel und das neue Zertifikat des Webservers in einem Format, das Windows verarbeiten kann.
Screenshots:
Screenshots: