TLS Zertifikat für MQTT broker auf swarm.hiveeyes.org ist abgelaufen

@Andreas: Ich hab gerade festgestellt, dass Du ein neues Letsencrypt Cert gemacht hast. Das alte lautete unter anderem auf subject=/CN=swarm.hiveeyes.org und ist auch im mosquitto eingebunden -> /etc/mosquitto/conf.d/01-security.conf
und expired: Verify return code: 10 (certificate has expired)
Mein Broker will nun auch nicht mehr connecten.

Das neue lautet NUR auf luftdaten.getkotori.org

Du kannst mehrere Subject Alternate Names in ein Zertifikat packen, dann benötigst Du nur ein Zertifikat für alles.

Sollen wir das mal eben machen?

Das ist natürlich doof von mir gewesen, sorry! Ich schau mal gschwind…

openssl s_client -connect swarm.hiveeyes.org:8883 -showcerts | openssl x509 -text
[...]
verify error:num=10:certificate has expired
[...]
        Subject: CN=swarm.hiveeyes.org

Jetzt sollte es passen:

openssl s_client -connect swarm.hiveeyes.org:8883 -showcerts | openssl x509 -text
        Validity
            Not Before: Mar 28 23:15:00 2017 GMT
            Not After : Jun 26 23:15:00 2017 GMT
        Subject: CN=swarm.hiveeyes.org

Es war einfach nur abgelaufen und systemctl reload mosquitto reicht nicht, es muss ein systemctl restart mosquitto sein.

Kannst Du überprüfen, ob Deine Verbindung wieder klappt? Ich bin ein wenig auf dem Sprung…

Jo klappt: Verify return code: 0 (ok)

Perfekt, vielen Dank für Deinen Hinweis und wunderbar, dass es jetzt wieder klappt!

sprachen wir letzte Woche noch drüber - schönen Gruß an (ana)cron:

0 1 * * * certbot renew --noninteractive --quiet --renew-hook "systemctl
restart mosquitto"

--renew-hook versteht als Parameter auch ein shellscript, wenn man es
feingranulierter braucht; STDERR wird im Bedarfsfall auch bei --quiet
beschickt.

Danke für die komplette Syntax! Bitte noch “systemctl reload nginx” dazunehmen.

certbot läuft leider noch nicht auf der Plattform… Sorry, so viel los hier :-). @einsiedlerkrebs, @Thias, anyone? Schickt Eure public keys…

Ich habe das als Aufforderung verstanden, hier tätig zu werden und habe auf ein Zertifikat für beide Domains umgestellt.

DNS-Name: luftdaten.getkotori.org
DNS-Name: swarm.hiveeyes.org

certbot-auto residiert in /opt/certbot/. Aktuell auf Version 0.13.0 – wird aber bei Aufruf und Bedarf aktualisiert.

/opt/letsencrypt/letsencrypt-auto sollte nicht mehr verwendet werden, da so veraltet, dass es nicht mal mehr updatefähig ist. (Update: /opt/letsencrypt/letsencrypt-auto greift automatisch auf die neue certbot Installation zurück)

Zertifikat und Schlüssel liegen in /etc/letsencrypt/live/swarm.hiveeyes.org/

anacron ruft monatlich /root/renew-sslcert.sh auf, welches bei Erfolg auch gleich nginx und mosquitto neu startet.

2 Likes

@Thias Danke!

Thank you very much!