Aus Linux-Magazin 03/2005

Die monatliche GNU-Kolumne

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.

Zukunftspläne

Obwohl Mark Martinec selbst Postfix[9] als MTA zur Kombination mit Amavisd-New empfiehlt, arbeitet das Programm grundsätzlich auch mit anderen MTAs zusammen. In manchen Fällen stehen dann jedoch nicht alle Funktionen zur Verfügung. In jedem Fall erfreut sich das Projekt besonders in der Postfix-Community großer Beliebtheit und kommt an vielen Stellen seit Jahren produktiv zum Einsatz.

Für die Zukunft plant Mark den Entwicklungsprozess noch weiter zu professionalisieren und über Bugtracking, öffentliches Sourcecode-Management und bessere Dokumentation mehr Kollegen die Gelegenheit zu geben, sich an der Entwicklung zu beteiligen. Bisher lastete die Hauptarbeit der Entwicklung allein auf seinen Schultern.

Neue Tricks

Neuen Tricks der Spammer, mit denen diese versuchen, die Filter zu umgehen oder auszuhebeln, werden einen entscheidenden Einfluss auf die weitere Entwicklung haben. Zunächst steht jedoch eine einfache und solide Möglichkeit für das Entpacken von CPIO- und Tar-Archiven auf der Roadmap. Wer sich gerne an dem Projekt beteiligen möchte, dem sei im Übrigen die Amavis-User-Mailingliste empfohlen, Aufgaben gibt es reichlich[10]. Auch die beste Idee ist nicht immer gut umgesetzt. Bei Mailfiltern trifft dies zu, wenn der Filter schlecht konfiguriert ist. Ein besonders beliebter Fehler besteht darin, MIME-Standard-konforme E-Mails oder digital unterschriebene Nachrichten als Spam einzustufen.

Neben guten Ideen, die durch Fehlkonfiguration zu schlechten werden, gibt es auch viele durchweg schlechte Ideen. Und die schlechten Ansätze, die auf den ersten Blick wie gute aussehen, sind wie immer die schlimmsten. Ganz oben auf dieser Liste stehen Ansätze wie die Sender-ID von Microsoft. Der Softwareriese argumentiert, dass Spammer nur im Schutz der Anonymität ihr Unwesen treiben. Daher hält es das Unternehmen für eine gute Idee, E-Mails zurückverfolgen zu können. Mit entsprechenden Statements verdeutlichten jedoch die Apache Foundation sowie andere Organisationen, dass die offensichtliche Folge von Microsofts Patenten auf diesen Mechanismus eine nahezu perfekte Kontrolle des Monopolisten über das Medium E-Mail ermögliche.

Zudem hält die Sender-ID nicht wirklich, was sie verspricht: Zum einen lassen sich Identitäten gezielt falsch angelegen, zum anderen gehört Identitätsdiebstahl zu den klassischen Delikten im Informationszeitalter. Gekaperte Computer dienen häufig als Plattform für den Versand von Spam – daran ändert die Sender-ID nichts. Seit AOL sich deutlich gegen diese Idee ausgesprochen hat, ist sie hoffentlich zunächst vom Tisch. Es ist aber nicht auszuschließen, dass sie irgendwann als Wiedergänger auftaucht.

Blacklists

Auf der freien Wildbahn trifft man ebenfalls schlechten Ideen an, die sich als gute tarnen. Dazu zählen die so genannten Blacklists. Diese Listen funktionieren zumeist auf IP-Basis, manchmal jedoch auch mit Domains oder konkreten E-Mail-Adressen als Kriterium, wobei die beiden Verfahren unterschiedliche Probleme mit sich bringen.

Die IP-basierten Listen treffen aus zwei Gründen eigentlich immer die Falschen: Im Falle dynamischer IPs sind die Spammer über alle Berge, wenn die Sperre aktiv wird, sie trifft dann völlig Unschuldige. Auch die Blockade des tatsächlich beteiligten Rechners nutzt nichts. Dieser war zumeist gekapert und der legitime Nutzer zudem eventuell nicht in der Lage, Gegenmaßnahmen zu ergreifen oder im Falle von Viren die Empfänger zu warnen.

Die Domain- und E-Mail-basierten Listen ergeben aus zwei anderen Gründen keinen Sinn: neue Identitäten und gefälschte Adressen. Zunächst verschicken Spammer nur selten Spam-E-Mail unter ihrem wahren Namen – vielmehr legen sie sich zu diesem Zweck gerne neue Identitäten zu, über die sie dann ihre Fracht loswerden. Diese sind technisch relativ leicht zu erzeugen und daher kein Problem.

Spammer wissen ebenfalls, dass es Filter gibt, die versuchen derartige Scheinidentitäten aufzudecken und auszufiltern. Daher suchen sie sich real existierende Adressen und Domains, in deren Namen sie mit gefälschtem Absender ihre Spam-Mails versenden, bevor sie wie ein Heuschreckenschwarm weiterziehen. Verwenden Mail-Administratoren Domain- oder E-Mail-basierten Listen, kann es passieren, dass Mail von realen und ernsthaften Anwendern nicht mehr empfangen wird. Je älter eine Adresse ist, umso höher das Risiko, dass diese auf solch einer Liste landet.

Um nicht in der Kritik zu verharren, hier ein konstruktiver Vorschlag: E-Mails mit OpenPGP signieren. Das Programm Pretty Good Privacy (PGP) ist bereits seit längerem bekannt. Mittlerweile gibt es sowohl den Standard OpenPGP, als auch mit Gnupg[11] eine funktionale und erprobte Implementation als freie Software unter der General Public License (GPL). Zudem läuft das Programm auf Unix-Plattformen ebenso wie auf Windows und Macintosh.

Abbildung 3: Auch wenn die Idee der Sender-ID auf den ersten Blick schlüssig aussieht, birgt sie doch Gefahren wegen der Patente, die Mircosoft auf das Verfahren hält.

Abbildung 3: Auch wenn die Idee der Sender-ID auf den ersten Blick schlüssig aussieht, birgt sie doch Gefahren wegen der Patente, die Mircosoft auf das Verfahren hält.

Einfaches Konzept

Die so genannte Public Key Cryptography beruht auf einem einfachen Konzept, bei dem jeder Nutzer sich selbst ein asymmetrisches Schlüsselpaar erzeugt. Jedes Paar besteht aus einem privaten Schlüssel, an einem gesicherten Ort aufbewahrt, und einem öffentlichen Schlüssel, den er beliebig verteilen kann. Die Zuordnung von öffentlichem zu privatem Key ist eindeutig, wobei es nicht möglich ist, den privaten aus dem öffentlichen Schlüssel mathematisch herzuleiten.

Es gibt dabei zwei wesentliche Anwendungen: Signatur und Verschlüsselung. Bei der Verschlüsselung wird mit Hilfe des Public Key eine Datenmenge so verschlüsselt, dass nur der zugehörige private Schlüssel sie wieder in die lesbaren Daten umwandeln kann. Das Erzeugen einer Signatur aus einer Datenmenge erfolgt hingegen mit Hilfe des privaten Schlüssels. Mit dem öffentlichen Schlüssel lässt sich jederzeit kontrollieren, ob die Daten während des Transports verändert wurden.

Bei signierten E-Mails sind also mit geringem Aufwand zwei Prüfungen möglich: Ob sie eine gültige Signatur tragen, die mit dem zugehörigen privaten Schlüssel erstellt wurde, und ob sie während des Transports manipuliert wurden.

Abbildung 4: Ein Schlüssel lässt sich leicht mittels Webinterface überprüfen. Hier zeigt sich schnell, ob er echt ist und wer dem Schlüssel bereits vertraut.

Abbildung 4: Ein Schlüssel lässt sich leicht mittels Webinterface überprüfen. Hier zeigt sich schnell, ob er echt ist und wer dem Schlüssel bereits vertraut.

Mit OpenPGP signieren

Für sich genommen schützt dies nicht vor Spam, da Spammer beliebig Schlüsselpaare generieren können, und zwar auch für falsche Identitäten. Hier hilft jedoch ein weiteres Merkmal der öffentlichen Schlüssel: Andere Teilnehmer können diese mit ihrem eigenen privaten Schlüssel unterzeichnen, wobei deren Unterschriften wiederum mittels der zugehörigen öffentlichen Schlüssel überprüfbar sind. Damit beglaubigen sie die Authentizität des Nutzers. Mit zunehmender Teilnehmerzahl ergibt sich ein Vertrauensnetzwerk (Web of Trust), das es erlaubt, auch Schlüsseln von unbekannten Menschen zu vertrauen.

Ein Mail-Filter könnte über OpenPGP feststellen, ob eine E-Mail eine gültige Signatur trägt und den Transport unverändert überstanden hat. Er kann auch bestimmen, ob genügend viele vertrauenswürdige Personen den zugehörige Schlüssel signiert haben. Dies erlaubt es, der E-Mail zumindest ein höheres Maß an Vertrauen zu gewähren oder sie im Zweifelsfall in ein besonderes Postfach einzusortieren.

Infrastruktur vorhanden

Die Methode bietet den Vorteil, dass die dafür benötigte Technologie im Wesentlichen bereits vollständig zur Verfügung steht. Schon heute umfasst das Web of Trust genug Mitglieder, um neue Teilnehmer schnell einzubinden. Im Gegensatz zu anderen Ansätzen würden hier beispielsweise Kryptokarten den Identitätsdiebstahl durch Einbruch in einen Rechner erschweren: Wenn die Karte nicht eingesteckt ist, lässt sich keine E-Mail signieren.

In letzter Konsequenz lässt sich das Spam-Problem nur durch eine Verhaltensänderung beim Benutzer in den Griff bekommen. Eine konkrete Anregung hierzu wäre es, das Versenden von HTML-Mails grundsätzlich zu ächten. Sie sind unnötig und gefährlich, denn der MIME-Standard erlaubt das Einbetten multimedialer Inhalte. Besonders unerfahrene Anwender neigen zum Einsatz von HTML-Nachrichten, sind sich jedoch oft nicht die Tatsache bewusst, dass der angezeigte Text eines Links nichts mit dem tatsächlichen Link zu tun haben muss.

Eine weitere Grundregel im Umgang mit Spam lautet schlicht und ergreifend: sofort löschen. Antworten signalisieren nur, dass dieser E-Mail-Account wirklich aktiv ist und damit in Zukunft noch mehr Spam erhalten sollte. Weiterleitungen und Beschwerden treffen meist den Falschen. (agr)

Infos

[1] Ideen, Anregungen, Kommentare an die Brave GNU World: [column@brave-gnu-world.org]

[2] Homepage des GNU-Projekts: [http://www.gnu.org]

[3] Homepage von Georg\’s Brave GNU World: [http://brave-gnu-world.org]

[4] “We run GNU”-Initiative: [http://www.gnu.org/brave-gnu-world/rungnu/rungnu.de.html]

[5] Spamassassin-Homepage: [http://spamassassin.apache.org]

[6] Amavisd-New-Homepage: [http://www.ijs.si/software/amavisd/]

[7] Amavis-Homepage: [http://www.amavis.org]

[8] Hompage des Jozef-Stefan-Institut: [http://www.ijs.si]

[9] Postfix-Homepage: [http://www.postfix.org]

[10] Todo-Liste für Amavisd-New:[http://www.ijs.si/software/amavisd/TODO]

[11] Mailgraph-Homepage: [http://people.ee.ethz.ch/~dws/software/mailgraph/]

[12] Gnupg-Homepage: [http://www.gnupg.org]

Der
Autor


Dipl.-Phys. Georg C. F. Greve beschäftigt sich seit etlichen Jahren mit freier Software und kam früh zu GNU/Linux. Nach Mitarbeit im GNU-Projekt und seiner Aktivität als dessen europäischer Sprecher hat er die Free Software Foundation Europe initiiert, deren Präsident er ist. Mehr Informationen finden sich unter: [http://www.gnuhh.org]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben