Benutzer-Werkzeuge

Webseiten-Werkzeuge


benno-imap

Benno IMAP

Benno IMAP (benno-imap) ist für die Synchronisation der E-Mails aus IMAP Mailboxen vorgesehen. Hierbei werden die E-Mails in regelmäßigen Abständen vom IMAP-Server in das MailArchiv importiert.

Zum einmaligen Import bestehender E-Mail Bestände sollte er Import per POP3 (mittels benno-pop3) oder IMAP (mittels benno-imapimport) durchgeführt werden.

Die Anbindung an das E-Mail System sollte generell möglichst direkt über die hiefür vorgesehenen Schnittstellen erfolgen.

Die Anbindung per IMAP sollte nur dann konfguriert werden, falls keine direkte Anbindung möglich ist. Hier besteht systembedingt die Gefahr, daß E-Mails auf dem IMAP-Server gelöscht werden, bevor sie archiviert wurden.

Installation

Die für diese Funktionalität benötigten Software-Komponenten werden mit Hilfe des Pakets benno-imap installiert.

Bei Nutzung einer MySQL Datenbank werden zusätzlich die Pakete python-mysqldb und php5-mysql benötigt.

Konfiguration

Schlüsselpaar zur Speicherung der Passwörter

Die IMAP Passwörter werden reversibel verschlüsselt in der Datenbank gespeichert. Das Schlüsselpaar wird bei der Installation automatisch angelegt und in den Dateien /etc/benno-imap/benno-imap.pub und /etc/benno-imap/benno-imap.sec gespeichert.

Die Schlüssel können auch nachträglich erstellt werden.

Konfiguration der Schlüssel

Der private Schlüssel wird in der Konfigurationsdatei von benno-imapsync (/etc/benno-imap/imapsync.conf) festgelegt. Eine für den Schlüssel eventuell notwendiges Passwort wird in der Konfigurationsdatei im Parameter keypass aufgeführt. Ein fehlendendes, aber notwendiges Passwort wird beim Start von STDIN gelesen.

Falls der private Schlüssel aus Sicherheitsgründen nicht auf dem System gespeichert werden soll, wird der Parameter keyfile auskommentiert. In diesem Fall liest benno-imapsync beim Start den privaten Schlüssel von STDIN. Ein solches Setup ermöglicht die Übergabe des Schlüssels per PIPE von einem anderen Host

Authentisierung am Web-Interface

Die Authentisierung erfolgt gegen den IMAP-Server des Benutzers mit Hilfe des externen Authentisierungs-Moduls benno_imapauth.

Das Authentisierungs-Modul wird in der Konfigurationsdatei /etc/benno-web/benno.conf festgelegt.

EXTERNAL_AUTH = /usr/lib/benno-imap/benno_imapauth

Konfiguration benno_imapauth

Die Konfiguration für das Authentisierungs-Modul benno_imap ist in der Datei /etc/benno-imap/imapauth.conf gespeichert. Diese Datei ist im INI-Format ausgeführt (https://de.wikipedia.org/wiki/Initialisierungsdatei) und muss für den User des Webservers lesbar sein.

Nach erfolgreicher Authentisierung gegen den IMAP-Server wird das Passwort mit dem Public-Key verschlüsselt und in der internen Datenbank gespeichert.

Benutzer verwalten

Benutzer anlegen

Ein neuer Benutzer wird mit dem Program benno-imapuser angelegt, falls das Programm mit -u <username> -i <imaphost> -C <container> aufgerufen wird. Das Programm kann unterschiedliche IMAP-Server abfragen, so daß die Möglichkeit besteht daß ein Username auf mehreren Server vorkommen kann. Daher wird ein Benutzer durch den „<username>“ und den „<imaphost>“ eindeutig identifizert werden kann.

Nicht übergebenen Parameter werden mit den Defaultparametern der Konfigurationsdatei vorbelegt.

benno-imapuser -u benno@lw-systems.net -i imap.lw-systems.net -C BennoContainer \
  -n 'Benno LWsystems' -e benno@lw-systems.net,info@lw-systems.net  

Das Passwort wird nach jeder erfolgreicher Anmeldung am Benno MailArchiv Web-Interface in der Datenbank gespeichert. Alternativ kann es direkt beim Anlegen des Benutzers mit dem Parameter -p angegeben werden.

Benutzer löschen

Mit benno-imapuser -D -u <username> -i <imaphost> wird der Benutzer aus der Datenbank gelöscht. Damit wird auch keine Synchronisation des IMAP Kontos mehr vorgenommen. Es sind beide Angaben notwendig, da ein IMAP-User nur so eindeutig identifiziert werden kann.

Die Ausgabe von benno-imapuser -l gibt zeilenweise die Benutzer und IMAP-Host Parameter aus, so ggfs. direkt kopiert und eingefügt werden können.

Benutzerpasswort ändern

Falls das Passwort eines Benutzers auf dem IMAP-Server geändert wird, muss sich der Benutzer einmal mit diesem Passwort am Web-Interface anmelden. Dann wird das neue Passwort in der Datenbank gespeichert und die E-Mails können vom IMAP-Server importiert werden.

Alternativ kann das Passwort mit dem Kommando benno-imapuser -u <username> -p <password> geändert werden.

Import von E-Mails

Der Import von neuen E-Mails erfolgt mit dem Programm benno-imapsync. Die Konfiguration erfolgt in der mit dem Parameter -c übergebenen Datei (/etc/benno-imap/imapsync.conf). Hier können Beispielsweise Ordner wie Drafts von der Synchronisation ausgeschlossen werden.

Die zu importierenden Accounts werden aus der Tabelle „imapuser“ gelesen. Das Passwort wird mit dem privaten Schlüssel (imapsync.conf: keyfile = …) entschlüsselt.

Falls hier die Meldung „RSA key format is not supported“ ausgegeben wird, wurde versehentlich ein RSA-Key statt des 3DES Keys erstellt / konfiguriert.

Cron-Job

Für die regelmäßige Abholung wird der Cron-Job in der Datei /etc/cron.d/benno-imap durch Entfernen des Kommentarzeichens zu Beginn der Zeile mit dem Kommandoaufruf aktiviert.

#
# Start IMAP import every 15 minutes
#
#*/15 *   * * *   benno [ -x /usr/sbin/benno-imapsync ] && /usr/sbin/benno-imapsync -c /etc/benno-imap/imapsync.conf -f /var/log/benno/imapsync.log
benno-imap.txt · Zuletzt geändert: 2018/09/19 17:10 von lwsystems