Verwendung von TLS/SSL Server-Zertifikaten

Wir stellen verschiedene Typen von TSL/SSL Server-Zertifikaten zur Verfügung:

  • Einfaches SSL Zertifikat
    Das einfache SSL Zertifikat schützt eine Domain (Bsp. www.example.com).
  • Multi-Domain SSL Zertifikat
    Das Multi-Domain SSL Zertifikat schützt mehrere Domains (Bsp. www, mail, dns.example.com).
  • Wildcard SSL Zertifikat
    Mithilfe von Wildcard SSL Zertifikaten können komplette Domains geschützt werden (Bsp. *.example.com).
  • Extended Validated (EV) SSL Zertifikat
    Extended Validated SSL Zertifkate sind digitale Zertifikate mit höheren Anforderung an die Validierung/Ausstellung seitens der Organisation. Sie erkennen EV Zertifikate im Browser an den grünen Balken oder Symbol (z.B. bei Banken).
  • Extended Validated (EV) Multi-Domain SSL Zertifikat
    Es gibt für die EV SSL Zertifikate auch Multi-Domain Zertifikate für den Schutz von mehreren Domains.

Die Zertifikate werden über unseren Zertifikats-Beauftragten am ZID beantragt. Dazu erstellen Sie einen Zertifikatsrequest (CSR) und senden den CSR und mit dem Zertifikatstypwunsch (siehe oben) an cert-admin@uibk.ac.at. Anschließend erhalten Sie eine ZIP-Datei mit dem Server-Zertifikat (CRT) und Informationen zur Installation.

Zertifikats-Request erstellen

DigiCert Webservice

Informationen zum erstellen von Zertifikats-Requests erahlten sie unter:

https://www.digicert.com/csr-creation.htm

Zertifikats-Request mit OpenSSL erstellen

Privaten Schlüssel erzeugen:

 
# openssl genrsa -out cert.key 4096

Request erzeugen:

 
# openssl req -sha256 -new -key cert.key -out cert.csr

oder beides gleichzeitig:

 
# openssl req -new -newkey rsa:4096 -sha256 -keyout cert.key -out cert.csr

Mit folgender Eingabe:

Country Code: :         AT
State/Country :         Tyrol
Location :              Innsbruck
Organisation :          University of Innsbruck
Organisation Unit :     IT Services
Common Name (Domain):   Servername.uibk.ac.at
emailAddress :          keine
 

oder über CLI mit obigen Eingaben:

# openssl req -new -newkey rsa:4096 -sha256 -keyout cert.key -nodes -subj "/C=AT/ST=Tyrol/L=Innsbruck/O=University of Innsbruck/OU=IT Services/CN=servername.uibk.ac.at/" -out cert.csr
 

Testen des generierten Zertifikats mit:

# openssl req -in cert.csr -text -verify -noout

Root- bzw. Intermediate-Zertifikate

Damit ein Webbrowser das TSL/SSL Zertifikat eines Servers validieren kann, muss das Zertifikat des Webservers von einer bekannten Zertifizierungsstelle ausgestellt worden sein. Dazu führt der Webbrowser eine aktuelle Liste von vertrauenswürdigen Zertifizierungsstellen (wie z.B. DigiCert) mit. Wenn das Server-Zertifikat von einem bekannten Root-Zertifikat aus der Sicht des Browserherstellers ausgestellt wurde führt die Valdierung zum Erfolg und die Verbindung ist verschlüsselt (Schloßsymbol in der Browser URL-Leiste).
Viele Zertifizierungsstellen (wie auch DigiCert) arbeiten über sogenannte Intermediate-Zertifikaten. Dass heißt das ausgestellte Server-Zertifikat kann nicht direkt über das Root-Zertifikate validiert werden. Deshalb muss der Webserver auch das Intermediate-Zertifikat zusätzlich zum Server-Zertifikat ausliefern, damit der Webbrowser die Zertifikatskette (Hierarchie) erfolgreich validieren kann.

Achtung: Die verschiedenen Zertifikatstypen verwenden verschiedene Root- und Intermediate-Zertifikate!

Zertifikatsketten

Folgende Zertifikatsketten werden für die unterstützten Server-Zertifikate verwendet:

Sie finden die Root- und Intermediate-Zertifikate auch unter folgenden URLs:

DigitCert Root CA Zertifikate: https://www.digicert.com/digicert-root-certificates.htm

TCS CA Intermediate Zertifikate: https://www.terena.org/activities/tcs/repository-g3/

Anwendungsbeispiele

Beispiel 1: Apache Webserver (RHEL)
  1. Unter RHEL installieren Sie bitte die RPM-Packete httpd und mod_ssl.
  2. Erstellen Sie eine Zertifikatskette (Chain) mit Root- und Intermediate-Zertifikat:
    # cat digicert.crt terena.crt > ca.pem
  3. Aktivieren Sie unter /etc/httpd/conf.d/ssl.conf folgende Konfiguration ein:
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/cert.crt
    SSLCACertificateFile /etc/pki/tls/certs/ca.pem
    SSLCertificateKeyFile  /etc/pki/tls/private/cert.key
Beispiel 2: HAProxy (Load Balancer mit TLS/SSL Terminierung)
  1. Unter RHEL installieren Sie bitte das RPM-Packet haproxy.
  2. Erstellen Sie eine Zertifikatskette (Chain) mit Root-, Intermediate-, Server-Zertifikat und privaten Schlüssel:
    # cat digicert.crt terena.crt server.crt server.key > cert.pem
  3. Beispielkonfiguration für HAProxy:
    frontend localhost
      bind *:80
      bind *:443 ssl crt /etc/haproxy/cert.pem
      mode http