Mail Server · 3 min read · Oct 05, 2025
Vollständige Mail-Server-Lösung mit virtuellen Domains und Benutzern (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Seite 12
C. Sicherer Dovecot
Dovecot-Server kann IMAPS so gut wie direkt nach der Installation… also lassen Sie es uns auf secure-mail installieren. Wie gewohnt, übernimmt Debian den Großteil der Arbeit für uns:
# apt-get install dovecot-imapdFür unsere Zwecke benötigten wir kein POP3 (und wirklich, das sollten Sie auch nicht), aber wenn Sie es wollten, fügen Sie einfach dovecot-pop3d am Ende dieses Befehls hinzu.
Öffnen Sie die Dovecot-Konfigurationsdatei, die sich in /etc/dovecot/dovecot.conf befindet, und lassen Sie sie wie folgt aussehen. Es gibt wahrscheinlich bereits viele Standardkonfigurationen, sodass Sie wahrscheinlich nur bestimmte Abschnitte auskommentieren und kleinere Dinge ändern müssen. Achten Sie besonders auf die ssl_-Abschnitte der Datei, da sie auf diesem Server unterschiedlich sind.
## Dovecot-Konfigurationsdatei
#
base_dir = /var/run/dovecot/
#
# imap imaps pop3 pop3s (verwenden Sie imaps und pop3s, wenn für SSL konfiguriert)
protocols = imaps
#
# Kommentieren Sie die ssl_listen-Anweisungen aus und kommentieren Sie listen aus, wenn Sie SSL verwenden
protocol imap {
# listen = *:143
ssl_listen = *:993
}
#protocol pop3 {
#listen = *:110
# ssl_listen = *:995
#}
#
log_timestamp = "%Y-%m-%d %H:%M:%S "
syslog_facility = mail
#
# Kommentieren Sie diese aus, wenn Sie SSL verwenden
ssl_cert_file = /etc/ssl/example.com/mailserver/mail-cert.pem
ssl_key_file = /etc/ssl/example.com/mailserver/mail-key.pem
#ssl_ca_file = /etc/ssl/mycompany/ca/mycompany.pem
#ssl_verify_client_cert = yes
ssl_parameters_regenerate = 168
verbose_ssl = no
#
# Wo sich die Postfächer befinden
mail_location = maildir:/vmail/%d/%u
#
mail_extra_groups = mail
mail_debug = no
first_valid_uid = 150
last_valid_uid = 150
maildir_copy_with_hardlinks = yes
#
protocol imap {
login_executable = /usr/lib/dovecot/imap-login
mail_executable = /usr/lib/dovecot/imap
imap_max_line_length = 65536
}
#protocol pop3 {
#login_executable = /usr/lib/dovecot/pop3-login
#mail_executable = /usr/lib/dovecot/pop3
#pop3_uidl_format = %08Xu%08Xv
#}
protocol lda {
postmaster_address = [email protected]
sendmail_path = /usr/lib/sendmail
auth_socket_path = /var/run/dovecot/auth-master
}
#
auth_verbose = no
auth_debug = no
auth_debug_passwords = no
#
auth default {
mechanisms = plain
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
user = nobody
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0660
user = vmail
group = mail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
#
# Wenn Sie Client-Zertifikate verwenden möchten, verwenden Sie diese Zeilen
# ssl_require_client_cert = yes
# ssl_username_from_cert = yes
}HINWEIS: Sie können die obige Konfiguration nicht einfach kopieren und erwarten, dass sie funktioniert! Sie müssen alle oben genannten Änderungen in Ihre eigene Konfiguration einarbeiten.
Die Dovecot-Konfiguration ist fast abgeschlossen, aber genau wie bei der vorherigen Konfiguration müssen die MySQL-Einstellungen integriert werden.
Öffnen Sie die Datei /etc/dovecot/dovecot-sql.conf und stellen Sie sicher, dass Folgendes vorhanden ist.
driver = mysql
connect = host=sql-1.internal.example.com dbname=virtual_mail user=vmail_user password=vmail_user_password
# Der neue Name für MD5 ist MD5-CRYPT, daher müssen Sie dies je nach Version möglicherweise ändern
default_pass_scheme = MD5
# Holen Sie sich das Postfach
user_query = SELECT '/vmail/%d/%n' AS home, 'maildir:/vmail/%d/%n' AS mail, 150 AS uid, 8 AS gid, CONCAT('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'
# Holen Sie sich das Passwort
password_query = SELECT username AS user, password, '/vmail/%d/%n' AS userdb_home, 'maildir:/vmail/%d/%n' AS userdb_mail, 150 AS userdb_uid, 8 AS userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'
# Wenn Sie Client-Zertifikate zur Authentifizierung verwenden, kommentieren Sie das Obige aus und kommentieren Sie das Folgende ein
#password_query = SELECT null AS password, '%u' AS userDa wir unser MySQL-Passwort in Klartextformat in diesem Dokument gespeichert haben, möchten wir sicherstellen, dass nur wir es lesen können!
# chmod 600 /etc/dovecot/*.conf
# chown vmail /etc/dovecot/*.confDie externe/sichere Dovecot-Konfiguration ist jetzt abgeschlossen! Fahren Sie fort und starten Sie den Dovecot-Dienst neu:
# invoke-rc.d dovecot restart… und Ihre externen/unsicheren Benutzer können jetzt E-Mails auf secure-mail.example.com abrufen!
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.