SSL-Zertifikat einrichten


Diese Seite beschreibt die Einrichtung von SSL-Zertifikaten für Ihr WEEASY Appliance. Dabei wird davon ausgegangen, dass das Zertifikat direkt auf dem Apache Web Server Ihres Appliance installiert wird. Sollte das SSL-Zertifikat auf einer vorgeschalteten Firewall / Web Application Firewall installiert werden, so folgen Sie bitte der Beschreibung in der zugehörigen Dokumentation.




Vorraussetzungen

Für die Installation sind folgenden Voraussetzungen notwendig:

  • CA Bundle mit Root-Zertifikat der Organisation, die das Zertifikat erstellt hat (im folgenden intermediate.crt genannt)
    • Verwenden Sie nur SSL-Zertifikate von bekannten Zertifizierungsstellen wie GeoTrust oder Thwate
    • Diese Anleitung basiert auf sogenannten "CA Bundles". Diese werden von allen grossen Zertifizierungsstellen für Apache angeboten. 
    • SSL-Zertifikate werden von Internet-Providern wie 1&1 Internet in Kombination mit einer Domain häufig bereits für wenige EUR pro Monat angeboten.
       
  • SSL-Zertifikat für ihre Domain z.B. weeasy.company.com (im folgenden weeasy.company.com_ssl_certificate.crt genannt)
     
  • Key-File mit dem Private Key Ihres SSL-Zertifikat (im folgenden weeasy.company.com_private_key.key genannt)

  • ROOT Rechte auf dem WEEASY Appliance


SSL-Zertifikat installieren

  • Kopieren Sie die Zertifikat-Dateien von Ihrem Rechner auf das WEEASY Appliance z.B. mit WinSCP. Die Verbindung können Sie mit dem User "weeasy" herstellen.
    • Nach dem Kopieren befinden sich sich die folgenden drei Dateien auf dem Appliance

      • intermediate.cer

      • weeasy.company.com_ssl_certificate.cer

      • weeasy.company.com_private_key.key
         
  • Verbinden Sie sich per SSH auf das WEEASY Appliance. Mit dem Befehl su den Benutzer zu root wechseln
  • Wechseln Sie in das Verzeichnis in dem die Zertifikate liegen
  • Führen Sie die nachfolgenden Befehle aus

 

Security Hinweis

Auch wenn mit SSL ein grundsätzlich sicheres Protokoll verwendet wird, kommt es von Zeit zu Zeit vor, dass einzelen Teile davon als nicht mehr sicher eingestuft werden. Daher beim Betrieb eines WEEAY Appliance bitte regelmässig folgende Punkte prüfen:



# SSL-Zertifikate und Key-File an "richtige" Stelle verschieben
mv *.cer /etc/pki/tls/certs/
mv *.key /etc/pki/tls/private/
 
# Dateiberechtigungen korrigieren
chown -R root /etc/pki/tls/
chcon -v unconfined_u:object_r:httpd_config_t:s0 /etc/pki/tls/certs/*.cer
chcon -v unconfined_u:object_r:httpd_config_t:s0 /etc/pki/tls/private/*.key
 
# Apache SSL Konfiguration anpassen
vim /etc/httpd/conf.d/ssl.conf



# Ausserhalb der Virtual Host Section sind folgende Einträge anzupassen bzw. zu ergänzen

# OCSP Stapling aktivieren
SSLUseStapling          on
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingCache        shmcb:/var/run/ocsp(128000)
 

# Innerhalb von Virtual Host Section sind folgende Einträge anzupassen bzw. zu ergänzen
<VirtualHost *:443>
    ...
    # HSTS (mod_headers is required) (15768000 seconds = 6 months)
    Header always set Strict-Transport-Security "max-age=15768000"

    # SSL Cipher Suite so absichern, dass nur sichere Verschlüsselungsverfahren verwendet werden
    # Zur Überprüfung der aktuell als sicher betrachteten Verschlüsselungsverfahren stellt das Mozilla Team ein entsprechendes 
    # Tool unter folgender URL zur Verfügung: https://mozilla.github.io/server-side-tls/ssl-config-generator/
    SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder     off
    SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
    SSLCompression          off
     
    # Dabei sind folgende Konfigurationseinträge anzupassen
    SSLCertificateFile /etc/pki/tls/certs/weeasy.company.com_ssl_certificate.crt
    SSLCertificateKeyFile /etc/pki/tls/private/weeasy.company.com_private_key.key
    SSLCertificateChainFile /etc/pki/tls/certs/intermediate.crt

    ...
</VirtualHost>

 
# Server Name in Apache Konfiguration anpassen
vim /etc/httpd/conf/httpd.conf
 
# Dabei ist der folgende Eintrag anzupassen
ServerName weeasy.company.com
 
# Nach einen Neustart von Apache wird das Zertifikat nun verwendet.
systemctl restart httpd
 
# Ob das SSL-Zertifikat korrekt installiert ist, kann z.B. über https://www.digicert.com/help/ oder https://www.ssllabs.com/ssltest/ geprüft werden.



Unbedingt beachten

Damit es in Kombination mit anderen Server nicht zu Problemen kommt, muss unbedingt in der Apache Konfigurationsdatei /etc/httpd/conf/httpd.conf der Servername korrekt gesetzt sein. Anleitung siehe direkt oberhalb.