Hauptinhalt
Topinformationen
Installation eines Server-Zertifikats am Beispiel eines Apache-Webservers
Das folgende Beispiel beschreibt die Installation des Webmail-Server-Zertifikats des Rechenzentrums, das von der UNIOS-CA-G2 ausgestellt wurde. Das Zertifikat wurde für den Webmail-Server mit der Adresse "webmail.rz.uni-osnabrueck.de" ausgestellt. Durch die Installation des Zertifikats wird der Webmail-Server des Rechenzentrums SSLfähig. Hierzu wird ein Apache Web-Server (Version 2.0.49) eingesetzt.
- Installationsvoraussetzungen
- Erzeugen der chain-Datei
- Einbindung der Zertifikate und der chain-Datei in die Datei httpd.conf
Installationsvorausetzungen
Um das Webmail-Server-Zertifikat einzubinden, müssen openSSL und das Apache-Modul mod_ssl installiert sein. Außerdem müssen folgende Dateien in das Konfigurationsverzeichniss des Apache Web-Servers (hier: /etc/httpd/) kopiert werden.
- Das Webmail-Server-Zertifikat (hier: /etc/httpd/apachecert.pem)
- Der zugehörige private Schlüssel (hier: /etc/httpd/apachekey.pem)
- Die zugehörige chain-Datei (hier: /etc/httpd/chain.pem)
(siehe Erzeugen der chain-Datei)
Erzeugen der chain-Datei
Eine chain-Datei enthält hierarchisch geordnet die Zertifikate
der austellenden Zertifizierungsinstanzen.
Für das verwendete Beispiel sind in der chain-Datei das DFN-Verein Global Issuing CA Zertifikat, das DFN-Verein Certification Authority 2 Zertifikat und das T-Telesec Global Root Class 2 Zertifikat enthalten. Die chain-Datei
kann über folgenden Link bezogen werden: chain-Datei (pem-Format)
Einbindung der Zertifikate und der chain-Datei in die Datei httpd.conf
Damit der virtuelle Webmailserver des Rechenzentrums SSLfähig wird, müssen folgende Einträge in der Konfigurationsdatei des Apache Web-Servers httpd.conf (hier: /etc/httpd/httpd.conf) vorgenommen werden.
- LoadModule ssl_module modules/mod_ssl.so
das Modul mod_ssl wird über diese globale Direktive geladen
- <VirtualHost webmail.rz.uni-osnabrueck.de:443>
der Name des VirtualHost muss übereinstimmen mit dem common name (CN) im Zertifikat
- SSLEngine on
aktiviert SSL
- SSLCertificateFile /etc/httpd/apachecert.pem
Angabe des Server-Zertifikats
- SSLCertificateKeyFile /etc/httpd/apachekey.pem
Angabe des privaten Schlüssels
- SSLCertificateChainFile /etc/httpd/chain.pem
Folgende Direktive muss außerhalb der VirtualHost-Sektion stehen:
- SSLPassPhraseDialog exec:/etc/httpd/echoPassPhrase.sh
Das Skript echoPassPhrase.sh enthält die Passphrase (Passwort) des privaten Schlüssels (apachekey.pem) und gibt sie an stdout (Standardausgabe) aus.
Beispiel für eine echoPassPhrase.sh-Datei (sie enthält zwei Passphrases, für zwei virtuelle Web-Server, die an stdout übergeben werden):
echoPassPhrase.sh #!/bin/sh if [ $1 = "_default_:443" ]
then echo "Passphrase fuer _default_ -Server"
fi
if [ $1 = www.ein-virtueller-webserver.de:443 ]
then echo Passphrase fuer www.ein-virtueller-webserver.de
fi
Hinweis: Die Angabe der Direktive SSLPassPhraseDialog ist optional! Wird die Passphrase nicht per Skript übergeben, muss sie bei jedem Start des Web-Servers manuell eingegeben werden.
Anschließend muss der Apache Web-Server über das folgende
Kommando neu gestartet werden:
apachectl startssl