Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
benno-imap [2018/06/12 16:26] – [Konfiguration Authentisierungsmodul] lwsystems | benno-imap [2021/11/18 09:30] – [Installation] lwsystems | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
//Zum einmaligen Import bestehender E-Mail Bestände sollte er Import per POP3 (mittels [[benno-pop3]]) oder IMAP (mittels [[benno-imapimport]]) durchgeführt werden.// | //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 | + | Die Anbindung an das E-Mail System sollte möglichst direkt über die hiefür vorgesehenen Schnittstellen erfolgen. |
* [[benno-milter]] bei Unix- oder Linux-Mailsystemen | * [[benno-milter]] bei Unix- oder Linux-Mailsystemen | ||
* [[benno-exchange]] bei Microsoft Exchange Installationen | * [[benno-exchange]] bei Microsoft Exchange Installationen | ||
Zeile 15: | Zeile 15: | ||
Die für diese Funktionalität benötigten Software-Komponenten werden mit Hilfe des Pakets // | Die für diese Funktionalität benötigten Software-Komponenten werden mit Hilfe des Pakets // | ||
- | Bei Nutzung einer MySQL Datenbank werden zusätzlich die Pakete // | + | Bei Nutzung einer MySQL Datenbank werden zusätzlich die Pakete // |
benötigt. | benötigt. | ||
+ | Darüber hinaus muss in der MySQL Datenbank noch die Relation [[: | ||
Zeile 23: | Zeile 24: | ||
====== Konfiguration ====== | ====== Konfiguration ====== | ||
- | ===== Authentisierung am Web-Interface | + | ===== Schlüsselpaar zur Speicherung der Passwörter |
- | Die Authentisierung erfolgt gegen einen IMAP-Server mit Hilfe des externen | + | Die IMAP Passwörter werden reversibel verschlüsselt in der Datenbank |
- | [[Authentisierung# | + | gespeichert. Das Schlüsselpaar wird bei der Installation automatisch angelegt und in den Dateien ''/ |
- | Das Authentisierungs-Modul wird in der Konfigurationsdatei | + | Die Schlüssel können auch [[Schlüsselpaar erstellen|nachträglich erstellt werden]]. |
- | / | + | |
- | EXTERNAL_AUTH | + | ===== Konfiguration der Schlüssel ===== |
+ | Der private Schlüssel wird in der Konfigurationsdatei von benno-imapsync ('' | ||
- | ==== Konfiguration benno_imapauth ==== | + | **ACHTUNG!** Der private Schlüssel sollte möglichst nicht auf Systemen gespeichert werden, die direkt aus dem Internet erreichbar sind. In diesem Fall sollte der Parameter //keyfile// auskommentiert werden.\\ |
+ | In einem solchen Fall erwartete '' | ||
- | Die Konfiguration für das Authentisierungs-Modul " | ||
- | der Datei / | ||
- | INI-Format ausgeführt (https:// | ||
- | den User des Webservers lesbar sein. | ||
- | Nach erfolgreicher | + | ===== Authentisierung |
- | ''/ | + | |
- | " | + | |
- | (imapauth.conf: | + | |
+ | Die Authentisierung erfolgt gegen den IMAP-Server des Benutzers mit Hilfe des externen | ||
+ | [[Authentisierung# | ||
- | ===== Schlüsselpaar zur Speicherung der Passwörter ===== | + | Die Aktivierung des Authentisierungs-Moduls erfolgt, indem es perl Symlink in den Authentisierungs-Stack aufgenommen wird. |
- | Die IMAP Passwörter werden reversibel verschlüsselt in der Datenbank | + | ln -s /usr/lib/benno-imap/ |
- | gespeichert. Das Schlüsselpaar wird bei der Installation automatisch angelegt und in den Dateien '' | + | |
- | Die Schlüssel können auch [[Schlüsselpaar erstellen|nachträglich erstellt werden]]. | ||
+ | ==== Konfiguration benno_imapauth ==== | ||
- | ===== Konfiguration der Schlüssel ===== | + | Die Konfiguration |
+ | der Datei ''/ | ||
+ | INI-Format ausgeführt (https:// | ||
+ | den User des Webservers lesbar sein. | ||
- | Der private Schlüssel | + | Nach erfolgreicher Authentisierung gegen den IMAP-Server |
- | festgelegt. Das Passwort | + | |
- | werden. | + | |
- | + | ||
- | Falls kein Schlüssel angegeben ist, liest benno-imapsync beim Start den | + | |
- | unverschlüsselten Schlüssel von STDIN. Dieser kann z.B. von Remote übergeben | + | |
- | werden. | + | |
- | Start versucht, diese von STDIN zu lesen. | + | |
Zeile 73: | Zeile 65: | ||
Ein neuer Benutzer wird mit dem Program // | Ein neuer Benutzer wird mit dem Program // | ||
mit -u < | mit -u < | ||
+ | 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 "< | ||
- | Nicht übergebenen Parameter werden mit den Defaultparameatern | + | Nicht übergebenen Parameter werden mit den Defaultparametern |
<code bash> | <code bash> | ||
- | benno-imapuser -u benno@lw-systems.net -i imap.lw-systems.net -C LWsystems | + | benno-imapuser -u benno@lw-systems.net -i imap.lw-systems.net -C BennoContainer |
-n 'Benno LWsystems' | -n 'Benno LWsystems' | ||
</ | </ | ||
- | Das Passwort | + | Das Passwort wird nach jeder erfolgreicher Anmeldung |
===== Benutzer löschen ===== | ===== Benutzer löschen ===== | ||
- | Mit '' | + | Mit '' |
gelöscht. Damit wird auch keine Synchronisation des IMAP Kontos mehr | gelöscht. Damit wird auch keine Synchronisation des IMAP Kontos mehr | ||
- | vorgenommen. | + | vorgenommen. |
+ | |||
+ | Die Ausgabe von '' | ||
===== Benutzerpasswort ändern ===== | ===== Benutzerpasswort ändern ===== | ||
Zeile 103: | Zeile 98: | ||
Konfiguration erfolgt in der mit dem Parameter -c übergebenen Datei (/ | Konfiguration erfolgt in der mit dem Parameter -c übergebenen Datei (/ | ||
Hier können Beispielsweise Ordner wie //Drafts// von der Synchronisation ausgeschlossen werden. | Hier können Beispielsweise Ordner wie //Drafts// von der Synchronisation ausgeschlossen werden. | ||
- | |||
Die zu importierenden Accounts werden aus der Tabelle " | Die zu importierenden Accounts werden aus der Tabelle " | ||
Zeile 109: | Zeile 103: | ||
Falls hier die Meldung "//RSA key format is not supported//" | Falls hier die Meldung "//RSA key format is not supported//" | ||
- | ==== Konfiguration des Imports ==== | ||
- | Der private Key der verschlüsselten Passwörter sollte **nie** auf dem Server | + | ===== Cron-Job |
- | gelagert werden. Der Import kann per Cron-Job | + | |
- | Netz getriggert werden, wobei der Key per STDIN übergeben wird. | + | |
- | Als Beispiel sei die folgende Konfiguration vorgeschlagen. | + | Für die regelmäßige Abholung wird der Cron-Job in der Datei ''/ |
- | === Interner Host === | + | |
- | Ein Cron-Job auf dem internen System startet das Script zum Aufruf der Synchronisation.per ssh und übergibt den privaten Schlüssel auf STDIN. | + | <file> |
- | + | ||
- | <code bash> | + | |
- | cat $KEYFILE | ssh -q benno@$CLOUDHOST '/ | + | |
- | </ | + | |
- | + | ||
- | === Benno Cloud Server === | + | |
- | + | ||
- | Hier wird ein Script zum Start des Synchronisationsprozesses erstellt. Dieses Script schreibt die Logdaten für jeden Tag in eine getrennte Logdate. | + | |
- | + | ||
- | <code bash> | + | |
- | #!/bin/sh | + | |
# | # | ||
+ | # Start IMAP import every 15 minutes | ||
# | # | ||
- | THISDAY=$(date +%Y-%m-%d) | + | #*/15 * * * * benno [ -x /usr/sbin/benno-imapsync ] && |
- | LOGLEVEL=INFO | + | </file> |
- | + | ||
- | /usr/bin/sudo -u benno \ | + | |
- | | + | |
- | | + | |
- | -L $LOGLEVEL \ | + | |
- | | + | |
- | </code> | + |