Courier modularer Multiprotokoll-Mailserver

Ähnliche Dokumente
Peer Heinlein Peer Hartleben. P0P3 und IMAP. Mailserver mit Courier und Cyrus

Postfix von Mailbox zu Maildir

Hartleben: POP3 und IMAP. Copyright (C) Open Source Press

Peer Heinlein. Dovecot. POP3/IMAP-Server für Unternehmen und ISPs. I.Auflage. Source Press. Open

Zentraler Informatikdienst der TU Wien

Benutzer- und Rechte-Verwaltung Teil 2

erneuerte Infrastruktur

Konto auf dem Mac einrichten

Leitfaden zur Einrichtung za-mail mit IMAP auf dem iphone

.Wir verbinden Menschen...Im Büro, zu Hause, unterwegs.

DOKUMENTATION ky2help V 3.6 Servertests

1.1 Datenbankprogramm Oracle für MCIS MDA

Lektion 12: Connection-Handling, Tuning & Security

2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version

Benutzer- und Rechte-Verwaltung Teil 2

I Datei- und Druckdienste konfigurieren 8

Betriebssysteme - Benutzerverwaltung

Skalierbares Mailsystem mit Postfix, Cyrus und OpenLDAP

Betriebssystem Windows - SSH Secure Shell Client

Anleitung. Schritt für Schritt: iphone und ipad. Richten Sie Ihr -Konto mit Ihrem iphone oder ipad Schritt für Schritt ein.

Mail Protokolle. ESMTP: Extented SMTP Server gibt Infos über seine Fähigkeiten aus, zb für Verschlüsselung verwendet

Selbstverwaltung von Subversion Repositories

SQL Server 2012 Express

1 Konto neu in Mailprogramm einrichten

Technische Praxis der Computersysteme

Neues System an der BO

EINRICHTUNG MAIL CLIENTS

Linux-Camp: Remote-Zugriff

Installation von Zope, Plone, exam auf OSS

Benutzeranleitung ISPConfig 3 für Kunden

Dovecot. Lobhudelei auf den besten IMAP-Server der Welt.

Mail doch einfach selber

Benutzer- und Rechte-Verwaltung Teil 1

.Wir verbinden Menschen...Im Büro, zu Hause, unterwegs.

Linux-Camp: Linux als Server am Beispiel LAMP

Microsoft Outlook 2010

Konfiguration von Mozilla Thunderbird

.Wir verbinden Menschen...Im Büro, zu Hause, unterwegs.

Collax ios-vpn Howto. Inhalt

I Datei- und Druckdienste konfigurieren 9

Thunderbird. 4. Mai 2017

1 Konfigurationsanleitung Hosted Exchange

Einstellungen im Umgang mit organisatorischen Postfächern

Nachstehend finden Sie eine detaillierte Schritt für Schritt Anleitung um Ihren -Account in Mozilla Thunderbird einzurichten.

ViSAS Domainadminlevel Quick-Start Anleitung

Dateisystem 1, Suchpfad, Befehlstypen

Konfiguration von Outlook 2010

Datensicherung. Mögliche Vorgehensweisen:

Konfiguration. Arthur Zaczek. Mar 2015

@HERZOvision.de. Lokalen -Client mit POP3 einrichten. v by Herzo Media GmbH & Co. KG -

Network-Attached Storage mit FreeNAS

Postfix Mini-Einführung

The Bat! Voyager Ritlabs, SRL

Courier, Dovecot & Cyrus: Drei IMAP-Server im Vergleich. Oder: Dovecot. Warum man keinen anderen IMAP-Server haben will.

Inhaltsverzeichnis. Inhaltsverzeichnis. Vorwort 9

Kundenlogins: Einstellungen, s abrufen und verwalten, Rechnungen online

bizhub Evolution SECURITY CUBE bizhub Evolution Installationsanleitung Version: 1.0

Eine Anleitung, wie Sie Mozilla Thunderbird 2 installieren und konfigurieren können. Installation Erstkonfiguration... 4

BACHER Informatik - we do IT

Konfiguration der SMTP-Verbindung... 5 Einstellungen speichern / laden... 6 Versenden von Paketen... 6

Klicken Sie auf die Schaltfläche Konten-Aktionen und wählen Sie -Konto hinzufügen. Fügen Sie Ihre -Daten ein und drücken Sie auf Weiter.

LDAP, Postfix, TLS, Procmail, SpamAssassin & Courier IMAP. Simon Dassow janus@errornet.de

Überblick Grundlagen SMTP & Probleme & Lösungen PAUSE Mailserver Mailserver konfigurieren Q & A. Mail und Mailserver

STRATO Mail Einrichtung Windows Live Mail

IMap Konto Einrichten auf iphone.doc

Anleitung. Kontenverwaltung auf mail.tbits.net

Servercon für Reseller zur unkomplizierten Kundenverwaltung

Konzepte von Betriebssystem-Komponenten Schwerpunkt Sicherheit. Unix-Benutzerverwaltung: Grundlagen, OpenLDAP. Daniel Bast

Zentrales Konfigurationsmanagement mit Puppet

42 Team IMAP-Server. Einstellung für Microsoft Outlook Einstellung für Mozilla Thunderbird

STRATO Mail Einrichtung iphone / ipad (ios 9)

A1 -Einstellungen Appl MAC OS 10.9

Ein Update der WinBack-Version in der Produktion kann nur von unserer Service-Abteilung über die Fernwartung durchgeführt werden.

Multisite Setup. mit Nutzung von Subversion. Drupal Voice Chat

Collax Windows-L2TP/IPsec VPN Howto

-Konten für Studierende und Zugriffswege auf die Mail-Systeme der Hochschule Rhein-Waal

i-net HelpDesk Erste Schritte

programm Einrichten

Key-basierte SSH Login mit PuTTY

STRATO Mail Einrichtung Windows Live Mail

regify Installationsanleitung für IBM Lotus Notes / Domino Version volker.schmid@regify.com

Datenbanken für Online Untersuchungen

Thunderbird 2 und 3 versand einrichten

In diesem Dokument erhalten Sie eine Schritt für Schritt Anleitung, wie Sie Ihre Joomla-Installation auf Ihrem EDIS-VHOST realisieren:

Login. Mit Passwort & Benutzernamen anmelden

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.


UNIX Die wichtigsten Befehle

Handbuch: Einrichtung unter Microsoft Outlook 2013 (POP3-SSL)

SVN Administration für das KTM-Projekt

Mit PuTTY und WinSCP an der Pi

1.3 Erster Start des AfA-Moduls und Anlegen der Datenbank (Mandant und AFA)

Mail und Mailserver. Mail - Protokolle. Wichtige RFCs. Alexander Piskernik & Adi Kriegisch. 3. Mai 2007

Hilfe zum Einrichten Ihres -Programms ( -Client)

Enterprise User Security mit Active Directory

- Installation. Systemvoraussetzungen für Red Hat. conversations installieren conversations wird als TGZ-Archiv mit dem Namen

WeMaD. Präsentation von. Thomas Hühn WeMaD 1

Wie richte ich mein Webhosting auf dem Admin Panel ein?

Avenum4i - Produktverwaltung

Transkript:

Courier modularer Multiprotokoll-Mailserver Tom Scholz <t.scholz@heinlein-support.de> Der Aufbau des Courier 1.1 Die modulare Struktur Wesentliches Merkmal des Aufbaus des Courier ist seine modulare Struktur. So bringt der Courier für jedes Protokoll einen separaten Teildienst mit, der mit seinem eigenen Startscript gestartet wird. Alle Dienste können Ihre Authentifizierung über den zentralen authdaemond vornehmen, der wiederum über mehrere Authentifizierungsmodule und somit über eine Vielfalt von Authentifizierungsmethoden verfügt. Diese Dienste sind imap, imap-ssl, pop3 und pop3-ssl. Es sind darüber hinaus auch ein smtpd und der Webmailer sqwebmail verfügbar. 1.2 Der Authdaemon Mit Hilfe des Authdaemons wird eine globale Konfiguration der Authentifikationsmethode für alle Teildienste zur Verfügung gestellt. Dies vereinfacht die Konfiguration des Courier und seiner Teildienste, da nicht für jeden Dienst eine separate Anpassung vorgenommen werden muss. Der Authdaemon kann mit Hilfe seiner Module mit nahezu jeder möglichen Authentifizierungsmethode umgehen. 2. Die Authentifikationsmodule Die Aufgabe eines Autentifikationsmoduls besteht darin, die Zugriffsberechtigung eines Benutzers auf eine Ressource zu überprüfen. Dazu benötigt es folgende Werte: home-mailbox, UID, GID und Passwort Je nach gewähltem Typ sucht das Modul, das beim Login eines Benutzers durch den authdaemond aufgerufen wird, diese Werte in den Systemaccounts oder in einer Datenbank. Es gibt viele verschiedene Authentifizierungsmodule, die jeweils eine Methode der Login- Authentifizierung ermöglichen. Je nach vorhandenen Libraries im System können diese Module bei der Installation mit eingebunden werden. Es können ohne weiteres mehrere Authentifikationsmodule arbeiten. Sind z.b. authuserdb und authpam als Module gewählt, so werden zunächst die userdb-datenbankdateien durchsucht und falls dort keine Accountinformationen vorhanden sind zur PAM-Authentifizierung übergegangen. Die möglichen Module sind: 2.1 authpwd Dieses Modul sucht in /etc/passwd nach UID`s und Passwörtern. Falls das System NISmaps unterstützt, werden diese ebenfalls durchsucht.

2.2 authshadow ist vergleichbar mit authpwd, nur verwendet es die /etc/shadow um die Passwörter auszulesen. 2.3 authpam authpam sollte auf Systemen verwendet werden, die die PAM-library verwenden. Damit stehen alle Authentifizierungsmöglichkeiten, die PAM bietet zur Verfügung. 2.4 authuserdb Dieses Modul verwendet GDBM oder DB-Datenbank-Dateien, üblicherweise in /etc/userdb.dat und /etc/userdbshadow.dat um User-IDs und Passwörter zu suchen. Die Funktion dieser Dateien entspricht den Systemaccount-Dateien /etc/passwd und /etc/shadow. Courier liefert die notwendigen Perl-Skripte zur Verwaltung dieser Dateien mit. Diese sind pw2userdb, userdb, userdbpw und makeuserdb. userdb ermöglicht das Erstellen virtueller Mailkonten, die alle die selbe UID und GID haben. Sie werden mit userdb im Klartextfile /etc/userdb/ definiert und mit makeuserdb in die.dat-dateien umgewandelt. Statt des linearen Auslesens der /etc/passwd, das bei großer Anzahl von Konten sehr zeitaufwendig werden kann, wird hierbei eine wesentlich schnellere Abfrage aus den Datenbank-Dateien möglich. 2.5 authcram authcram ist vergleichbar mit authuserdb nur das hier CRAM-MD5 Authentifizierung mit eingebunden wird. Es verwendet die selben Datenbankdateien wie authuserdb. 2.6 authvchkpw ist ein weiteres Datenbank-Modul, dass die vpopmail vpasswd-dateien verwendet. Authchkpw bietet sich an um existierende vpopmail-accounts und deren vpasswd-files einzubinden. Es empfiehlt sich diese mit vchkpw2userdb ins userdb-format zu konvertieren. 2.7 authldap holt sich die für die Authentifizierung notwendigen Werte aus den Attributen eines LDAP- Verzeichnisses 2.8 authmysql natives MySQL Modul, das die Authentifizierung an einer MySQL-Datenbank ermöglicht 2.9 authpgsql ermöglicht die Authentifikation an einer PostgreSQL-Datenbank und ist in seiner Konfiguration fast identisch gegenüber den Einstellungen für authmysql. 2.10 authcustom authcustom ist ein Dummy-Modul, das verwendet werden kann um eigene in C geschriebene Authentifikationsmechanismen zu implementieren.

3. Das Maildir-Format 3.1 Struktur des Maildir-Verzeichnis Maildir ist eine Verzeichnisstruktur, die zum Speichern von E-Mails verwendet wird. Es besteht aus einem Verzeichnis Maildir mit drei Unterverzeichnissen tmp, new und cur. Der Prozess, der E-Mails liefert, schreibt diese zunächst nach tmp. Der Dateiname besteht dabei aus einer Aneinanderreihung der Prozess-IDs, der Uhrzeit und des Hostnamens. Wenn das erledigt ist, wird die Datei von tmp nach new verschoben. Liest nun ein Prozess eine Nachricht, so verschiebt er sie von new nach cur. Maildir ist aufgrund dieses Konzepts ein relativ sicheres und zuverlässiges Speicherkonzept. 3.2 Vorteile gegenüber dem mbox-fromat Das mbox-format zeigt im Vergleich zum Maildirformat einige Schwächen. Da hier die Nachrichten in einer zentralen Datei abgelegt werden, kann immer nur ein einziger Prozess Zugriff erhalten. Bei Maildir hingegen wird jede E-Mail in einer separaten Datei gespeichert. Das Maildir-Format bietet damit die Möglichkeit des gleichzeitigen Zugriffes mehrerer einliefernder, sowie abrufender Anwendungen. Aufgrund des Maildir-Speicherkonzeptes wird jederzeit sichergestellt, dass nur vollständige Nachrichten letztlich im Posteingang ankommen. Diese Sicherheit ist beim mbox-format nicht gegeben. Fällt der zustellende Dienst aus und die Nachricht wird nur unvollständig zugestellt, so wird diese dennoch in der mbox-datei abgelegt. Eine korrupte Nachricht wird also nicht gefiltert. 4. Verwaltung der Mailbox-Verzeichnisse 4.1 Tools zur Verwaltung Mit nur wenigen Tools ist es bereits möglich komplexe Mailboxstrukturen zu gestalten. Alle Tools bringt das Courier-Basispaket bereits mit. Hierzu gehören maildirmake, maildiracl, userdb, userdbpw und makeuserdb. Zentrales Verwaltungstool ist dabei maildirmake, das neben dem blossen Anlegen eines Maildirs auch Quotas, Subfolder und Shared-folder verwaltet. 4.2 Definition von Quotas Die Definition von Quotas ist, wie die gesamte Konfiguration des Courier, mit wenig Aufwand verbunden. Der Aufruf von maildirmake mit dem Parameter -q setzt Quotas auf Basis des maximalen Speicherplatzes aller Mails oder der maximalen Anzahl an Mails. Wird z.b. maildirmake -q 5000000S,1000C./Maildir aufgerufen, so wird ein maximal verfügbarer Speicherplatz von 5.000.000Bytes (Size) oder von maximal 1000 Nachrichten (Count) für das angegebene Verzeichnis Maildir festgelegt, je nachdem welcher Fall zuerst eintritt.

Alle Quotainformationen werden in./maildir/maildirsize abgelegt und verlieren mit der Löschung dieser Datei wieder ihre Wirkung. 4.3 Definition von ACL`s Für die Festlegung von Access Control Lists steht maildiracl zur Verfügung. Hiermit können, unabhängig von Zugriffsrechten auf Dateisystemebene, Rechte für Unterverzeichnisse des Maildir definiert werden. maildiracl bietet die Möglichkeit mit einfachen Mitteln eine umfangreiche Zugriffsrechteverwaltung zu verwirklichen. So kann z.b. mit maildiracl -set /home/user1/maildir INBOX.Sent user=test lr dem user test das Sent-Verzeichnis von /home/user1/maildir sichtbar und lesbar gesetzt werden. Insbesonsdere für die Verwaltung der Shared-Folder bietet maildiracl vielfältige Möglichkeiten um die Zugriffsrechte bis ins kleinste zu regulieren. 4.4 Shared-Folder Während Filesystem-basierende Zugriffsrechte auf Shared-folders herkömmliche Shell- Accounts abdeckt, bietet maildiracl damit die Möglichkeit auch die Zugriffsrechte auf Shared-folder virtueller Mailaccounts zu regulieren. Virtuelle Accounts tragen alle die gleiche UID und GID, daher werden hier die Login-Namen der Accounts ausgewertet. Um einen Shared-Folder zu erstellen benötigt man lediglich maildirmake. 5. Virtuelle Accounts 5.1 Beispielkonfiguration userdb: Postfix-Konfiguration: für user test@test.com: * mkdir -p /var/vmail/test.com/test/ * maildirmake /var/vmail/test.com/test/maildir && chown -R 10000:10000 /var/vmail/test.com/test/maildir * /etc/postfix/main.cf: virtual_transport = virtual virtual_mailbox_base = /var/vmail/ virtual_mailbox_maps = hash:/etc/postfix/vmailbox virtual_mailbox_domains = hash:/etc/postfix/vmaildomains virtual_uid_maps = static:10000 virtual_gid_maps = static:10000 * /etc/postfix/vmailbox: test@test.com test.com/test/maildir/ * /etc/postfix/vmaildomains: test.com anything

Courier Konfiguration: * /etc/courier/authdaemonrc: authmodulelist = "authuserdb" * userdb "test@test.com" set home=/var/vmail/test.com/test \ mail=/var/vmail/test.com/test/maildir uid=10000 gid=10000 * userdbpw userdb "test@test.com" set systempw * makeuserdb 5.2 Beispielkonfiguration LDAP: Postfix-Konfiguration: * /etc/postfix/main.cf: virtual_mailbox_base = / virtual_mailbox_maps = ldap:/etc/postfix/virtual_mailbox.ldap virtual_mailbox_domains = ldap:/etc/postfix/virtual_domains.ldap virtual_uid_maps = static:10000 virtual_gid_maps = static:10000 * /etc/postfix/virtual_mailbox.ldap: server_host = ldap.example.com server_port = 389 search_base = ou=user,o=example,c=com query_filter = (mail=%s) bind = yes bind_dn = cn=root,o=example,c=com bind_pw = secret result_attribute = mailmessagestore * /etc/postfix/virtual_domains.ldap: server_host = ldap.example.com server_port = 389 bind = yes bind_dn = cn=root,o=example,c=com bind_pw = secret search_base = ou=user,o=example,c=com query_filter = (dc=%s) result_attribute = dc

Courier-Konfiguration: * /etc/courier/authdaemonrc: authmodulelist= authldap * /etc/courier/authldaprc: LDAP_SERVER ldap.example.com LDAP_PORT 389 LDAP_BASEDN ou=user,o=example,c=com LDAP_BINDDN cn=root, o=example, c=com LDAP_BINDPW secret LDAP_GLOB_UID 10000 LDAP_GLOB_GID 10000 LDAP_HOMEDIR mailmessagestore 6. Performance 6.1 Limitierung Die Limitierung der max. Daemons kann sowohl gobal als auch pro IP-Adresse vorgenommen werden. Hierfür stehen die Variablen MAXDAEMONS und MAXPERIP in der Konfigurationsdatei /etc/courier/imapd ##NAME: MAXDAEMONS:0 # Maximum number of IMAP servers started MAXDAEMONS=40 ##NAME: MAXPERIP:0 # Maximum number of connections to accept from the same IP address MAXPERIP=20 6.2 Optimierung der Systemleistung Die Default-Einstellungen sind hierbei sehr knapp bemessen und in einem Produktivsystem mit mehreren Tausend Mailaccounts sollten hier ggf. Anpassungen vorgenommen werden. Sind diese Werte zu niedrig gehalten, so kommt es zur Ablehnung von Verbindungen. 7. Fazit Der Courier Mailserver bietet eine hohe Flexibilität in der Wahl der Authentifizierungsmethode. Die Konfiguration und Verwaltung ist einfach und mit nur wenigen Tools können komplexe Strukturen erzeugt werden. Der Courier arbeitet mit dem Maildirformat, das gegenüber dem mbox-format eine bessere Performance, sowie höhere Sicherheit bietet.