Home → Tech Portfolio → Cheat Sheet: OpenSSL für Zertifikate
Ab und zu spült mir der Algorithmus verschiedene “Cheat Sheets” in die Timeline. Viele davon enthalten mehr oder weniger vollständige Sammlungen von grundlegenden Befehlen z.B. für Podman, Docker und Kubernetes oder auch Ansible, Terraform und unzählige weitere Tools.
Das ist durchaus interessant. Trotzdem frage ich mich häufig, ob ein Cheat Sheet mit den Basics von 200 verschiedenen Tools im Arbeitsalltag wirklich weiterhilft.
Deshalb teile ich hier künftig Tipps aus meinem Admin-Alltag – praxisnah, ohne Buzzwords und mit dem Fokus auf Dinge, die sich im täglichen Betrieb bewährt haben. Heute habe ich zwei einfache OpenSSL-Befehle für dich, die dir in typischen Alltagssituationen weiterhelfen werden.
Ab und zu spült mir der Algorithmus verschiedene “Cheat Sheets” in die Timeline. Viele davon enthalten mehr oder weniger vollständige Sammlungen von grundlegenden Befehlen z.B. für Podman, Docker und Kubernetes oder auch Ansible, Terraform und unzählige weitere Tools.
Das ist durchaus interessant. Trotzdem frage ich mich häufig, ob ein Cheat Sheet mit den Basics von 200 verschiedenen Tools im Arbeitsalltag wirklich weiterhilft.
Deshalb teile ich hier künftig Tipps aus meinem Admin-Alltag – praxisnah, ohne Buzzwords und mit dem Fokus auf Dinge, die sich im täglichen Betrieb bewährt haben. Heute habe ich zwei einfache OpenSSL-Befehle für dich, die dir in typischen Alltagssituationen weiterhelfen werden.
Stell dir vor, du bist ein “DevOps Engineer” – oder wie das früher mal hieß: “Linux Admin” – und möchtest nach einem Deployment oder einer Infrastrukturänderung schnell prüfen, ob ein Service wie erwartet erreichbar ist.
Typische Situationen sind beispielsweise:
In genau solchen Fällen gehören für mich netcat und openssl zu den Werkzeugen, auf die ich immer wieder zurückgreife.
Mein erster Griff geht fast immer zu netcat (nc). Wenn ich herausfinden möchte, ob ein Dienst überhaupt auf dem erwarteten Host und Port lauscht, reicht oft schon ein einfacher TCP-Check:
nc -vz <HOSTNAME oder IP> <PORT>
Damit lässt sich in wenigen Sekunden feststellen, ob grundsätzlich eine TCP-Verbindung aufgebaut werden kann.
Manchmal reicht ein offener Port allerdings nicht aus. Der Dienst ist erreichbar, der Client verbindet sich trotzdem nicht oder das Zertifikat scheint Probleme zu verursachen. Die entsprechenden Fehler- oder Logmeldungen sind nicht immer so eindeutig, wie man sich das wünscht.
In diesen Fällen ist folgender Befehl für mich einer der wertvollsten Helfer.
Instruiere OpenSSL doch bitte, als Client mit FQDN an Port PORT zu sprechen und zu fragen, wie das Zertifikat aussieht.
openssl s_client -showcerts -connect <HOSTNAME oder IP>:<PORT>
Beispiel:
openssl s_client -showcerts -connect foo.bar.lan:25
Der Befehl baut eine Verbindung zum Dienst auf und zeigt unter anderem das präsentierte Zertifikat an.
Noch übersichtlicher wird die Ausgabe mit:
openssl s_client -showcerts -connect <FQDN>:<PORT> </dev/null | openssl x509 -text
grep, um gezielt nach Informationen wie Issuer, Subject, Not Before oder Not After zu suchen. Gerade bei Load Balancern oder Webservern mit mehreren virtuellen Hosts kann es notwendig sein, zusätzlich den gewünschten Servernamen per SNI (Server Name Indication) mitzugeben. Andernfalls bekommst du möglicherweise das falsche Zertifikat präsentiert.
Das sieht dann beispielsweise so aus:
openssl s_client -showcerts \ -servername bar.foo.lan \ -connect bar.foo.lan:443 </dev/null | openssl x509 -text
Natürlich kann OpenSSL deutlich mehr, als nur als Client auftreten. Zusammen mit Werkzeugen wie nc, curl, dig, ss oder netstat gehört es für mich zu den wichtigsten Helfern bei der täglichen Fehlersuche.
Wenn es darum geht, Services mit TLS-Zertifikaten schnell zu überprüfen, lassen sich mit den beiden vorgestellten Befehlen die Fehlerquellen schnell und zuverlässig eingrenzen.
Hier findest du weitere Infos und DBA Tipps aus unserem News & Insights Bereich.
Share this article
Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie müssen den Inhalt von reCAPTCHA laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von Facebook. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen