GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Sichern Sie Ihren von ISPConfig 3 verwalteten Mailserver mit einem gültigen Lets Encrypt SSL-Zertifikat

Wenn Sie Ihren eigenen E-Mail-Server betreiben, empfiehlt es sich, eine sichere Verbindung mit einer SSL/TLS-Verbindung herzustellen. Für diese sicheren Verbindungen benötigen Sie ein gültiges Zertifikat. In diesem Tutorial richten wir ein Let's Encrypt-Zertifikat für unseren Mailserver ein, das sich automatisch erneuert.

Warnung:Dieses Tutorial basiert auf diesem Tutorial:https://www.howtoforge.com/tutorial/securing-ispconfig-3-with-a-free-lets-encrypt-ssl-certificate/, aber modifiziert, sodass Sie ein separates Zertifikat haben für Ihren Mailserver und Ihr Control Panel. Wenn Sie dieses Tutorial schon einmal befolgt haben, könnte dieses Tutorial Ihr Setup beschädigen.

Dieses Tutorial verwendet von acme.sh ausgestellte Zertifikate. Wenn Sie certbot verwenden, folgen Sie stattdessen diesem Tutorial:https://www.howtoforge.com/community/threads/securing-your-ispconfig-3-managed-mailserver-with-a-valid-lets-encrypt-ssl-certificate -certbot.86372/

Hinweis für ISPConfig 3.2: ISPConfig 3.2 ist in der Lage, während der Installation automatisch ein gültiges Let's Encrypt SSL-Zertifikat für den Server-Hostnamen zu erstellen, das auch für den Mailserver verwendet wird. Auf ISPConfig 3.2-Systemen muss kein Let's Encrypt SSL-Zertifikat wie hier beschrieben manuell erstellt werden, es sei denn, Sie benötigen neben dem Server-Hostnamen andere Domänennamen im SSL-Zertifikat.

Voraussetzungen

  • Ihr Server sollte gemäß dem Perfect Server-Tutorial für Ihr Betriebssystem installiert werden.
  • Stellen Sie sicher, dass Sie als Root-Benutzer angemeldet sind.

Erste Schritte

Ich werde die folgenden Hostnamen für meinen Mailserver verwenden:mail.example.com, smtp.example.com, imap.example.com.

Ersetzen Sie alle rot unterstrichenen Hostnamen in diesem Tutorial durch Ihre eigenen.

Erstellen Sie die DNS-Einträge für Ihren/Ihre Hostnamen, sodass sie auf Ihren Server verweisen. Dies sollten A- (und eventuell AAAA-) Datensätze sein. Gehen Sie dann in der ISPConfig-Oberfläche zur Registerkarte Sites.

Ausstellen des Zertifikats

Klicken Sie unter Websites auf „Neue Website hinzufügen“. Stellen Sie mail.example.com als Domain ein. Deaktivieren Sie Auto-Subdomain und aktivieren Sie das Kontrollkästchen Let's Encrypt.

Danach können Sie Ihre anderen Hostnamen als Alias-Domains hinzufügen, indem Sie zur Liste der Alias-Domains gehen und auf "Neue Alias-Domain hinzufügen" klicken. Wählen Sie smtp.example.com als Domain und mail.example.com als übergeordnete Website aus. Deaktivieren Sie Auto-Subdomain und speichern Sie den neuen Eintrag. Wiederholen Sie dies für eventuelle andere Hostnamen.

Stellen Sie sicher, dass das Zertifikat vorhanden ist. Sie können dies mit einem Tool wie https://www.sslshopper.com/ssl-checker.html

tun

Es sollte etwa so aussehen:

Wenn der/die Hostname(n) aufgelistet sind und keine anderen Fehler vorliegen, können Sie fortfahren. Überprüfen Sie andernfalls die Fehler und beheben Sie sie, bevor Sie fortfahren.

Ersetzen des Zertifikats durch das Zertifikat von Let's Encrypt

Jetzt können wir das aktuelle Zertifikat durch Ihr vertrauenswürdiges Zertifikat ersetzen. Melden Sie sich bei Ihrem Server an und führen Sie diese Befehle aus:

(ersetzen Sie mail.example.com durch den Hostnamen, den Sie für die Website verwendet haben)

cd /etc/postfix/
mv smtpd.cert smtpd.cert-$(date +"%y%m%d%H%M%S").bak
mv smtpd.key smtpd.key-$(date +"%y%m%d%H%M%S").bak
ln -s /root/.acme.sh/mail.example.com/fullchain.cer smtpd.cert
ln -s /root/.acme.sh/mail.example.com/mail.example.com.key smtpd.key
systemctl restart postfix
systemctl restart dovecot

Das Zertifikat sollte nun für Ihren Postfix- und Dovecot-Server verwendet werden. Aber wir sind noch nicht fertig! Das Let's Encrypt-Zertifikat wird alle 60 Tage erneuert, daher sollten wir den Prozess zum Ersetzen des Zertifikats in Zukunft automatisieren, damit Sie es nicht vergessen können.

Richten Sie ein automatisches Verlängerungsskript ein

Öffnen Sie eine neue Skriptdatei:

nano /etc/init.d/le_mailserver_restart.sh

Fügen Sie dies in diese Datei ein:

#!/bin/sh
### BEGIN INIT INFO
# Provides: LE MAILSERVER CERT AUTO UPDATER
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: LE MAILSERVER CERT AUTO UPDATER
# Description: Restart mail server automatically when a new Let's Encrypt certificate is issued.
### END INIT INFO
systemctl restart postfix
systemctl restart dovecot

Machen Sie das Skript ausführbar:

chmod +x /etc/init.d/le_mailserver_restart.sh

Um dieses Skript bei der Verlängerung automatisch auszulösen, verwenden wir systemd.

Erstellen und öffnen Sie den neuen systemd-Dienst:

nano /etc/systemd/system/le-mailserver-restart.service

Fügen Sie dies in diese Datei ein:

[Unit] 
Description="Run script to restart Postfix and Dovecot after the certificate has been renewed"

[Service]
ExecStart=/etc/init.d/le_mailserver_restart.sh

Speichern und schließen Sie diese Datei. Erstellen und öffnen Sie dann die neue systemd-Pfaddatei:

nano /etc/systemd/system/le-mailserver-restart.path

Fügen Sie dies in diese Datei ein und ersetzen Sie mail.example.com durch den von Ihnen verwendeten Hostnamen:

[Unit]
Description="Monitor the mailserver certificate files to trigger a e-mail services restart after the certificates has been renewed"

[Path]
PathModified=/root/.acme.sh/mail.example.com/
Unit=le-mailserver-restart.service

[Install]
WantedBy=multi-user.target

Speichern und schließen Sie diese Datei. Starten Sie dann den Dienst und aktivieren Sie ihn, damit er beim Start ausgeführt wird:

systemctl start le-mailserver-restart.path

Und aktivieren Sie es, damit es beim Start ausgeführt wird:

systemctl enable le-mailserver-restart.path

Und wir sind fertig!

Funktioniert nicht?

Ich hatte einmal ein Problem damit, weil Let's Encrypt eine der Alias-Domains als Hauptdomain verwendet hat. Sie finden die Hauptdomäne im zuvor erwähnten SSL-Tool als "Common Name" oder indem Sie den Inhalt von /root/acme.sh/ auflisten, um zu sehen, welche der (Alias-)Domänen dort einen Ordner hat.

Wenn Sie immer noch ein Problem haben, öffnen Sie einen Thread im Forum, damit andere Ihnen helfen können.


Linux
  1. So sichern Sie Ihre Linux-E-Mail-Dienste mit SSL/TLS

  2. So sichern Sie ein cPanel-fähiges Konto mit einem SSL-Zertifikat von Lets Encrypt

  3. So sichern Sie Ihren ISPConfig 3-Server gegen den Poodle-SSL-Angriff

  4. Erste Schritte mit acme.sh Lets Encrypt SSL-Client

  5. Sichern von ISPConfig 3.1 mit einem kostenlosen SSL-Zertifikat von Lets Encrypt

Sichern Sie Ihre ISPConfig 3-Installation mit einem kostenlosen SSL-Zertifikat der Klasse 1 von StartSSL

Sichern Sie Nginx mit Let’s Encrypt SSL-Zertifikat auf Ubuntu 18.04

So sichern Sie Nginx mit dem Let’s Encrypt SSL-Zertifikat

Gewusst wie:Sichern Sie Ihren Ubuntu- oder Debian-Server mit IPTables

Installieren Sie LAMP Server mit Let’s Encrypt Free SSL auf Ubuntu 18.04

Sichern Sie Ihren Apache-Webserver mit Mod Security