Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Benno - Das Echte Mailarchiv
…archiviert Kopano Groupware
Rechtssichere Emailarchivierung - was heißt das nun?
Benno MailArchiv ist die offene und flexible Lösung für die revisionssichere E-Mail-Archivierung. Der Einsatz von Benno MailArchiv ermöglicht signifkante Kosteneinsparungen beim Ablegen und Suchen von E-Mails im Unternehmen. E-Mails werden automatisch, sicher und zuverlässig archiviert. Die Textinhalte aller E-Mails (incl. der Attachements!) werden on the fly indexiert. Alle E-Mails sind damit Volltext suchbar (bspw. über den Mailtext, Absender, Empfänger, Betreffzeile, Mailheader und natürlich über die Inhalte der Attachements!). Benno MailArchiv unterstützt z.Z. ca. 1.200 verschiedene Dateiformate für Attachements. (ZIP-Dateien werden ausgepackt und dateiweise indexiert). Über die ausgefeilte Suchfunktion wird jede beliebige E-Mail in Sekunden treffsicher gefunden. Das Suchen und Anzeigen von E-Mails kann über die http-Schnittstelle als Web-Service in Drittanwendungen integriert werden. Benno MailArchiv ist damit bestens für die Integration in Geschätsprozesse (SOA) vorbereitet.
Installation und Konfiguration
Benno entwickelt auf Debian. Die Installation hier bezieht sich auf Ubuntu 20.04 und Debian 10 in einem LXC auf Proxmox Virtualisierung. Abgeholt werden die Mails von einem UCS System wo Kopano als App installiert ist. Als erstes fügen wir für unsere Installation die Paketquelle hinzu:
wget -O - http://www.benno-mailarchiv.de/download/debian/benno.asc | apt-key add - echo "deb http://www.benno-mailarchiv.de/download/debian /" > /etc/apt/sources.list.d/benno.list apt update
Als nächstes installieren wir Benno Mailarchiv.
apt install benno-archive benno-rest benno-web apache2 benno-milter
Wenn du Benno MailArchiv ohne gültiges Lizenzfile betreibst, läuft Benno MailArchiv ab Archivierung der ersten E-Mail für 60 Tage im Demo-Modus. Im Demo-Modus stehen alle Funktionen uneingeschränkt zur Verfügung. Möchtest Benno MailArchiv danach weiter betreiben, benötigst du eine gültige Lizenz. Die Informationen zur Anforderung der Lizenz werden mit dem u.g. Kommando ermittelt. /etc/init.d/benno-rest info
Eine Lizenz kann dann unter https://www.benno-mailarchiv.de/lizenz/ angefordert werden.
Sicherheitscheck von Files:
chgrp benno /etc/benno/benno.xml chgrp www-data /etc/benno-web/benno.conf chmod 640 /etc/benno/benno.xml chmod 640 /etc/benno-web/benno.conf ls -l /etc/benno/benno.xml -rw-r----- 1 root benno 2622 Nov 22 09:19 /etc/benno/benno.xml ls -l /etc/benno-web/benno.conf -rw-r----- 1 root www-data 238 Nov 20 21:52 /etc/benno-web/benno.conf
Um nun die LDAPanbindung zu aktivieren importiert man das CA-Zertifikat seiner UCS-Umgebung nach /usr/local/share/ca-certificates/ucs-root.crt
. An diesem Punkt importiere doch auch gleich dein CA das du später für den Apache Webserver benötigst. Z.B. Das von deiner eigenen CA, oder eben ein anderes sofern dies für dich notwendig ist. Dananch führst du den Befehl aus.
update-ca-certificates
Danach editiert man die LDAP-Konfiguration nano /etc/benno-web/ldapauth.conf
. Hier ein Beispiel für UCS für die Domäne tux.lan
host = dc1.tux.lan:7389 basedn = dc=tux,dc=lan usersuffix = cn=users,dc=tux,dc=lan tls = true email = mailPrimaryAddress, mailAlternativeAddress, univentionFreeAttribute15 adminuser = Administrator, maxi
Die Konfiguration enhält auch schon die Attributerweiterung für das UCS Modul. (mailAlternativeAddress, univentionFreeAttribute15) Die gesamte Dokumentation für das Ldapmodul findest du hier. Default hat jeder Benutzer nur auf seine Mails Zugriff, außer Benutzer die unter „adminuser“ eingetragen sind. Um nun auch anderen Benutzer bestimmte Mailboxen für das Archiv zu zuordnen erweitern wir unseren UCS um ein LDAPattribut.
Kopiere nun die Schema-Datei auf deine UCS-Server in das Verzeichnis /tmp
, und imporiere es. Das Schema ist hier zur dokumentationszwecken auch nochmal angehängt.
ssh root@master.tux.lan wget -O /tmp/bennomailarchiv.schema https://wiki.benno-mailarchiv.de/lib/exe/fetch.php/konfigurationsbeispiele:bennomailarchiv.schema export UNIVENTION_APP_IDENTIFIER="Benno MailArchiv" . /usr/share/univention-lib/ldap.sh ucs_registerLDAPExtension --schema /tmp/bennomailarchiv.schema --packagename BennoMailArchiv --packageversion 1
Das zu importierende Schema wird im LDAP-Modul unter univention » ldapschema unter bennoMailArchiv angezeigt. Die Attribute können jetzt den User- und Gruppenmodulen hinzugefügt werden. Damit können pro User oder Gruppe Einstellungen für Benno MailArchiv vorgenommen werden. Die Konfiguration der Attribute ist in Erweiterung der UCS-Konfiguration beschrieben.
- bennomailarchiv.schema
## Attribute (1.3.6.1.4.1.30259.1.2.1) # global attributes attributetype ( 1.3.6.1.4.1.30259.1.2.1.1 NAME 'bennoContainer' DESC 'Benno Container the user has access to' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) # user attributes attributetype ( 1.3.6.1.4.1.30259.1.2.1.2 NAME 'bennoEmailAddress' DESC 'Additional E-Mail addresses that could be searched by user' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) attributetype ( 1.3.6.1.4.1.30259.1.2.1.3 NAME 'bennoRole' DESC 'Role of the user: [USER|ADMIN|REVISOR]' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256} SINGLE-VALUE) ## Objektklassen (1.3.6.1.4.1.30259.1.2.2) objectclass ( 1.3.6.1.4.1.30259.1.1.2.2 NAME 'BennoMailarchivUser' DESC 'Per user configuration data of Benno Mailarchiv' SUP top AUXILIARY MAY ( bennoContainer $ bennoEmailAddress $ bennoRole ) )
Ist das ganze durch sehen wir uns noch die Hauptkonfiguration an: nano /etc/benno-web/benno.conf
Das ist Default leer und benutzt eben auch die Defaultkonfiguration von Benno. Eine mögliche empfohlene Konfiguration findest du gleich hier:
#DEBUG = 0 SHOW_IMAGES = true SUPPRESS_LEADING_WILDCARD = 0 SUPPRESS_SINGLE_WILDCARD = 0 PERMALINK_UNAUTHENTICATED = no REST_SSL_VERIFY = no INFO_DISABLED = SYSDATA USERPERMISSONS = ENABLED LOGIN_SHOWLAST = 30 SHOW_SPAM = true
Diese Optionen sind im Benno Wiki im Detail beschrieben. Nun starten wir den Serverdienst einmal neu und können uns danach auch schon mit unseren Usern am Webinterface einloggen.
systemctl restart benno-archive.service
HTTPS am Webinterface
Um das Web-GUI per HTTPS abzusichern, muss der Webserver für HTTPS konfiguriert werden. Hierzu aktivieren wir das ssl Modul und die Default SSL Website im Apache Webserver. Zusätzliche bauen wir unser eigenes Zertifikat unserer CA ein. Du kannst natürlich eines mit UCS generieren, ein Wildcard deiner Organisation verwenden, Let's Encrypt, oder eines kaufen.
Hierzu kopiere deinen Key unter /etc/ssl/private/benno-apache.key
setzte die Rechte, und installiere die nötigen Pakete.
chown root:ssl-cert /etc/ssl/private/benoo-apache.key chmod 640 /etc/ssl/private/benno-apache.key apt install libapache2-mod-php -y a2enmod ssl a2ensite default-ssl
Das zuständige CA befindet sich ja schon am Server. Nun im File /etc/apache2/sites-enabled/default-ssl.conf
die beiden Zertifikate setzen:
... SSLCertificateFile /etc/ssl/certs/benno-apache.crt SSLCertificateKeyFile /etc/ssl/private/benno-apache.key ...
Apache neu starten: systemctl restart apache2
Weiters kann man unter /var/www/html/index.html
noch eine einfache Weiterleitung erstellen. Zur internen Verwendung genügt das.
- index.html
<html> <head> <meta http-equiv="refresh" content="0; URL=https://benno.tux.lan/benno/"> </head> </html>
Ansonsten sollte man dafür Apache selbst verwenden
Mailadressen von der Archivierung ausschließen
Möchte man bestimmte Adressen von der Archivierung ausschließen, z.B. aus Datenschutz rechtlichen Gründen, ist das über ein File leicht möglich nano /etc/benno/benno.xml
- benno.xml
... <simplecontainer> <identifier>BennoContainer</identifier> <conditions> <not> <or> <address sender="true" recipient="true" from="true" to="true" cc="true">bewerbungen@tux.lan</address> <address sender="true" recipient="true" from="true" to="true" cc="true">datenschutz@tux.lan</address> </or> </not> </conditions> ...
Achte hier auf den richtigen Container.
Archivierung von Kopano
Am Kopanoserver müssen auch die Quellen wie schon auf der Seite beschrieben eingebunden werden. Installiert wird lediglich das Webapp-Plugin. Damit integriert sich das Archiv als eigener TAB vollheitlich in Kopano.
apt install benno-kopano-webapp-plugin
Während der Installation wird nach den RestSettings gefragt. Dort muss der Name deines Benno MailarchivServers angegeben werden. Z.B. so:
https://benno.tux.lan/benno/rest.php
Bei Nachfrage nach dem Bennotcontainer einfach BennoContainer
reinschreiben.
Danach solltest du unbedingt noch einen Blick auf die Konfiguration des Plugns werfen, ob du etwas ändern möchtest.
nano /etc/benno-kopano-webapp-plugin/config.php
Konfiguration Postfix
Damit Benno auch alle Mails bekommst, holen wir diese mit dem MILTER Daemon ab. Das ganze bauen wir UCS konform.
ucr set mail/postfix/mastercf/options/smtps/milter_default_action=tempfail ucr set mail/postfix/mastercf/options/smtp/milter_default_action=tempfail ucr set mail/postfix/mastercf/options/smtps/smtpd_milters=inet:benno.tux.lan:22500 ucr set mail/postfix/mastercf/options/smtp/smtpd_milters=inet:benno.tux.lan:22500
Nun noch zusätzliche Config in die main.cf
schreiben. nano /etc/postfix/main.cf.local
non_smtpd_milters = inet:benno.tux.lan:22500 milter_default_action = tempfail
Konfiguration aktivieren:
ucr commit /etc/postfix/{main,master}.cf systemctl restart postfix.service
Achte drauf das dein Benno MailarchivServer mit den gesetzten Ports auch erreichbar ist. Sprich 443 und 22500. Ist dies gesetzt, werden deine gesamten Mail bereits alle archiviert.
Import bestehender Mails ins Archiv
Hier gibt es mehrere Möglichkeiten:
- benno-pop3
- benno-imapimport
Mit Pop3 können alle Mails von der Inbox importiert werden. Mit dem ImapConnector die Mails des gesamten Kontos. Leider ist der ImapConnector in Ubuntu 20.04 noch nicht funktionsfähig, da dieser zuerst auf Python3 migriert werden muss. Benno wird Default auf Debian entwickelt. Diese haben andere Releasezyklen als Ubuntu. Benno ist hier drann um auch dieses Feature wieder zu akivieren.
Beispiel:
benno-imapimport -u meinUserName -H benno.tux.lan -f -v -p 'geheim'
Hier gehts zur Dokumentation der gesamten Schnittstellen.
Links
- Besorg dir eine Lizenz und fördere das Projekt
Danke!
Großer Dank gilt hier dem Entwickler von Benno, LW-Systems die mich hierbei stark untersützt haben. Die Firma hat ein tolles Team und einen fachkundinge Support. Benno ist ein MEGA Produkt und ich darf es jedem der etwas auf seine Maildaten hält, wärmstens empfehlen. Stell dir doch mal vor: „Kein Mail wird mehr gelöscht!“ Sprich auch wenn du versehentlich etwas löscht, ist es noch immer im Archiv und für dich verfügbar. Bitte, wie genial ist das denn !