Gerade wurde ich via E-Mail angeschrieben und nach einer Problemlösung gefragt: Unter Ubuntu wurde in dem Fall der E-Mail Server Exim4 verwendet und Let’s Encrypt Zertifikate für die Maildomain eingerichtet. Beim Empfang einer E-Mail wurde im Exim Log ausgegeben:
(cert/key setup: cert=/etc/letsencrypt/live/mail.example.com/fullchain.pem key=/etc/letsencrypt/live/mail.example.com/privkey.pem): Error while reading file.
Ich verwende zwar selbst keinen Exim Mailserver, habe mich aber mal ein wenig umgesehen und bin auf diesen Thread in der LE Community gestoßen: https://community.letsencrypt.org/t/debian-jessie-possible-permission-issue-for-exim4/4115. Offenbar gibt es bei der Verwendung von Let’s Encrypt Zertifikaten mit Exim ein Berechtigungsproblem. Im Gegensatz zu Postfix holt sich Exim die Zertifikate nicht als root-User, sondern als Debian-exim User. Da Lets’s Encrypt die Zertifikate so abgesichert sind, dass nur root die Zertifikate auslesen kann, kann Exim die Zertifikate nicht verwenden und gibt den Fehler aus.
Die Lösung war, die benötigten Zertifikate einfach in ein Unterverzeichnis in /etc/exim4 zu kopieren und die Berechtigungen anzupassen:
mkdir /etc/exim4/certs cp -L /etc/letsencrypt/live/example.tld/privkey.pem /etc/exim4/certs cp -L /etc/letsencrypt/live/example.tld/fullchain.pem /etc/exim4/certs chmod -R 700 /etc/exim4/certs chown -R Debian-exim /etc/exim4/certs
Die Exim4-Konfiguration muss natürlich darauf angepasst werden. Nach jeder Erneuerung des Zertifikats muss auch wieder eine Kopie davon im /etc/exim4/certs Verzeichnis abgelegt werden. Das ist zwar weniger komfortabel – lässt sich aber mit einem kleinen Script ganz gut erledigen.