LetsEncrypt für Kerio-Connect

Veröffentlicht von Ulf Joksch am 05.02.2021

LetsEncrypt-Zertifikat für Kerio-Mailserver unter CentOS 8

Damit auch der on premises Kerio-Mailserver in den Genuss eines ordentlichen Zertifikats kommt, werden wir ein LetsEncrypt Zertifikat erzeugen lassen und für den Kerio-Connect Servcer installieren.

Der Kerio-Connect Server läuft auf einem CentOS 8 System.

Wir müssen hierzu die folgenden Punkte abarbeiten:

  • LetsEncrypt - Umgebung installieren
  • Das LetsEncrypt-Zertifikat für unsere Domain erzeugen
  • Das erzeugte Zertifikat dem Kerio-Connect unterjubeln

LetsEncrypt Umgebung installieren

Ale erstes müssen wir Snapd als Voraussetzung für LetsEncrypt installieren.

dnf install epel-release
dnf upgrade
dnf install snapd
systemctl enable --now snapd.socket
ln -s /var/lib/snapd/snap /snap

Jetzt einmal ab- und wieder anmelden, damit die Umgebung korrekt ist.

Nun installieren wir LetsEncrypt:

snap install core

Es ist möglich, dass nach Ausführen dieses Befehls die folgende Meldung erscheint.

error: too early for operation, device not yet seeded or device model not acknowledged

Dadurch darf man sich nicht beirren lassen, sondern den Befehl einfach nochmals aufführen, dann funktioniert er. Den Hintergrund habe ich nicht weiter erforscht. Vielleicht wird bei der Erstausführung von snap erst noch eine interne Konfiguration vorgenommen.

Wir machen weiter mit:

snap refresh core
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot

Zertifikat erzeugen

Um unser Zertifikat zu bekommen, müssen wir jetzt zwei Voraussetzungen erfüllen:

  • der Domainname, den wir zertifizieren wollen, muss auf unsere öffentliche IP-Adresse auflösbar sein
  • der Rechner, auf dem wir uns befinden, muss von außen per HTTP (Port 80) erreichbar sein. Also auf einer Firewall oder einem Router ein entsprechendes Forwarding einrichten.

Zur Erzeugung des Zertifikates muss der Kerio-Connect Server beendet werden.

systemctl stop kerio-connect.service

Anschließend starten wir die Zertifikats-Erzeugung

certbot certonly

Saving debug log to /var/log/letsencrypt/letsencrypt.log

How would you like to authenticate with the ACME CA?


1: Spin up a temporary webserver (standalone)
2: Place files in webroot directory (webroot)


Select the appropriate number [1-2] then [enter] (press ‘c’ to cancel):

Wir wählen 1 und bestätigen mit Enter

Enter email address (used for urgent renewal and security notices)
(Enter ‘c’ to cancel):

Wir geben unsere Mailadresse admins@mydomain.de an und bestätigen mit Enter

Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?


(Y)es/(N)o:

Wir stimmen zu mit Y und bestätigen mit Enter.

Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let’s Encrypt project and the non-profit organization that
develops Certbot? We’d like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.


(Y)es/(N)o:

Zusätzliche Mails brauchen wir keine, deswegen N und bestätigen mit Enter.

Account registered.
Please enter in your domain name(s) (comma and/or space separated) (Enter ‘c’
to cancel): mail.mydomain.de

Wir geben die Domain unseres Mailservers ein mail.mydomain.de und bestätigen mit Enter.

Waiting for verification…
Cleaning up challenges

IMPORTANT NOTES:

  • Congratulations! Your certificate and chain have been saved at:
    /etc/letsencrypt/live/mail.mydomain.de/fullchain.pem
    Your key file has been saved at:
    /etc/letsencrypt/live/mail.mydomain.de/privkey.pem
    Your certificate will expire on 2021-05-06. To obtain a new or
    tweaked version of this certificate in the future, simply run
    certbot again. To non-interactively renew all of your
    certificates, run “certbot renew”

  • If you like Certbot, please consider supporting our work by:

    Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
    Donating to EFF: https://eff.org/donate-le

Perfekt! Damit ist unser Zertifikat erstellt worden.

Verheiraten des Zertifikats mit Kerio-Connect

Um dem Kerio unser LetsEncrypt-Zertifikat schmackhaft zu machen, nehmen wir ihm sein selbstsigniertes Zertifikat weg und verlinken auf unser LetsEncrypt-Zertifikat:

cd /opt/kerio/mailserver/sslcert
mv server.crt server.crt.org
mv server.key server.key.org
ln -s /etc/letsencrypt/live/mail.mydomain.de/fullchain.pem server.crt
ln -s /etc/letsencrypt/live/mail.mydomain.de/privkey.pem server.key

Anschliessend müssen wir Kerio-Connect wieder starten.

systemctl start kerio-connect

Wir überprüfen nochmals, ob das richtige Zertifikat angezogen wird:

Alles bestens. :-D

Achtung: Wenn das Zertifikat erneuert wird, ist es notwendig den Kerio-Connect neu zu starten.