Dovecot auf CentOS: veraltetes IMAP/POP3-Setup
Datum der Veröffentlichung:
Aktualisiert:
Fachartikel > Dovecot auf CentOS: veraltetes IMAP/POP3-Setup
Status 2026 und sichere Verwendung
Schlussfolgerung: Ein aktueller Dovecot-Dienst sollte ein unterstütztes Paket, gültige und erneuerbare Zertifikate, erzwungene verschlüsselte Authentifizierung, E-Mail-Speicher mit den geringsten Privilegien, eine sorgfältig abgestimmte Postfix-Integration und überwachte Protokolle verwenden. Stellen Sie nur die Protokolle bereit, die Ihre Benutzer benötigen.
Was Sie lernen werden
- Was die ursprüngliche Dovecot 2.2/CentOS 7-Konfiguration zu bieten versuchte.
- Wie IMAP/POP3-Listener, TLS, Authentifizierungsmechanismen, E-Mail-Speicherorte und die Postfix SASL-Integration zusammenhängen.
- Warum Klartext-Authentifizierungseinstellungen gefährlich sind, wenn die Verschlüsselung nicht strikt erzwungen wird, bevor Anmeldeinformationen akzeptiert werden.
Für wen ist dies gedacht: E-Mail-Administratoren, die eine ältere Postfix/Dovecot-Bereitstellung überprüfen, nicht Leser, die nach einer internetfähigen Standardversion suchen.
Stand 2026: Die unten aufgeführten alten Versionen und Befehle bleiben im Verlauf erhalten und wurden nicht als sicherer aktueller Build validiert. Kopieren Sie disable_plaintext_auth=no nicht in die Produktion ohne ein Design, das TLS garantiert; Bevorzugen Sie IMAP gegenüber TLS, deaktivieren Sie nicht verwendetes POP3 und verwenden Sie die überprüfte Systemd-Einheit der Distribution.
Sicherheitshinweis: Die Befehle und Konfigurationsbeispiele im Originalartikel wurden nicht in einer aktuellen Produktionsumgebung erneut ausgeführt. Überprüfen Sie unterstützte Versionen, Backups, Zugriffskontrollen und Rollback-Schritte in einer separaten Testumgebung, bevor Sie sie anwenden.
Offizielle Primärquellen
Überblick
Die ersten Konfigurationsschritte, die für die Installation und den Start von Dovecot unter CentOS erforderlich sind. Die Informationen basieren auf der Annahme, dass CentOS7 verwendet wird. Die Eingangsprotokolle sind mit imaps (IMAP über SSL) und pop3s (POP3 über SSL) eingerichtet.
Getestete Versionen:
| CentOS-Version | 7.6 (1810) |
|---|---|
| Postfix-Version | 2.10.1 |
| Version von Dovecot | 2.2.36 |
Inhaltsübersicht
1. installieren
Dieser Abschnitt beschreibt die Konfiguration von Dovecot von der Installation bis zur Inbetriebnahme.
1-1. Installation von Dovecot
Führen Sie die Dovecot-Installation mit dem Befehl yum durch. Führen Sie die Arbeiten als root-Benutzer durch.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install dovecot
1-2. Bootstrap-Check
Um zu überprüfen, ob die Installation erfolgreich war, kontrollieren Sie den Startvorgang. Beachten Sie, dass Dovecot beim Starten kein Startargument benötigt.
[root@hostname ~]# /usr/sbin/dovecot
[root@hostname ~]# ps aux | grep dovecot
root 1470 0.0 0.1 16092 1156 ? Ss 18:38 0:00 /usr/sbin/dovecot
dovecot 1471 0.0 0.1 9752 1120 ? S 18:38 0:00 dovecot/anvil
root 1472 0.0 0.1 9884 1320 ? S 18:38 0:00 dovecot/log
root 1474 0.0 0.2 12916 2384 ? S 18:38 0:00 dovecot/config
root 1476 0.0 0.0 112824 968 pts/0 R+ 18:38 0:00 grep --color=auto dovecot
Jeder Prozess, der wie oben beschrieben als dovecot-Benutzer läuft, ist OK. Halt!
[root@hostname ~]# /usr/sbin/dovecot stop
2. Details zur Einrichtung
2-1. Initialisierung
Die Erstkonfiguration von Dovecot ist abgeschlossen.
[root@hostname ~]# vi /etc/dovecot/dovecot.conf
Folgende Änderung ist erforderlich:
#protocols = imap pop3 lmtp
~Verkürzung~
#listen = *, ::
~Verkürzung~
#login_greeting = Dovecot ready.
protocols = imap pop3
~Verkürzung~
listen = *
~Verkürzung~
login_greeting = pop3 and imap ready.
protocols' gibt die Protokolle für die Verbindung mit Dovecot an.
listen' ist die IP, zu der die Verbindung zugelassen ist. Die Einstellung ist "*", d. h. es gibt keine Einschränkungen für die IPs, mit denen eine Verbindung hergestellt werden kann. Wenn Sie eine bestimmte IP-Adresse für die Verbindung benötigen, geben Sie aus Sicherheitsgründen eine bestimmte IP-Adresse an. Das "::" ist eine IPv6-Einstellung, aber IPv6 wird dieses Mal nicht verwendet und sollte gelöscht werden. Wenn Sie ihn löschen, wird nur IPv4 akzeptiert.
login_greeting" ist die Nachricht, wenn die Verbindung hergestellt wird. Die Änderung ist nicht obligatorisch, aber aus Sicherheitsgründen sollten Sie die Nachricht so ändern, dass es nicht offensichtlich ist, dass es sich um Dovecot handelt, wenn Sie sich verbinden.
2-2. POP3- und IMAP-Einstellungen
Der Port 110, der bekannte Port für POP3, und der Port 143, der bekannte Port für IMAP, werden konfiguriert. Die Authentifizierungsmethode ist mit Postfix verknüpft und die Authentifizierung ist erwünscht.
[root@hostname ~]# vi /etc/dovecot/conf.d/10-master.conf
Folgende Änderung ist erforderlich:
service imap-login {
inet_listener imap {
#port = 143
}
~Verkürzung~
service pop3-login {
inet_listener pop3 {
#port = 110
}
service imap-login {
inet_listener imap {
port = 143
}
~Verkürzung~
service pop3-login {
inet_listener pop3 {
port = 110
}
2-3. Einstellungen der Dovecot-Authentifizierungsmethode
Fügen Sie Login zur Dovecot-Authentifizierungsmethode hinzu.
[root@hostname ~]# vi /etc/dovecot/conf.d/10-auth.conf
Folgende Änderung ist erforderlich:
#disable_plaintext_auth = yes
~Verkürzung~
auth_mechanisms = plain
disable_plaintext_auth = no
~Verkürzung~
auth_mechanisms = login plain
2-4. Umstellung der E-Mail-Speicherung auf das 'Maildir'-Format.
Legen Sie den Speicherort für E-Mails im Heimatverzeichnis jedes Benutzers fest (unter "/home/xxx/").
[root@hostname ~]# vi /etc/dovecot/conf.d/10-mail.conf
Folgende Änderung ist erforderlich:
#mail_location =
~Verkürzung~
namespace inbox {
# Namespace type: private, shared or public
#type = private
# Hierarchy separator to use. You should use the same separator for all
# namespaces or some clients get confused. '/' is usually a good one.
# The default however depends on the underlying mail storage format.
#separator =
# Prefix required to access this namespace. This needs to be different for
# all namespaces. For example "Public/".
#prefix =
# Physical location of the mailbox. This is in same format as
# mail_location, which is also the default for it.
#location =
mail_location = maildir:~/Maildir
~Verkürzung~
namespace inbox {
# Namespace type: private, shared or public
#type = private
# Hierarchy separator to use. You should use the same separator for all
# namespaces or some clients get confused. '/' is usually a good one.
# The default however depends on the underlying mail storage format.
#separator =
# Prefix required to access this namespace. This needs to be different for
# all namespaces. For example "Public/".
#prefix =
# Physical location of the mailbox. This is in same format as
# mail_location, which is also the default for it.
location = maildir:~/Maildir
2-5. Einstellungen zur Authentifizierung
Aktivieren Sie die ssl-Konfiguration.
[root@hostname ~]# vi /etc/dovecot/conf.d/10-ssl.conf
Folgende Änderung ist erforderlich:
ssl = required
~Verkürzung~
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
ssl = required
~Verkürzung~
ssl_cert = </etc/pki/tls/certs/localhost.crt
ssl_key = </etc/pki/tls/private/localhost.key
ssl_cert' und 'ssl_key' sollten entsprechend der Umgebung gesetzt werden. Legen Sie den Pfad fest, in dem das Serverzertifikat gespeichert ist.
Wenn Sie also noch keine SSL-Einstellungen vorgenommen haben, nehmen Sie bitte zuerst die SSL-Einstellungen vor. Bitte beachten Sie die folgenden Hinweise.
Apache HTTP Server sicher auf CentOS installieren
Danach folgen die Einstellungen zu den Passwörtern. 'auth-system.conf.ext'.
[root@hostname ~]# vi /etc/dovecot/conf.d/auth-system.conf.ext
Folgende Änderung ist erforderlich:
passdb {
driver = pam
# [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
# [cache_key=<key>] [<service name>]
#args = dovecot
}
~Verkürzung~
#passdb {
#driver = shadow
# [blocking=no]
#args =
#}
#passdb {
#driver = pam
# [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
# [cache_key=<key>] [<service name>]
#args = dovecot
#}
~Verkürzung~
passdb {
driver = shadow
# [blocking=no]
#args =
}
2-6. Bootstrap-Check
Damit ist die Konfiguration abgeschlossen. Stellen Sie also sicher, dass Dovecot nach Abschluss der Konfiguration startet. Beachten Sie, dass start nicht als Argument erforderlich ist.
[root@hostname ~]# /usr/sbin/dovecot
[root@hostname ~]# ps aux | grep dovecot
root 1716 0.0 0.1 16092 1184 ? Ss 22:09 0:00 /usr/sbin/dovecot
dovecot 1717 0.0 0.1 9752 1120 ? S 22:09 0:00 dovecot/anvil
root 1718 0.0 0.1 9884 1312 ? S 22:09 0:00 dovecot/log
root 1720 0.5 0.2 12916 2396 ? S 22:09 0:00 dovecot/config
root 1722 0.0 0.0 112824 972 pts/0 S+ 22:09 0:00 grep --color=auto dovecot
Wenn ein Prozess wie oben beschrieben als dovecot-Benutzer läuft, wurde er erfolgreich konfiguriert und wird ausgeführt. Sobald die Inbetriebnahme bestätigt wurde, ist es an der Zeit, aufzuhören.
[root@hostname ~]# /usr/sbin/dovecot stop
2-7. Einstellung der automatischen Inbetriebnahme
Schließlich, obwohl nicht zwingend erforderlich, ist es schwierig, Dovecot bei jedem Neustart des Servers zu starten, daher wurde eine Einstellung vorgenommen, damit Dovecot automatisch beim Start des Servers gestartet wird. Er registriert sich auch bei dem Befehl systemctl. Bitte beachten Sie, dass dieses Verfahren für CentOS7 gilt. Wenn Sie also ein anderes Betriebssystem als CentOS7 verwenden, müssen Sie den Befehl Service verwenden, um dieses Problem zu lösen.
Überprüfen Sie, ob '/usr/lib/systemd/system/dovecot.service' existiert. Wenn keine vorhanden ist, erstellen Sie eine "dovecot.service" nach dem folgenden Verfahren. Als Root-Benutzer ausführen.
[root@hostname ~]# touch /etc/systemd/system/dovecot.service
[root@hostname ~]# vi /etc/systemd/system/dovecot.service
Verwendete Einstellungen:
[Unit]
#Beschreibung.
Description=Dovecot
#Kontrolle vor und nach der Ausführung.
#Before=xxx.service
After = network.target
[Service]
#Benutzer- und Gruppenbezeichnung
User=root
Group=root
#Nach der Aktivierung setzen Sie den Status auf Aktiviert.
Type=oneshot
RemainAfterExit=yes
#Starten, stoppen und neu laden.
ExecStart=/usr/sbin/dovecot
ExecStop=/usr/sbin/dovecot stop
ExecReload=/usr/sbin/dovecot reload
[Install]
#Runlevel 3 entsprechende Einstellungen.
WantedBy=multi-user.target
Anschließend wird der Dienst mit systemctl aktiviert.
[root@hostname ~]# systemctl enable dovecot
[root@hostname ~]# systemctl is-enabled dovecot
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep dovecot
dovecot.service enabled
[root@hostname ~]# systemctl daemon-reload
3. Zusammenfassung
Wir haben die bei der Installation von Dovecot erforderliche Erstkonfiguration beschrieben.
Die Einrichtung war recht mühsam. Wenn Sie also einen Dovecot bauen, lesen Sie bitte diesen Abschnitt.