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 zuroot
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:
Digicert stellt eine Webseite zur Verfügung mit der die SSL Konfiguration des eigenen Servers sehr einfach überprüft werden kann:
https://www.digicert.com/help oder https://www.ssllabs.com/ssltest/
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
# 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.