211.3 Mailbox-Zugriff verwalten Gewichtung 2

211.3 Mailbox-Zugriff verwalten

Kandidaten sollten POP3- und IMAP-Daemons installieren und konfigurieren können.

Hauptwissensgebiete:

Dies ist eine auszugsweise Liste der verwendeten Dateien, Begriffe und Hilfsprogramme:

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

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.

HOME