Immer mehr Unternehmen wagen den Schritt in die Cloud. Dabei schieben nur die wenigsten gleich ihre gesamte IT in die Wolke, sondern migrieren zunächst ... (mehr)

Protokoll-Debugging und Prüfung installierter Zertifikate

Wenn Sie das installierte Zertifikat eines Servers testen oder ein verwendetes Anwendungsprotokoll debuggen wollen, verwenden Sie OpenSSL mit dem Kommando »s_client« . Dies öffnet eine verschlüsselte Verbindung zum angegebenen Server, zeigt Verbindungsinformationen und ermöglicht das Debugging der Verbindung. Das funktioniert auch bei STARTTLS, bei dem die Kommunikationspartner nach dem Aufbau einer Klartextverbindung noch eine Verschlüsselung aushandeln.

Als Anwendungsprotokolle unterstützt OpenSSL aktuell SMTP, POP3, IMAP, FTP und XMPP. Die Funktionalität lässt sich zum Monitoring der Serverfunktionalität oder der installierten Zertifikate verwenden. Ob der gewählte Hostname auch tatsächlich bei dem installierten Zertifikat angegeben ist, überprüfen Sie mit

$> openssl s_client -cipher 'TLSv1.2' -verify_hostname example.com -connect example.com:443

Ist das Aussteller-Zertifikat nicht im Zertifikatspeicher des Betriebssystems installiert, können Sie »s_client« mit dem Argument "-CApath" einen Ordner mit Zertifikat-Dateien oder mit "-CAfile" eine Datei mit CA-Zertifikat mitgeben. Ein Client-Zertifikat zur Authentifikation übergeben Sie der Zertifikatdatei mit "-cert" und, falls nicht bereits in der Zertifikat-Datei enthalten, den privaten Schlüssel mit "-key".

Neben »s_client« erlaubt OpenSSL mit dem Kommando s_server auch die Verwendung als Server. So lassen sich Fehler in Client-Anwendungen überprüfen. Wenn das Server-Zertifikat in der Datei "certificate.pem" und der private Schlüssel in "key.pem" liegt, starten Sie den Server mit

$> openssl s_server -cert certificate.pem -key key.pem

Der Standard-Port ist 4433, dieser lässt sich mittels "-accept" ändern. Im Server-Modus kann OpenSSL mit "-www" eine Debug-Webseite oder mit "-WWW" dem relativen Pfad folgend eine Datei per HTTP ausliefern.

Zertifikat-Widerruf prüfen

Das Online Certificate Status Protocol (OCSP) erlaubt die Statusabfrage eines Zertifikats beim Zertifikat-Aussteller. OCSP ermöglicht damit die Live-Überprüfung ausgestellter Zertifikate neben der regelmäßig veröffentlichten Widerrufsliste (CRL) eines Zertifikat-Ausstellers. Den Status eines Zertifikats sollten Sie in Ihrem Monitoring berücksichtigen.

Ist ein Zertifikat als ungültig gekennzeichnet, führt das unweigerlich zu Verbindungsproblemen bei Mitarbeitern und Kunden. Während Google-Chrome den OCSP-Status von Zertifikaten nicht berücksichtigt, unterstützen die anderen gängigen Browser diese zusätzliche Überprüfung. Zur OCSP-Status-Überprüfung eines Zertifikats in der Datei "certificate.pem" testen Sie zunächst, ob das vorliegende Zertifikat eine OCSP-URL hinterlegt hat:

$> openssl x509 -noout -ocsp_uri -in certificate.pem

Wenn Sie keine Ausgabe sehen, ist im Zertifikat keine OCSP-URL hinterlegt, eine Prüfung ist dann nicht möglich. Ansonsten verwenden Sie die angezeigte URL im folgenden Aufruf zum Test des Zertifikats in "certificate.pem" und der Aussteller-Zertifikate in "chain.pem":

$> openssl ocsp -issuer chain.pem -cert certificate.pem -url OCSP-URL
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023