Rechenzentrum


Navigation und Suche der Universität Osnabrück


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.

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