Open Source im professionellen Einsatz

Die monatliche GNU-Kolumne

Brave GNU World

Diese Kolumne berichtet aus der Perspektive von GNU-Projekt und FSF über Projekte und aktuelle Geschehnisse aus dem Umfeld freier Software. In dieser Ausgabe geht es um einen neuen Daemon, der als Spam-Filter arbeitet, und um die Überprüfbarkeit von Autor und Ursprung einer Mail.

Willkommen zu einer weiteren Ausgabe der Brave GNU World, die sich dieses Mal ausführlich mit Fragen rund um E-Mails und Spam - beziehungsweise seiner Vermeidung - beschäftigt und dazu ein aktuelles Projekt vorstellt. Da ein universelles Heilmittel gegen Spam zurzeit nicht existiert und viele Vorschläge so weit gehen, dass sie dem Tod des Mediums E-Mail gleichkommen, müssen Anwender auch in Zukunft über die Frage nachgrübeln, wie sie sich besser vor Spam schützen. Hier scheint die Kombination verschiedener Maßnahmen am sinnvollsten. Bereits heute sind jedoch einige Teilansätze schlimmer als das Problem.

Abbildung 1: Spam kann zwar unterhaltsam sein, ist aber in den meisten Fällen eher ein Ärgernis.

Abbildung 1: Spam kann zwar unterhaltsam sein, ist aber in den meisten Fällen eher ein Ärgernis.

Zu den sinnvollen Maßnahmen zählt das Filtern der elektronischen Nachrichten durch den Mailserver, bevor der sie an den Nutzer weiterleitet. Für diese Aufgabe gibt es eine große Zahl von Projekten. Einige von ihnen, etwa Spamassassin[5], kamen im Rahmen dieser Kolumne bereits zur Sprache. Diesmal liegt das Hauptaugenmerk jedoch auf einem anderen Aspekt: der Vernetzung mehrerer Filter. An vielen Stellen gehen Administratoren dazu über, Filter hintereinander zu schalten, um beispielsweise Spam- und Virenscanner zu kombinieren oder um die Trefferquote zu erhöhen. Der Aufwand lässt sich beliebig steigern, aber je komplexer ein System mit allen zusätzlichen Komponenten ist, umso anfälliger wird es auch für Fehler in der Konfiguration.

Hier schafft das folgende Projekt Abhilfe. Hinter dem wenig aufregenden Namen Amavisd-New[6] verbirgt sich ein Interface zwischen dem Mail Transport Agent (MTA) und den verschiedenen Scannern und Filtern. Der Name leitet sich aus dem Projekt Amavis (A Mail Virus Scanner)[7] ab. Manche Systemadministratoren setzen diese Software schon seit Jahren ein und das Linux-Magazin berichtete darüber bereits ausführlich in Ausgabe 06/01.

Zahlreiche Änderungen

Im Jahr 2002 entwickelte sich aus dem Daemon-Teil von Amavis das neue Programm Amavisd-New. Im Rahmen seiner Arbeit am Jozef-Stefan-Institut[8] in Ljubljana, Slovenien, brachte nämlich der Entwickler Mark Martinec so viele Änderungsvorschläge in Amavis ein, dass es unpraktikabel wurde, sie in die alte Codebasis einzuarbeiten.

Also spaltete sich die Entwicklungslinie und nach drei Jahre intensiver Arbeit weist das Projekt Amavisd-New kaum noch Ähnlichkeit mit seinem Ursprung auf: Es umfasst deutlich mehr Code, arbeitet schneller, enthält mehr Funktionen und verfügt über eine präzisere Implementation verschiedener Standards und bietet darüber hinaus eine optionale Spam- und Viren-Erkennung. Dabei bleibt das Programm immer noch kompatibel zu externen Modulen für den ursprünglichen Amavisd.

So entwickelte sich aus dem reinen Virenscanner ein auf hohen Durchsatz und hohe Zuverlässigkeit angelegtes Interface zwischen dem MTA und einem oder mehreren Programmen zur Überprüfung der Mailnachrichten. Die Developer achteten besonders darauf, dass keine Timing-Lücken offen bleiben, in denen E-Mails verloren gehen könnten. Die Verantwortung für die elektronische Post bleibt Sache des Mailservers.

Amavisd-New selbst arbeitet als Server-Daemon mit einer recht ausgeklügelten Verwaltung seiner Prozesse. Ähnlich wie beim Webserver Apache minimieren auf Vorrat gestartete Prozesse die Anlaufzeit bei einem Request. Für die Kommunikation mit dem Daemon bietet die Software einen mit RFC 2033 konformen LMTP-Server, einen RFC-2821-konformen SMTP-Server sowie einen SMTP-Client. Er generiert mit RFC 3462 und RFC 3464 konforme Statusmeldungen über die Zustellung und unterstützt externe Hilfsprogramme.

Externe Module

Mit externen Modulen kann es jedoch zu Schwierigkeiten kommen, wenn niemand sie wartet oder wenn Sicherheitsprobleme auftauchen. Die wesentlichen Aufgaben für die Zukunft sieht Mark daher in der Dokumentation des Gesamtsystems sowie bei Installation und Administration. Weniger erfahrene Systemadministratoren stellt dies unter Umständen vor Probleme.

Typische Einsatzorte des Amavisd-New sind die zentralen Mailserver eines Unternehmens oder Internet Service Providers. Ihn dezentral zu betreiben ist ebenfalls möglich, doch gehen dabei einige Vorteile verloren, denn das Filterprogramm stellt beispielsweise sicher, dass es jede Mail unabhängig von der Zahl ihrer Empfänger nur einmal prüft. Außerdem lässt es maximale Sorgfalt in Bezug auf individuelle Spamassassin-Einstellungen der Nutzer walten.

Amavisd-New wurde in Perl geschrieben, wodurch es nach Meinung des Autors in hohem Maße plattformunabhängig, leicht wartbar und zuverlässig ist. Speziell die Gefahr von Puffer-Überläufen und ungültigen Zeigern - zwei übliche Wege, um in Systeme einzubrechen oder die Funktion eines Scanners außer Kraft zu setzen - reduziert sich durch die Benutzung der Skriptsprache.

Mark hebt den Aspekt Sicherheit als besondere Stärke hervor, da er hier durch gründliche Fehlersuche, informative Fehlermeldungen und Absicherung durch Failsafe-Modi einen Schwerpunkt setzt. Wem das nicht reicht, der lässt das Programm in einer Chroot-Umgebung laufen. Sie verspricht eine Begrenzung des Schadens bei einem Einbruch.

Weitere Stärken sieht Mark darin, dass es viele verschiedene Virenscanner - unfreie wie freie - unterstützt und dass Amavisd-New selber als freie Software unter der General Public License (GPL) verfügbar ist. Die bereits weit fortgeschrittene Optimierung lässt sich mittels einer internen Datenbank zur Performance- und Statistikanalyse weiter verfeinern. Zusätzliche Programme, wie Mailgraph[11] von David Schweikert, das übersichtliche Statistiken über empfangene, versandte und abgelehnte E-Mails liefert, können bei der Optimierung ebenfalls helfen.

Abbildung 2: Das Programm Mailgraph stellt den Mail-Traffic in übersichtlichen Grafiken dar.

Abbildung 2: Das Programm Mailgraph stellt den Mail-Traffic in übersichtlichen Grafiken dar.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook