2011-05-30

Mailserver Konferenz 2011: Mail ist nicht kompliziert, nur sehr komplex

Am 26. und 27. Mai fand in Berlin die 5. Mailserver Konferenz bei Heinlein Support statt. Eine Konferenz von und für Spezialisten, war es für mich lohnen und hat mal wieder bestätigt, dass das gesamte Thema Email zwar nicht sehr kompliziert ist, in seiner Gesamtmasse and Details aber ziemlich komplex. Da in der iX mein Konferenzbericht erscheint, gibt es hier jetzt nur meinen Mitschrieb in Rohform.




Spamhaus

Carel van Straten is an investigator at The Spamhaus Project.
  • Vortrag im Programm der Konferenz
  • Spannender Einblick in die Hintergründe der SPAM Szene
  • SPAM Statistiken spiegeln die wichtigen Ereignisse der Weltgeschichte und die Feiertage wieder.
  • Böse Tricks der Spammer:
    • Wiederbelebung toter Netze
    • "Snowshoe spam"
  • Wie man Spamhouse Block Lists auch für andere Zwecke als die SPAM Bekämpfung nutzen kann
    • DROP - Don’t Route or Peer List: "Böse" Netze, die 100% in falschen Händen sind. Kann man direkt auf den Firewalls sperren.
  • Einblick in seine Arbeit als Investigator
    • Nachverfolgung der SPAM Inhalhttp://dev4003.devel.int/kickstart/is24-default-inhouse.phpte und Quellen
    • Verstehen, mit welchen Mitteln die Spammer ihr Geld verdienen
    • Aufdecken der internen Strukturen und Systeme der Spammer, z.B. eine Organisation betrieb über 100 Server mit typischen Diensten, die auch jede größere Organisation hätte (chat, NTP, In- und Out Mail, Wikis, Ticketsysteme…)

Austausch einer ISP Mailplattform - ohne downtime

Christian Rohmann ist Dipl.-Inform.(FH) und arbeitet als Entwickler für NetCologne wo er die Mail-Infrastruktur administriert und weiterentwickelt.
  • Vortrag als PDF zum Herunterladen
  • Gab Einblick in den Betrieb der Mailinfrastuktur bei NetCologne
  • Im Kontext der Austausch der Mailplattform (mehrere) hin zu einer neuen einheitliche Plattform
  • Viele Einschränkungen (nur POP3, kein SMTP Auth)
  • Ziel: Moderne Software und Hardware, Mandantenfähig, Flexibel, Innovativ
  • Groupware/PIM
  • Architektur:
    • NetApp Filer mit SnapMirror und Metrocluster als Storagebackend für Mail
    • ESXi als Virtualisierung mit DRS zur automatischen Lastverteilung
    • 10G Ethernet als dediziertes Storagenetzwerk
    • Frontend / Backend Trennung
    • F5 BigIP trennt internes Netz nach außen ab
    • postfix als MTA
    • dovecot als Mail Store, bietet viele Vorteile und Features und ist sehr schnell
    • nginx als POP3/IMAP4 Proxy mit Loadbalancing über Mailbox-Namen, Auth, Stickyness für Storageserver
    • Open-Xchange als Applikation für Web-GUI und Anbindung von Geräten (MAPI, ActiveSync usw.)
    • Selbstgeschriebene Anwendung für Kundendienst steuert Plattform und provisioniert Accounts Migrationsanforderungen:
  • Keine Downtime und kein Datenverlust
  • Steuerbare Geschwindigkeit, Migration einzelner Postfächer Migrationsstrategie
  • Kleine Schritte
  • Jederzeit Parallelbetrieb von alt und neu möglich
  • Schrittweise Umstellung der Komponenten durch Routing von neu auf alt

Postfix recent developments and outlook

Wietse Venema, author of postfix
  • Erklärt die Gründe für die Entstehung von postfix und erläutert an konkreten Beispielen die Nachteile der ursprünglichen sendmail Architektur
  • Monolitisches Design vs. verteilte Architektur, Verteilte Sicherheitsarchitektur, Privilegien nur in eng spezialisierten Subsystemen
  • In einem Tauchgang durch die postifx Implementierung gab Wietse tiefen Einblick in seine Erfahrung und die Hintergründe von vielen Details in postifx.
  • content-filter ist zwar toll, aber nicht optimal weil es zwei Mailsysteme in einem kombiniert und sich dadurch die Konfiguration und die Fehlersuche verkomplizieren. Als Lösung bietet sich postfix mit der Mandantenfähigkeit in neueren Versionen an, so dass sich die 2 postfix Instanzen sauber trennen lassen. Problem dabei ist dass der Filter keine Mails rejecten kann weil der 1. postfix sie bereits angenommen hat.
  • before-queue Filtering ist dafür eine gute Lösung da der Filter auch Mails rejecten kann. Einziger Nachteil ist der Perfomanceoverhead da für jeden smtp Daemon auch ein Filterprozess genutzt wird.
  • Die Unterstützung von milter ist die Antwort von postfix auf den steigenden Bedarf an Plugin-Mechanismen für komplexere Tests und Manipulationen von Email.
  • Wietse zeigte verschiedene Anti-Spam Strategien aus Sicht des Mailserver. Größtes Problem ist die große Anzahl der Botnetze, die 2010 für 90% SPAM Anteil in der Mail sorgten. Durch die vielen Zombies, die die Mailserver beschäftigen kommen legitime Clients nicht mehr immer zum Zuge.
  • Die Lösung dafür ist der postscreen Prozess, der die Zombies erkennt und filtert bevor sie den smtpd erreichen.
  • Postfix ist eigentlich komplett, die letzten Änderungen sind eher kleinerer Natur und drehen sich sehr stark um Anti-SPAM Maßnahmen.
  • Frage: Was würde eine 3.x Version von postfix rechtfertigen? Antwort: Alles neu und inkompatibel :-).

dovecot: The better IMAP-server

Timo Sirainen, dovecot Autor
  • Bald 10 Jahre dovecot Entwicklung
  • Design:
    • Schnell und sicher
    • Admin-freundlich
    • Alle ERROR Meldungen sind relevant, im normalen Betrieb sollte es keine Fehlermeldungen geben
    • Automatische Reparatur von Fehlern (z.B. kaputte Indexe)
  • 2.0 in 2010 released, langsam wird dovecot perfekt
  • Wichtige Features die in 2.0 neu sind:
    • doveadm ist zentrales Verwaltungstools
      • unterstützt Plugins
      • Mailboxverwaltung (löschen, verschieben …)
      • dbox: nur noch über doveadm verwalten!
    • attachments können jetzt in einem eigenen Bereich gespeichert werden (single instance store)
      • Deduplizierung entweder durch dovecot (sis) oder durch Dateisystem (posix)
    • dsync synchronisiert dovecot Mailboxen
      • mirror zwischen zwei aktiven dovecot Instanzen
      • Migration von Mailbox Formaten
      • poor mans replication
      • benötigt v2.0 auf beiden Seiten
      • multi master Replikation
      • funktioniert auch bei hohen Latenzen zwischen den Servern
      • theoretisch auch mit mehr als 2 Servern!
    • Directory Proxy
      • Für IMAP4, POP3, LMTP
      • Verwaltet die Lastverteilung auf mehere Server mit einem shared-storage Backend
      • Verteilung der User auf Backend Server basiert auf Hash über mailbox name
      • Erlaubt die Nutzung von shared-storage Backends ohne die typischen locking/caching Probleme
      • Gemeinsam benutze Mailboxen sind ein Problem
  • Features für zukünftige Versionen (v2.1)
    • Schon im 2.1 mercurial Repo verfügbar, noch nicht so umfangreich getestet
    • "IMAP Accelerator"
    • Ähnlich zu einem IMAP Proxy
    • Mit Caching und tieferem Verständnis des Protokolls
    • "imapc" (IMAP Client) als neues Backend Protokoll
    • Clients können sich per POP usw. verbinden, der Proxy spricht trotzdem IMAP zum Backend
    • Viele neue Use Cases für dovecot
      • Caching Proxy
        • Read Cache für überlasteten IMAP Server
        • Ähnlich einer master/slave Konfiguration
      • Kompatibilitätsschicht
        • Wenn Client und Server nicht ganz kompatibel zueinander sind (Unterschiedliche Interpretationen von IMAP)
        • dovecot ist 100% RFC-compliant
        • z.B. vorgeschaltet vor einem Exchange Server :-)
      • Security Proxy
        • Für hohe Anforderungen an Sicherheit, z.B. beim Zugriff vom Handy
        • dovecot als Application Layer Gateway
      • Filtering Proxy
        • Transparente PGP Verschlüsselung für alle User
      • Migrationswerkzeug
        • dsync + imapc zusammen: Alle Metadaten bleiben erhalten
        • Clients merken die Migration nicht, müssen Mails nicht neu herunterladen
    • Implementierung vom proxy:
      • Nutzt nur einfache IMAP Befehle, funktioniert daher mit jedem IMAP Server
      • Ineffizient z.B. bei Suche usw.
      • Benutzt dovecot index und cache files, kann weitere Befehle abarbeiten, während es auf länger dauernde Befehle wartet (prefetching).
    • Idee: Key-Value stores für IMAP Daten benutzen
      • Kann als dovecot backend implementiert werden
      • imapc hilft mit lokalem Caching um die hohe Latenz der Key-Value stores auszugleichen

Die Möglichkeiten der Milter-Schnittstelle

Andreas Schulze, postmaster bei der DATEV AG
  • Einführung in Milter (Mail Filter) als Schnittstelle zwischen MTA und externen Programmen
  • Entscheidungen über Annahme der Mails
  • Prüfungen und Modifikationen der Mails
  • Milter.org hat über 70 Milter unterschiedlicher Qualität
  • Es ist leicht, eine Content-Filter Farm mit Miltern aufzubauen, saubere Trennung vom MTA
  • Anwendungsbeispiel bei der DATEV:

Amavis Configuration and Management 2.7.0 Update

Mark Martinec, amavisd-new Autor
  • Vortrah als PDF zum herunterladen
  • Neue Version 2.7.0 (derzeit als Release Candidate)
    • 2.7.0 sollte gut mit der Vorwersion kompatible sein, Ausnahme sind SQL Felder.
    • Verbesserungen für den Einsatz als pre-queue proxy content filter
    • per-recipient SpamAssasin Bayes und User Einstellungen
    • external DKIM signer
    • next hop failover
    • neue Makros, besseres Logging
    • SMTP/LMTP Performanceverbesserungen um den Faktor 3.9 (ohne TLS) bzw. 11 (mit TLS)
    • Unterstützung für AV Protokolle: Sophos-SSSP, Avira SAVAPI, clamd streaming
    • Unterstützung für externen DKIM Signer Mail::DKIM. Vorteil ist dass die Schlüssel außerhalb vom amavis verwaltet werden können.
    • Mit SA 3.4.0 kann amavis die Mailflussrichtung an SA weitergeben um diese Info auszuwerten ohne sie neu zu berechnen
    • Neue Makros für log templates die es erlauben, sehr viel detailliertere Logs zu erstellen
  • Tuning Tipps (primär für post-queue Filtering wo man die Anzahl der Prozesse steuern kann)
    • Anzahl der Prozesse muss die Anzahl der CPUs nicht überfordern
    • langsame CLI Scanner vermeiden, Daemons nutzen
    • syslogd: kein Sync für jede Logzeile
    • timing reports bei $log_level = 2
    • nanny anschauen, $nanny_details_level = 2
    • getrennte Festplatten für MTA spool und amavisd tmp
    • getrennte Hosts für MTA und amavisd
    • Policy Banks nutzen. Ist etwas kompliziert bring aber viel um die Konfiguration übersichtlicher zu machen.
    • Policy Banks können z.B. einzelnen Ports zugewiesen werden um so mehrere amavis Instanzen parallel zu betreiben. Praktisches Beispiel ist die Sonderbehandlung von Mails, die per SASL authentifiziert eingeliefert werden.
  • SpamAssassin Tuning Tipps
    • SQL für Bayes und Automatic White List Datenbanken
    • alternativ: read-only Datenbanken und offline Updates
    • Regeln kompilieren mit sa-compile
    • große Mails abschneiden und nur den Anfang an SA geben (DKIM muss dann in amavisd erfolgen)
    • langsames Regex vermeiden
    • timeouts für externe Daten (RBL, Razor, Pyzor …)
    • lokales Caching für DNS-basierte RBLs
    • timing reports bei log level 2 auswerten
    • "Penpals", erkennen: Dass eine Mail eine Antwort auf eine vorherige Mail ist (Message-ID <→ In-Reply-To,References). Das kann einige negative Score Points beisteuern und helfen, false positives zu vermeiden
    • "Bounce killer": In Bounces prüfen, ob der referenzierte Mailheader von einer ausgehenden Mail kommt
  • pre-queue Filtering
    • Kann Emails abweisen, daher kein Backscatter und kein Problem mit der Annahme von unerwünschter Mail
    • Probleme:
      • Die gesamte Prüfung muss im Rahmen der externen SMTP Session passieren
      • Die Anzahl der parallelen Content Filter beschränkt die Anzahl der parallelen SMTP Verbindungen
      • Wie geht man mit Peaks um?
      • SMTP end-of-data timeout wird durch Client bestimmt (Zombies!)
    • Lösungen in 2.7.0
      • sub-task time limits beschränken einzelne Tasks in ihrer gesamten Ausführungszeit
      • benötigt SA 3.3.0
      • $child_timeout = 45 ist guter Startpunkt, muss kleiner sein als Postfix smtpd_proxy_timeout (100s)
      • amavisd reload signalisiert HUP an Daemon, soft restart mit exec() und Übergabe der offenen socket descriptors an den neuen Prozess.
      • Postfix 2.7.0 bringt smtpd_proxy_options = speed_adjust, hiermit wird die Verbindung zum content filter erst nach dem Ende von DATA eröffnet. Damit wird der pre-queue content filter von langsamen SMTP Clients entkoppelt, lt. Wietse bringt das 40% Reduktion der Last der content filter

Groupware

Open-Xchange
  • Hab mir nix notiert
Zarafa
  • Bundestagsfraktion der Grünen
  • Outlook als Client
  • Lange Exchange Vergangenheit, Nutzer haben sehr hohe Ansprüche an Outlookfeatures
  • Lange Liste von Dingen, die nicht gehen und wo man sich umstellen muss
GroupOffice
tine2.0
Kolab
  • Nur Anbietervortrag
  • Lokale Clientanwendung (Kontact), die crossplattform ist.
  • Lokale Clientanwendung für Mobilgeräte (Linux-basiert)
  • Unterstützt Migration weg von Windows-Desktops.
Mehr habe ich nicht mitgeschnitten, der andere Track mit Botnetz war spannender.

Zahnräder, Schrauben, Federn: Das XXXX-Botnetz

Tillmann Werner, Senior Virus Analyst, Kaspersky Lab
  • Das Botnetz darf nicht genannt werden weil die Analyse noch nicht abgeschlossen ist
  • Verbreitung über Social Engineering (grusskarte.exe)
  • Bot versteckt sich nicht im System
  • Spannende Analyse des Bot Clients mit Deassemblierung, dieser Vortrag war die gesamte Konferenz wert.

De-Mail und ePost

Uwe Ulbrich, Geschäftsführer der Net at Work GmbH
  • Warum das Ganze, Hintergründe und Details zum Gesetz
  • Das Konzept bringt einige wichtige rechtliche Rahmenbedingunen in die Welt der Email
    • Nachweis des Versandes oder des Empfangs
    • Qualifizierte Identifikation der Kommunikationspartner
    • Durchgehend Verschlüsselte Kommunikationswege (TLS für SMTP und für HTTP)
  • Problempunkte:
    • Die privaten Schlüssel liegen nur beim De-Mail Provider
    • Der Zugriff von Personen erfolgt nur über ein Webmail-Interface, nicht über die klassischen Mailprotokolle POP3/IMAP4/SMTP
  • Unternehmen müssen ein spezielles Gateway nutzen
    • Haben auch nur ein Postfach, auf das sie per POP3 (!) zugreifen, natürlich mit Smartcard gesichert
    • Nicht wirklich für die Nutzung durch Menschen gedacht sondern eher für automatische Prozesse
    • Ankommende Mail geht dann in einen Posteingang und muss von dort dann intern weiter verteilt werden.
  • Eindruck: Alles noch etwas im Fluss, man sieht ganz klar was passiert wenn die Politik Vorgaben macht und die Wirtschaft es dann bauen soll. Das Konzept nennt sich dann "Partnerschaft von Staat und Wirtschaft" :-)