- SSL leicht gemacht – Zertifikat einbinden (Apache2)
- SSL leicht gemacht – CSR und Keyfile erstellen und Zertifikat ordern
- SSL leicht gemacht – forcierte Weiterleitung von HTTP auf HTTPS einrichten
- Realisierung einer clientbasierten Zertifikats-Authentifizierung (Mutual SSL) mit selbstsignierten Zertifikaten auf Linux + Apache
- SSL leicht gemacht – Zusammengehörigkeit von Zertifikaten überprüfen
Kürzlich hatten wir den Fall, dass uns ein Zertifikat auf einen alten CSR ausgestellt wurde und wir beim Einbinden in den Webserver Fehler erhielten.
Im Apache äußerte sich das ganze mit der Logausgabe:
[error] Unable to configure RSA server private key [error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
Dahingehend wurde bei der Einrichtung und Erneuerung der Zertifikate bei uns der Workflow angepasst. Jetzt werden zusätzlich vor dem Einlesen der Config noch die Prüfsummen der einzelnen Bestandteile verglichen, um solche Fehler zu vermeiden.
Mit den nachfolgenden Kommandos lassen sich die jeweiligen Prüfsummen ausgeben. Diese müssen jeweils zu allen anderen übereinstimmen.
openssl rsa -noout -modulus -in /etc/apache2/ssl/netways.de/netways.de.key | md5sum d0ed27eb1ecf771abc1e789c96e9b640 openssl req -noout -modulus -in /etc/apache2/ssl/netways.de/netways.de.csr | md5sum d0ed27eb1ecf771abc1e789c96e9b640 openssl x509 -noout -modulus -in /etc/apache2/ssl/netways.de/certificate.crt | md5sum d0ed27eb1ecf771abc1e789c96e9b640
Dann klappts auch mit dem Zertifikat und man kann sich sicher sein, alle zusammengehörigen Dateien zu haben.
Hinweis: Im Internet gibt es SSL Validation Checker wie Sand am mehr, allerdings rate ich auch an dieser Stelle dringend davon ab, SSL Keyfiles aus Produktionsumgebungen aus der Hand zu geben und in ein Online-Formular einzufügen. Diese Online-Checker greifen übrigens auch nur auf dieses einfache Verfahren zurück.
In den anderen (teilweise noch kommenden) Blogposts zum Thema SSL leicht gemacht geht es um:
- Erstellung eines Keyfiles und eines CSR
- Zertifikat einbinden (Apache2)
- forcierte Weiterleitung von HTTP auf HTTPS einrichten
- Hardening von unterstützen Ciphers und Protokollen – der Weg zum A+ Rating
- Zertifikat einbinden (nginx)
- Gitlab via TLS absichern
- Zertifikate selbst signieren
Übrigens: Zertifikate müssen nichts kosten. Eine Alternative mittels Letsencrypt ist hier beschrieben.