Übersicht #
RELIANOID kann HTTPS-Verbindungen verwalten (HTTP-Profil), daher muss der Systemadministrator seine eigenen Zertifikate erstellen (selbstsignierte Zertifikate) oder signierte Zertifikate von einer Zertifizierungsstelle erwerben. In beiden Fällen muss das Zertifikat im PEM-Format erstellt werden.
Das Sicherheitszertifikat muss ohne Kennwort erstellt werden und die Schlüssel und CSR müssen auf dem zu sichernden Server generiert werden.
Positives SSL ist im PEM-Format einsatzbereit, aber Rapid SSL muss konvertiert werden, da jede Datei das Zertifikat, die Zwischenzertifizierungsstelle und die Stammzertifizierungsstelle getrennt enthält.
Voraussetzungen: #
Um die Schlüssel im Server zu generieren, muss das Paket openssl installiert werden, in unserem Fall ist das RELIANOID Instanz, die bereits installiert sein sollte.
Generieren Sie zunächst den Schlüssel ohne Passphrase.
root@noid-ee-01:~# openssl genrsa -out host_domain_com.key 2048
Generieren Sie dann die signierte Zertifikatsanforderung (.csr) mit dem generierten Schlüssel (.key) als Eingabe.
root@noid-ee-01:~# openssl req -new -key host_domain_com.key -out host_domain_com.csr
Sobald das Zertifikat und die CA-Zwischendateien bereitgestellt wurden, stellen Sie sicher, dass Sie das Stammzertifikat des Ausstellers erhalten.
Alle getrennten Dateien müssen im PEM-Format vorliegen: Serverzertifikat, Zwischenzertifikat und Stammzertifizierungsstellenzertifikat. Wenn dies nicht der Fall ist, konvertieren Sie die Datei mit dem folgenden Befehl:
root@noid-ee-01:~# openssl x509 -in certFileName.csr -outform PEM -out konvertierterCertFileName.pem
Schließlich haben wir den privaten Schlüssel, das ausgestellte Zertifikat, das Zwischenzertifikat und das Stamm-CA-Zertifikat. Alle diese Dateiinhalte sollten kombiniert werden, um die PEM-Datei im UNIX-Format zu erstellen.
SSL-Zertifikat im PEM-Format generieren #
Um ein SSL-Zertifikat im PEM-Format zu erstellen, benötigen Sie in der Regel einen privaten Schlüssel , ein Zertifikat , ein Zwischenzertifikat (falls vorhanden) und ein Stammzertifikat . So erstellen Sie die PEM-Datei:
Bereiten Sie die Komponenten vor #
Private Key: Stellen Sie sicher, dass Sie den privaten Schlüssel haben, der dem Zertifikat entspricht.
Zertifikat: Erhalten Sie das für Ihre Domäne oder Ihren Server ausgestellte Zertifikat.
Zwischen-CA-Zertifikat: Wenn Ihr Zertifikat von einer Zwischenzertifizierungsstelle (nicht direkt von der Stammzertifizierungsstelle) ausgestellt wurde, benötigen Sie das Zertifikat der Zwischenzertifizierungsstelle.
Stammzertifizierungsstellenzertifikat: Möglicherweise benötigen Sie auch das Stamm-CA-Zertifikat, insbesondere wenn es nicht bereits im Vertrauensspeicher der Clientanwendungen oder -geräte enthalten ist.
Verketten der Komponenten #
Öffnen Sie einen Texteditor oder verwenden Sie Befehlszeilentools, um den privaten Schlüssel, das Zertifikat, das Zwischen-CA-Zertifikat (falls zutreffend) und das Stamm-CA-Zertifikat (falls erforderlich) in einer einzigen PEM-Datei zu verketten, wie unten gezeigt.
-----BEGIN RSA PRIVATE KEY----- Privater Schlüssel (ohne Passphrase) -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- Zertifikat (CN=www.mydomain.com) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Intermediate (Zwischen-CA, falls vorhanden) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Root (ROOT-CA, die das Zertifikat signiert) -----END CERTIFICATE-----
Sehen Sie sich das folgende Beispiel an, um zu erfahren, wie eine korrekte PEM-Datei aussieht.
-----BEGIN RSA PRIVATE KEY----- uiMTxBQnK9ApC5eq1mrBooECgYB4925pDrTWTbjU8bhb/7BXsjBiesBBVO43pDYL nUVxhqt4DT+4Vp5S7D9FQ+HagbhVInQXKXtT7FNFhpIxpRy512ElSuWvrELiZOwe -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- wYDVR0fBDwwOjA4oDagNIYyaHR0cDovL3JhcGlkc3NsLWNybC5n DYmhNE0IgXx6XRHiMAwGA1UdEwEB/wQCMAAwSQYIKwYBBQUHAQEEPTA7MDkGCCsG gOYD8kmKOsxLRWeZo6Tn8 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- EgYDVR0TAQH/BAgwBgEB/wIBADA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3Js JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmdlb3RydXN0LmNvbTANBgkqhkiG9w0B -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4 -----END CERTIFICATE-----
Die Konvertierung der gesamten PEM-Datei in das UNIX-Format ist zwingend erforderlich. Für Testzwecke steht ein Zertifikat namens zencert.pem oder noidcert.pem zur Verfügung, das mit HTTPS-Profilfarmen verwendet werden kann.
Stellen Sie sicher, dass die Reihenfolge der Zertifikate wie folgt ist:
1. Ihr Zertifikat
2. Zwischen-CA-Zertifikat (falls zutreffend)
3. Stamm-CA-Zertifikat
Verkettete PEM-Datei speichern #
Speichern Sie die zusammengesetzte PEM-Datei mit der Erweiterung .pem. Diese Datei enthält den privaten Schlüssel und die gesamte Zertifikatskette.
Verwenden der PEM-Datei #
Sie können die PEM-Datei nun in Ihrer Serverkonfiguration verwenden. Abhängig von Ihrer Serversoftware (z. B. Apache, Nginx, RELIANOID), müssen Sie ggf. den Pfad zur PEM-Datei in der SSL-Konfiguration angeben. RELIANOID, laden Sie einfach das SSL-Zertifikat über die Web-GUI hoch und weisen Sie es als Aktiviertes Zertifikat in jeder HTTPS-Farm.
Konfiguration überprüfen #
Nachdem Sie Ihren Server für die Verwendung der PEM-Datei konfiguriert haben, müssen Sie unbedingt die SSL/TLS-Konfiguration überprüfen, um sicherzustellen, dass die Zertifikatskette den Clients während des SSL-Handshakes korrekt präsentiert wird. Sie können verschiedene Online-SSL/TLS-Testtools oder Befehlszeilenprogramme wie OpenSSL verwenden, um die Konfiguration zu überprüfen und sicherzustellen, dass die Zertifikatskette vollständig ist.
Generieren Sie ein selbstsigniertes SSL-Zertifikat im PEM-Format #
Um ein selbstsigniertes SSL-Zertifikat im PEM-Format vom Load Balancer oder Server zu erstellen, führen Sie die folgenden Schritte aus:
1. Generieren Sie die Schlüssel- und Zertifikatsdateien mit einem 4096-Bit-RSA-Schlüssel für 1 Jahr ohne Passphrase mithilfe des folgenden Befehls:
root@noid-ee-01:~# openssl req -nodes -new -x509 -newkey rsa:4096 -keyout server.key -out server.cert -days 365 Generieren eines privaten RSA-Schlüssels .....++++ ..........................................................................................................................................................................++++ Schreiben eines neuen privaten Schlüssels in „server.key“ ----- Sie werden jetzt aufgefordert, Informationen einzugeben, die in Ihre Zertifikatsanforderung aufgenommen werden. Was Sie jetzt eingeben, ist ein so genannter Distinguished Name oder DN. Es gibt eine ganze Reihe von Feldern, aber Sie können einige leer lassen. Für einige Felder gibt es einen Standardwert. Wenn Sie „.“ eingeben, bleibt das Feld leer. ----- Ländername (2-Buchstaben-Code) [AU]: Name des Staates oder der Provinz (vollständiger Name) [Some-State]: Name des Ortes (z. B. Stadt) []: Name der Organisation (z. B. Unternehmen) [Internet Widgits Pty Ltd]: Name der Organisationseinheit (z. B. Abschnitt) []: Allgemeiner Name (z. B. Server-FQDN oder IHR Name) []: E-Mail-Adresse []:
Während der Ausführung dieses Befehls werden Sie aufgefordert, interaktiv Informationen einzugeben. Bitte geben Sie die erforderlichen Details ein.
2. Fügen Sie Schlüssel und Zertifikat mit folgendem Befehl zu einer PEM-Datei zusammen:
root@noid-ee-01:~# cat server.key server.cert >> server.pem
Dieser Befehl kombiniert den Schlüssel und das Zertifikat in einer einzigen PEM-Datei.
3. Ihr selbstsigniertes SSL-Zertifikat im PEM-Format ( server.pem ) ist nun bereit zur Verwendung mit Ihrem Proxy, Ihren Webdiensten oder Internetdiensten.
So sehen Sie den Inhalt eines SSL-Zertifikats #
Um den Inhalt eines SSL-Zertifikats anzuzeigen, können Sie verschiedene Tools und Befehle verwenden. Eine gängige Methode ist die Verwendung von OpenSSL, einem vielseitigen Befehlszeilentool, das verschiedene kryptografische Vorgänge unterstützt, einschließlich der Zertifikatsprüfung. So können Sie den Inhalt eines SSL-Zertifikats mit OpenSSL anzeigen:
OpenSSL-Befehl zum Abrufen der Zertifikatsdetails #
Öffnen Sie auf Ihrem System ein Terminal- oder Eingabeaufforderungsfenster.
Verwenden Sie den folgenden OpenSSL-Befehl, um den Inhalt des SSL-Zertifikats anzuzeigen:
root@noid-ee-01:~# openssl x509 -in zertifikat.pem -text -noout
Ersetzen Sie certificate.pem durch den Pfad zu Ihrer SSL-Zertifikatsdatei.
Wenn Ihr Zertifikat im PEM-Format vorliegt, zeigt dieser Befehl ausführliche Informationen zum Zertifikat an, darunter:
Aussteller
Betreff
Gültigkeitsdauer (Beginn- und Enddatum)
Informationen zum öffentlichen Schlüssel
Zertifikatserweiterungen
Signaturalgorithmus
Fingerabdrücke (SHA-1, SHA-256 usw.)
Sobald Sie den Befehl ausführen, gibt OpenSSL die Textdarstellung des Zertifikatsinhalts aus. Überprüfen Sie die angezeigten Informationen, um die Details des Zertifikats zu verifizieren, z. B. Aussteller, Betreff, Gültigkeitsdaten und andere relevante Metadaten.
DER-Zertifikate prüfen #
Wenn Ihr Zertifikat im DER-Format statt im PEM-Format vorliegt, können Sie die Option -inform der verwenden, um das Eingabeformat anzugeben:
root@noid-ee-01:~# openssl x509 -inform der -in certificate.pem -text -noout
Sie können die Ausgabe auch zur weiteren Analyse oder Dokumentation in einer Datei speichern, indem Sie die Shell-Umleitung (>) verwenden:
root@noid-ee-01:~# openssl x509 -in certificate.pem -text -noout > Zertifikatsdetails.txt
Dieser Befehl speichert die Zertifikatsdetails in einer Datei mit dem Namen certificate_details.txt.
Mithilfe des OpenSSL-Befehlszeilentools können Sie den Inhalt eines SSL-Zertifikats problemlos prüfen und seine Details verifizieren. So können Sie die Sicherheit und Gültigkeit Ihrer SSL/TLS-Verbindungen gewährleisten.
Überprüfen, ob in einem SSL-Zertifikat eine Zwischen- und Stammzertifizierungsstelle vorhanden ist #
Um zu überprüfen, ob in einem SSL-Zertifikat Zwischen- und Stamm-CA-Zertifikate vorhanden sind, muss die Zertifikatskette untersucht werden. So können Sie vorgehen:
Verwenden Sie OpenSSL oder ein anderes Tool, um die Details des SSL-Zertifikats anzuzeigen. Führen Sie den folgenden Befehl aus:
root@noid-ee-01:~# openssl crl2pkcs7 -nocrl -certfile zertifikat.pem | openssl pkcs7 -print_certs -noout Betreff=CN = meineDomain.com Aussteller=C = US, O = „DigiCert, Inc.“, CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1
Im obigen Beispiel ist nur das Zertifikat vorhanden.
root@noid-ee-01:~# openssl crl2pkcs7 -nocrl -certfile zertifikat.pem | openssl pkcs7 -print_certs -noout Betreff=CN = meineDomäne.com Aussteller=C = US, O = „DigiCert, Inc.“, CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1 Betreff=C = US, O = „DigiCert, Inc.“, CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1 Aussteller=C = US, O = DigiCert Inc., OU = www.digicert.com, CN = DigiCert Global Root CA
Im obigen Beispiel sind sowohl das Zertifikat als auch das Zwischenzertifikat vorhanden.
Ersetzen Sie certificate.pem durch den Pfad zu Ihrer SSL-Zertifikatsdatei.
Verwenden Sie OpenSSL außerdem, um die vom SSL-Server während des Handshakes vorgelegte Zertifikatskette anzuzeigen. Führen Sie den folgenden Befehl aus:
root@noid-ee-01:~# openssl s_client -connect mydomain.com:443 -showcerts
Ersetzen Sie mydomain.com durch den Domänennamen des SSL-fähigen Servers, mit dem Sie eine Verbindung herstellen möchten.
Suchen Sie nach den Abschnitten mit der Bezeichnung „Zertifikatkette“ oder „Zertifikatkette (PEER)“. Darin werden die vom Server vorgelegten Zertifikate angezeigt, beginnend mit dem Endentitätszertifikat und endend mit dem Stammzertifizierungsstellenzertifikat.
Überprüfen Sie Zwischen- und Stamm-CA-Zertifikate, indem Sie jedes Zertifikat in der Kette untersuchen, um sicherzustellen, dass sowohl das Zwischen- als auch das Stamm-CA-Zertifikat vorhanden sind.
Zwischen-CA-Zertifikat: Suchen Sie in der Kette nach einem Zertifikat, das mit dem Aussteller des Endentitätszertifikats übereinstimmt, diesem jedoch vorausgeht.
Stammzertifizierungsstellenzertifikat: Stellen Sie sicher, dass das letzte Zertifikat in der Kette das Stamm-CA-Zertifikat ist.
Alternativ können Sie Online-SSL-Validierungstools verwenden, die automatisch die Zertifikatskette prüfen und feststellen, ob Zwischen- und Stamm-CA-Zertifikate vorhanden sind. Tools wie der SSL Server Test von SSL Labs oder das SSL Installation Diagnostics Tool von DigiCert können detaillierte Informationen zur Zertifikatskette liefern.
Mithilfe dieser Schritte können Sie überprüfen, ob in einem SSL-Zertifikat Zwischen- und Stamm-CA-Zertifikate vorhanden sind, und so die Integrität und Sicherheit Ihrer SSL/TLS-Verbindungen sicherstellen.