Let’s encrypt!

Ich habe meine Seiten auf meinem Debian/Apache Webserver mit SSL verschlüsselt und dabei auf die kostenlose CA Let’s Encrypt! zurückgegriffen.

Es gibt viele Wege, wie man diese CA benutzen kann, aber der certbot ist echt der Hammer. So einfach geht es:

cd /usr/local/sbin
wget https://dl.eff.org/certbot-auto
chmod 750 certbot-auto
certbot-auto --apache

Danach wird man durch alle Schritte geführt und kann inerhalb kürzester Zeit funktionierende SSL Zertifikate nutzen, die sich vollautomatisch installieren.

Die Zertifikate sind zwar nur drei Monate gültig, aber mit certbot installierte Zertifikate lassen sich über diesen automatisch aktualisieren, so dass man sich nie wieder drum kümmern muss. Ein Eintrag wie dieser im Crontab von root reicht:

1 6,18 * * * /usr/local/sbin/certbot-auto renew --post-hook "apache2ctl restart" &>/dev/null

Lasst uns gemeinsam das Internet sicherer machen und „Let’s encrypt!

letsencrypt
https://eliyah.co.il/ ist SSL gesichert!
Let’s encrypt!

SSL-Zertifikate holen und prüfen

Wenn man das Zertifikat für eine Webseite prüfen will, geht das komfortabel über die entsprechende Funktion im Browser. Aber was ist mit anderen Protokollen? Etwa imaps? Mit diesem Befehlt holt man sich das Zertifikat und noch einiges mehr:

openssl s_client -connect {HOST}:{PORT}

Wenn man aber prüfen will, ob das Zertifikat gültig ist, dann geht das unter OS X mit folgendem Befehl:

security verify-cert -p ssl -s {HOST}  -c {HOST}.crt

Alles zusammen in einem Befehl:

HOST={HOST} ;  PORT={PORT} ; echo "" | openssl s_client -host $HOST -port $PORT 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/$HOST.crt ; security verify-cert -p ssl -s $HOST -c /tmp/$HOST.crt ; rm /tmp/$HOST.crt

Um ein PEM Zertifikat menschenlesbar zu machen, hilft dieser Befehl:

openssl x509 -noout -text -in [zertifikat.pem]
SSL-Zertifikate holen und prüfen