211.3 Mailbox-Zugriff verwalten Gewichtung 2
211.3 Mailbox-Zugriff verwalten
Kandidaten sollten POP3- und IMAP-Daemons installieren und konfigurieren können.
Hauptwissensgebiete:
- Konfiguration und Verwaltung von Dovecot IMAP und POP3
- Grundlegende TLS-Konfiguration von Dovecot
- Wissen um Courier
Dies ist eine auszugsweise Liste der verwendeten Dateien, Begriffe und Hilfsprogramme:
- /etc/dovecot/
- dovecot.conf
- doveconf
- doveadm
MAN-Pages
Dokumentation von Dovecot ist auf https://doc.dovecot.org zu finden.
Installation von dovecot auf Ubuntu
Die Installation ist hier gut beschrieben. Hier nur das wichtigste:
apt install dovecot-core
# je nach Bedarf:
apt-get install dovecot-imapd dovecot-pop3d
Ports anschauen:
root@ubuntu:~# netstat -tulpn | grep dove
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 7476/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 7476/dovecot
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 7476/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 7476/dovecot
tcp6 0 0 :::110 :::* LISTEN 7476/dovecot
tcp6 0 0 :::143 :::* LISTEN 7476/dovecot
tcp6 0 0 :::993 :::* LISTEN 7476/dovecot
tcp6 0 0 :::995 :::* LISTEN 7476/dovecot
- Imap benötigt: 143 und 993
- Pop3 benötigt 110 und 995
dovecot Konfiguration
Anzeigen der nicht default-Werte mit doveconf -n
:
root@ubuntu:~# doveconf -n
# 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.21 (92477967)
# OS: Linux 4.15.0-51-generic x86_64 Ubuntu 18.04.3 LTS
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_privileged_group = mail
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
driver = pam
}
protocols = " imap pop3"
ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_key = # hidden, use -P to show it
userdb {
driver = passwd
}
Alle Einstellungen kann man mit doveconf -a
prüfen.
Ein wichtige Einstellung ist hier die userdb, die bei mir auf passwd steht.
Auf der manpage von dovecot (siehe auch hier) findet man Hinweise auf die Verzeichnisstruktur der Konfigfiles:
/etc/dovecot/dovecot.conf
Dovecot's main configuration file.
/etc/dovecot/dovecot-ldap.conf.ext
Dovecot's LDAP authdb/userdb module configuration file.
/etc/dovecot/dovecot-sql.conf.ext
Dovecot's SQL authdb/userdb module configuration file.
/etc/dovecot/dovecot-dict-sql.conf.ext
Dovecot's dict configuration with SQL-backend.
/etc/dovecot/conf.d/auth-*-conf.ext
Configuration files of different authentication modules.
/etc/dovecot/conf.d/*.conf
Configuration files of different services and settings.
Schauen wir genauer in die Datei /etc/dovecot/conf.d/auth-system.conf.ext
root@ubuntu:~# cat /etc/dovecot/conf.d/auth-system.conf.ext | grep -vP '^\s*(#.*|)$'
passdb {
driver = pam
}
userdb {
driver = passwd
}
temporär zum Testen SSL abschalten:
grep 'ssl =' /etc/dovecot/conf.d/10-ssl.conf
ssl = no
Logfiles
Um zu schauen, wo was protokolliert wird, kann man den Befehl doveadm log find
verwenden:
root@ubuntu:~# doveadm log find
Looking for log files from /var/log
Debug: /var/log/syslog
Debug: /var/log/mail.log
Info: /var/log/syslog
Info: /var/log/mail.log
Warning: /var/log/syslog
Warning: /var/log/mail.log
Error: /var/log/syslog
Error: /var/log/mail.err
Error: /var/log/mail.log
Fatal: /var/log/syslog
Fatal: /var/log/mail.err
Fatal: /var/log/mail.log
das Logging wird über die Datei /etc/dovecot/conf.d/10-logging.conf
gesteuert. Voreingestellt ist das Logging nach syslog, siehe grep dovecot: /var/log/syslog
.
Um jetzt ein paar Debug-Meldungen separat zu loggen habe ich die Zeile debug_log_path = /var/log/dovecot-debug.log
in der Datei /etc/dovecot/conf.d/10-logging.conf
aktiviert und den
Test
wie man den Login Testen kann ist in https://dokuwiki.tachtler.net/doku.php?id=tachtler:dovecot_ssl_tls sehr gut beschrieben.
Ich musste bei mir die Einstellung für passdb
in der Datei /etc/dovecot/conf.d/auth-system.conf.ext
auf driver = shadow
stellen. Also :
root@ubuntu:~# cat /etc/dovecot/conf.d/auth-system.conf.ext | grep -vP '^\s*(#.*|)$'
passdb {
driver = shadow
}
userdb {
driver = passwd
}
Dann hat das folgende geklappt:
$ openssl s_client -starttls imap -connect ubuntu:143
> a1 login gaida geheim
* CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE
a1 OK Logged in
a2 logout
* BYE Logging out
a2 OK Logout completed (0.001 + 0.000 secs).
closed
$
In meiner kleinen Testumgebung konnte ich mich nicht mit gaida@ubuntu anmelden, sondern nur mit gaida. Die Ursache liegt vermutlich in meiner fehlenden Namensauflösung.
Der Courier Mail Transfer Agent
Der Courier Mail Transfer Agent (MTA) ist ein integrierter Mail- / Groupware-Server, der auf Open-Commodity-Protokollen wie ESMTP, IMAP, POP3, LDAP, SSL und HTTP basiert. Courier bietet ESMTP-, IMAP-, POP3-, Webmail- und Mailinglistendienste in einem einheitlichen Framework. Einzelne Komponenten können nach Belieben aktiviert oder deaktiviert werden. Der Courier-Mailserver implementiert grundlegende webbasierte Kalender- und Planungsdienste, die in das Webmail-Modul integriert sind.
Der Courier-Mailserver implementiert SMTP-Erweiterungen für die Verwaltung von Mailinglisten und die Spam-Filterung. Der Courier-Mail-Server kann als Zwischen-Mail-Relay fungieren, Mail zwischen einem internen LAN und dem Internet weiterleiten oder die endgültige Zustellung an Postfächer durchführen. Der Courier-Mailserver verwendet Maildirs als systemeigenes Mail-Speicherformat, kann aber auch Mail an ältere Mailbox-Dateien übermitteln. Die Konfiguration des Courier-Mailservers wird durch Nur-Text-Dateien und Perl-Skripte festgelegt. Der größte Teil der Konfiguration des Courier-Mailservers kann über einen Webbrowser mithilfe des webbasierten Verwaltungsmoduls des Courier-Mailservers angepasst werden.
Der Courier-Mailserver kann Mail-Dienste für reguläre Betriebssystemkonten bereitstellen. Der Courier-Mailserver kann auch Mail-Dienste für virtuelle Mail-Konten bereitstellen, die von einer LDAP-, MySQL- oder PostgreSQL-basierten Authentifizierungsdatenbank verwaltet werden.
Bestimmte Teile des Courier-Mailservers - die Mailfilter-Engine, der Webmail-Server und der IMAP-Server - sind auch als separate, kleinere Pakete erhältlich, die mit anderen Mailservern verwendet werden können.