Spam-Schutz für Server

22.11.2002 von Konstantin Pfliegl und Mike Hartmann
Die Zahl der unerwünschten Werbe-Mails nimmt stetig zu und kostet die Anwender Zeit und die Firma Netzwerk-Ressourcen. tecCHANNEL zeigt, wie Sie effektiv gegen die Nachrichtenflut vorgehen.

Im Laufe der Zeit sind Werbe-Mails zu einem der größten Ärgernisse des Internets geworden. Zahlreiche Massenversender fluten Mail-Server und Newsgroups mit ihren unerwünschten Nachrichten. Sowohl Benutzer als auch Systemadministratoren werden dadurch in zunehmenden Maße belästigt. Von diesen aggressiven Marketing-Maßnahmen kann jeder betroffen sein, der über eine eigene Mail-Adresse verfügt. Und tatsächlich blieb kaum jemand davon verschont.

Bereits im Januar 2001 rechnete die Studie "Unerbetene kommerzielle Kommunikation und Datenschutz" im Auftrag der Europäischen Union mit rund 20 Milliarden Werbe-Mails täglich. Eine interne Auswertung des Mail-Dienstes GMX für den Zeitraum Mai bis Juli 2002 lieferte noch dramatischere Zahlen: Bei jeder siebten E-Mail von externen Servern handelte es sich um eine Spam-Mail, die von GMX abgewiesen wurde. So verhindern die Spam-Filter die Zustellung von 900 Spam-Mails pro Minute.

Das Schlimme an Spam ist nicht nur, dass es Zeit kostet, die Mails auszusortieren und zu löschen. Häufig verwenden die Spammer HTML- und Javascript-Code, um Dialer oder andere Bösartigkeiten auf den Rechner des Empfängers zu schleusen.

Um den zweifelhaften Marketing-Maßnahmen der Versender erfolgreich Einhalt zu gebieten, ist es erforderlich, das Versenden derartiger Massen-Mails schon im Vorfeld zu verhindern. Im folgenden Beitrag erläutern wir unter anderem, wie man verhindert, dass der eigene Mail-Server für unautorisiertes Relaying verwendet wird und zeigen Möglichkeiten auf, Spam abzuwehren.

Wie arbeiten Spammer?

Ein Spammer hat kein Interesse daran, dass er sich in irgendeiner Form angreifbar macht. Also sucht er beim Versenden seiner Massen-Mails die Anonymität. Dazu hat er mehrere Möglichkeiten:

Mit einer geeigneten Konfiguration der Mail-Server-Struktur lässt sich eine ganze Menge Spam bereits im Vorfeld abfangen, so dass die eigenen Benutzer nicht davon betroffen werden. Der erste Schritt zu einem Spam-sicheren Mail-Server ist jedoch eine Absicherung gegen den Missbrauch als offenes Relay.

Relaying - unerlaubtes Versenden von Mails

Spammer verwenden zum Versenden ihrer Massen-Mails grundsätzlich keine eigenen offiziellen Mail-Server. Es ist gängige Praxis, zum Versenden fremde SMTP-Server zu missbrauchen. Man nennt dies Relaying. Die Gründe hierfür liegen auf der Hand: Anonymität und Kosten- sowie Zeitersparnis.

Der Spammer muss dazu nicht einmal besonders viel tun: Mittels spezieller Tools durchsucht er ganze IP-Adressbereiche nach Rechnern, bei denen Port 25 (SMTP) offen ist. Dort stellt er eine Verbindung her und versucht, eine Mail an einen Account bei einem Freemail-Anbieter zu senden - etwa relaytest@anbieter.com. Kommt diese Mail dort an, lässt sich der Server als Relay benutzen. Hat der Spammer genügend Relays gefunden, setzt er ein anderes Tool darauf an, so viele Mails wie möglich über diese Server zu schicken, bevor sie eventuell dicht gemacht werden.

Wird ein Server häufig für unautorisiertes Relaying verwendet, landet dieser unter Umständen auf einer so genannten Blacklist. Andere SMTP-Server akzeptieren auf Grund dessen keine E-Mails mehr von diesem Server. Im schlimmsten Fall lassen sich dann von diesem SMTP-Server überhaupt keine Nachrichten mehr verschicken.

Dabei ist Relaying nicht nur in vielen Ländern illegal, sondern bringt für den Betreiber des betroffenen Servers unter Umständen zahlreiche Probleme mit sich:

Relaying möglich?

Wenn Sie einen eigenen SMTP-Server an das Internet angeschlossen haben, sollten Sie diesen auf Relaying überprüfen und gegebenenfalls davor schützen. Um zu testen, ob Ihr Server gegen Missbrauch durch Relaying gesichert ist, haben Sie mehrere Möglichkeiten. Auf den Webseiten von abuse.net finden Sie einen Mail-Relay-Test. Dieser Schnelltest liefert Ihnen einen ersten Überblick über Ihren Server, indem er eine Reihe bekannter Relay-Tricks an Ihrem Server ausprobiert.

Eine andere Möglichkeit zum Test bietet die Open Relay Database ordb.org. Durch die Nutzung dieser Datenbank können Systemadministratoren den E-Mail-Austausch mit offenen Relay-Servern unterbinden. Hierzu verwaltet ordb.org eine Liste von Hosts beziehungsweise IP-Adressen, welche nachweislich als offene SMTP-Relays arbeiten. Jeder kann seinen Mail-Server auf den Seiten der Organisation zum Test anmelden. Die Sache hat allerdings einen Haken: Ist das Ergebnis des Tests positiv, da Ihr Mail-Server E-Mails als Relay weitergeleitet hat, wird Ihr SMTP-Server auch gleich in der Open Relay Database gelistet. Einige Systeme werden nun unter Umständen von Ihnen keine Mails mehr akzeptieren.

Details über die Open Relay Database sowie eine Anleitung zum Einsatz mit den wichtigsten Mail-Servern wie beispielsweise Sendmail finden Sie hier.

Relaying möglich - was nun?

Da es unerlässlich ist, dass ein SMTP-Server unautorisiertes Relaying erkennt und ablehnt, gibt es n einer SMTP-Sitzung vier Elemente zur Identifizierung von Sender und Empfänger mit unterschiedlichem Sicherheitsgrad:

Identifizierung von Sender und Empfänger bei einer SMTP-Sitzung

Element

Beschreibung

HELO Hostname

Es kann keiner oder jeder beliebige Hostname angegeben werden.

MAIL From:

Der Client kann jede beliebige Adresse angeben.

RCPT To:

Dies muss eine korrekte Adresse sein.

SMTP_CALLER

IP-Adresse des Client.

Die ersten beiden Punkte (HELO und MAIL) können beliebige Angaben enthalten beziehungsweise oft auch weggelassen werden. Auf diese Angaben sollte man sich somit nicht verlassen. Stattdessen sollte der Mail-Server das Relaying an Hand der folgenden Kombination zulassen: "RCPT To: Adresse (Domainname)", "SMTP_CALLER Domainname" sowie "SMTP_CALLER IP-Adresse". Dabei empfiehlt es sich, folgenden Algorithmus anzuwenden, mit welchem man die meisten unautorisierten Relaying-Versuche verhindern kann.

Zudem sollte der SMTP-Server einen etwaigen unter "MAIL From:" angegebenen Domainname auf dessen Richtigkeit überprüfen. Liefert eine DNS-Abfrage kein Ergebnis, existiert der Domainname nicht. So sollte das Relaying unabhängig von den anderen Faktoren verhindert werden.

Weitere Maßnahmen gegen Relaying

Eine weitere sichere Möglichkeit gegen unautorisiertes Relaying ist die SMTP-Authentifizierung, smtp-auth genannt. Der Mail-Server erlaubt nur den Clients eine Weiterleitung, die sich mit einer gültigen Kombination aus Benutzername und Kennwort identifizieren. Das Verfahren entspricht dem Quasi-Standard RFC 2554, der von gängigsten Mail-Clients unterstützt wird.

Einige Provider setzen die SMTP-Authentifizierung nicht ein, da dies nicht von jedem System unterstützt wird. Stattdessen wird das Relaying dynamisch freigeschaltet. Der Client ruft seine neuen Nachrichten wie bisher über POP3 oder IMAP4 vom Server ab. Dabei identifiziert sich der Client gegenüber dem Server mit Benutzername und Passwort und übermittelt auch seine IP-Adresse. Der Mail-Server erlaubt nun dieser IP-Adresse den Versand von E-Mails für eine bestimmte Zeit, in der Regel zehn bis fünfzehn Minuten. Bei "SMTP after POP" muss somit zumindest einmal vor dem Senden einer Mail das Postfach abgefragt worden sein.

Allerdings benötigen Sie dann zwei SMTP-Server - einen ohne "SMTP after POP", der nur für eingehende Mails zuständig ist, und einen zweiten, den die eigenen Benutzer für ausgehende Mails nutzen können. Ersterer muss im DNS als Mail-Exchanger (MX) ausgewiesen sein.

Relaying und Sendmail

Seit der Version 8.9 ist das Relaying in Sendmail per Default deaktiviert. Der Mail-Server nimmt von außen keine E-Mails zur Weiterleitung an, es sei denn, sie betreffen die eigene Domain. In früheren Sendmail-Versionen ist das Relaying standardmäßig aktiviert. Ist bei Ihnen noch eine ältere Version des SMTP-Servers im Einsatz, sollten Sie das Relaying so schnell wie möglich deaktivieren.

Für ein kontrolliertes Relaying ist es die einfachste Lösung, alle Domains, für welche Relaying möglich sein soll, in der Datei /etc/mail/relay-domains einzutragen. Für alle Einträge in dieser Datei ist das Relaying gestattet. Eine detaillierte Anleitung zur Anti-Spam-Konfiguration finden Sie auf den Webseiten des Sendmail-Projekts.

Falls bei Ihnen Microsofts Exchange 2000 Server im Einsatz ist, finden Sie hier einen Workshop zur Konfiguration von Relaying.

Heikle SMTP-Kommandos

Die beiden SMTP-Kommandos VRFY und EXPN bieten Spammern die Möglichkeit zu überprüfen, ob eine E-Mail-Adresse gültig ist (VRFY) und liefern auch gleich noch mehr Adressen (EXPN). Daher sollten Systemadministratoren festlegen, wer diese beiden Kommandos nutzen darf und wer nicht.

Mit dem VRFY-Kommando übergibt der Client dem Server eine Mail-Adresse, der Server antwortet daraufhin mit der Information, ob die entsprechende Adresse auf dem System existiert oder nicht. Dieses Kommando ist jedoch nach RFC 821 erforderlich. Daher sollte man den Mail-Server dahingehend konfigurieren, dass er das Kommando wie im SMTP-Standard vorgesehen zur Verfügung stellt, als Antwort jedoch stets "252 Argument not checked" zurückliefert.

Die meisten Mail-Server, wie beispielsweise Sendmail, behandeln das Kommando EXPN wie VRFY. Ist dies bei der von Ihnen eingesetzten Server-Software nicht der Fall, sollten Sie das Kommando EXPN deaktivieren, sofern dies möglich ist. Mit diesem Kommando kann ein Client Mailing-Listen überprüfen und sich vom Server sämtliche Mitgliederadressen ausgeben lassen.

Blackhole Lists

Beim Kampf um Spam gilt es nicht nur, den eigenen Mail-Server vor unautorisiertem Relaying zu schützen, sondern auch eingehende Spam-Mails zu erkennen und gegebenenfalls abzuweisen. In diesem Fall kommen die so genannten Realtime Blackhole Lists (RBLs) zum Einsatz. Diese werden von unabhängigen Institutionen betrieben und lassen sich meist kostenlos nutzen. Die Bedienung ist einfach: Der eigene Mail-Server schickt eine DNS-Anfrage mit der IP-Adresse an die Datenbank. Kommt ein Ergebnis zurück, handelt es sich hierbei um einen bekannten Spammer. Ein anderer Typ von RBLs listet nicht bekannte Spam-Quellen, sondern offene Mail-Relays. Ein Beispiel hierfür ist die bereits erwähnte ORDB-Datenbank.

Da Mail-Server zunehmend gegen unautorisiertes Relaying geschützt werden, schicken immer mehr Spammer ihren Datenmüll direkt zum E-Mail-Server des Empfängers. In den meisten Fällen verfügen Spammer über einen Einwahlzugang mit dynamischer IP-Adresse. Hier setzen Dienste wie MAPS DUL an. Dabei handelt es sich ebenfalls um eine RBL, die sich allerdings auf die IP-Adressbereiche konzentriert, die von ISPs als dynamische Adressen für ihre Kunden vergeben werden.

Die Überlegung dahinter ist, dass ein "normaler" Internet-Benutzer seine Mail über den Mail-Server seines Providers schickt und nicht direkt an den Ziel-Server. Versucht er es dennoch, und ist der Adress-Bereich bei der RBL schon unangenehm aufgefallen, kann der Mail-Server die Annahme verweigern.

Merkmale einer Spam-Mail

Eine reine Filterung über die Adressen und RBLs ist nicht immer möglich oder sinnvoll. Schließlich will man sein Unternehmen ja nicht komplett von der Kommunikation per E-Mail ausschließen. Im Falle von RBLs ist man zudem von der Sorgfalt der Listenbetreiber abhängig und die ist nicht immer besonders groß. Man kann eine Mail auch erstmal annehmen lassen und dann anhand des Inhalts oder weiterer Merkmale im Header entscheiden, ob es sich um SPAM handelt.

Meistens ist das HELO der SMTP-Sitzung reinster Unsinn - häufig gibt der Spammer einfach die Domain des Empfängers als HELO aus, oder irgendeine x-beliebige. Bevorzugt kommen dabei die Domains von großen Mail-Anbietern wie AOL zum Einsatz. Ein einfacher DNS-Lookup und Vergleich mit der eingehenden IP-Adresse wirkt oft schon Wunder.

Des Weiteren sollten die Domains aus dem From-Header und dem bei der SMTP-Sitzung angegebenen "Mail From" zum HELO und/oder der IP-Adresse passen.

SPAM hat ein Ziel: Der Leser soll eine Website besuchen und dort etwas kaufen. Eine URL auf bestimmte Websites (und im Falle deutschen SPAMs auch mitunter eine 0190-Nummer) kommt also mit großer Wahrscheinlichkeit drin vor.

Worte wie Sex, Porn(o), Viagra oder die Namen anderer Medikamente tauchen immer wieder in SPAMs auf, auch in diversen Schreibweisen, um Wortfilter zu täuschen. Mal heißt es dann "V.i.a.g.r.a" oder es werden Buchstaben durch welche aus anderen Sprachen ersetzt "Vi@gra".

Um Textfilter zu täuschen, verwenden manche Spammer auch HTML-Mails, die lediglich einen Link und ein Bild enthalten, das dann die gesamten Informationen über das "beworbene" Produkt zeigt. Aber auch das ist natürlich ein Merkmal, nach dem man gehen kann.

Jedes dieser Merkmale für sich genommen sagt noch nichts darüber aus, ob es nun SPAM ist oder nicht. Treten sie allerdings gehäuft auf, ist die Wahrscheinlichkeit für unerwünschte Mail recht hoch. Mail-Filter wie SpamAssassin arbeiten nach diesem Prinzip.

Bayes-Filter

Eine relative neue Methode der SPAM-Bekämpfer sind so genannte Bayes'sche Filter. Hierbei wird der Text der gesamten Mail in einzelne Worte zerlegt und eine SPAM-Wahrscheinlichkeit errechnet: Für jedes Wort wird gezählt, wie oft es bisher in erwünschten und in unerwünschten Mails vorkam. Die einzelnen Häufigkeitswerte ergeben zusammen mit der Formel für bedingte Wahrscheinlichkeiten dann die Wahrscheinlichkeit, dass es sich bei der gerade getesteten Mail um SPAM handelt.

Das besondere an dieser Methode ist, dass sie ständig dazulernt: Jede neu behandelte und richtig erkannte E-Mail trägt dazu bei, dass spätere E-Mails richtig klassifiziert werden, da die Wort-Datenbank ständig aktualisiert wird.

Das haben die Spammer allerdings auch erkannt, so dass immer häufiger sinnfreie Zeichenketten (um die Wort-Datenbank aufzublähen und damit den Bayes-Filter lahmzulegen) oder beliebige Worte zusammenhanglos in Spam-Mails auftauchen. Letzteres soll den Wahrscheinlichkeitswert so stark beeinflussen, dass sich der Filter zumindest unsicher wird und die Mail durchlässt.

Ein Bayes'scher Filter kann und sollte also nur zusammen mit anderen Verfahren zum Einsatz kommen. Außerdem ist eine große Menge an Trainings-Mails notwendig, bis halbwegs verlässliche Ergebnisse herauskommen. Dabei ist zu beachten, dass sowohl Spams als auch erwünschte Mails in das Training einfließen müssen.

Teergruben

Wer im Kampf gegen Spammer einen Schritt weiter gehen will, kann vor seinen Mail-Server eine so genannte Teergrube schalten, die den Spammer ausbremst. Die Arbeitsweise von Teergruben ist einfach: Ein Rechner kann theoretisch maximal rund 65.000 TCP/IP-Verbindungen gleichzeitig offen halten, in der Praxis sind dies allerdings weniger. Wenn es nun gelingt, einen Port bei der Mail-Auslieferung unnötig lange offen zu halten, so reduziert sich die Leistungsfähigkeit des Rechners des Spammers - also die Anzahl der pro Stunde ausgelieferten Mails.

Hierbei kommen die Fortsetzungszeilen des SMTP-Protokolls zum Einsatz (NOOP). Diese bieten die Möglichkeit, eine SMTP-Session über lange Zeit offen zu halten, ohne dass es zu einem TCP-Timeout kommt. Außer dem erzieherischen Wert haben diese Teergruben jedoch keine Vorteile.

Fertige Teergruben gibt es beispielsweise bei abuse.net oder hier.

Anbieter rüsten auf

Auch die großen Mail-Dienste und Webhoster haben die Spam-Problematik erkannt und ergreifen Gegenmaßnahmen. Der E-Mail-Dienst GMX betreibt kein offenes SMTP-Relay. Für den Versand von Nachrichten muss der Sender über eine bei GMX registrierte Absenderadresse verfügen. Zudem akzeptiert der Mail-Server grundsätzlich nur E-Mails für die eigenen Adressen (gmx.de, gmx.net et cetera).

GMX überprüft die Mails nicht automatisch auf Inhalte, um zu entscheiden, ob es sich um Spam handelt. Nutzer des Dienstes haben die Möglichkeit, unerwünscht erhaltene Werbe-Mails komplett und mit vollständigem Mail-Header zur Auswertung an abuse@gmx.net zu schicken. GMX verwaltet eine interne Liste von E-Mail-Adressen, die für den Versand von E-Mail-Werbung an Personen bekannt sind, die dem Empfang dieser Werbung nicht ausdrücklich zugestimmt haben. Zum Schutz vor Mail-Bomben lehnt GMX Mails vom gleichen Absender automatisch ab, sofern ein fest definiertes Limit eingehender Mails in einem bestimmten Zeitraum überschritten wird.

Der Webhosting-Anbieter 1&1 Puretec startete im Juli 2002 eine Anti-Spam-Initiative für die über zwei Millionen gehosteten Postfächer. Ein Maßnahmenbündel, bestehend aus dem Einsatz neuer Mail-Server mit SMTP-auth sowie speziellen Filtertechnologien, soll den meisten Spam verhindern.

Der von 1&1 entwickelte Spam-Filter weist nach Angaben des Unternehmens pro Tag rund 300.000 Nachrichten von unsicheren Mail-Servern und Proxies zurück. Die Kunden des Unternehmens sollten für einen uneingeschränkten Nachrichtenversand auf die neuen Mail-Server mit SMTP-Authentifizierung umstellen. Ein Spam-Blocker limitiert die über die alten Server eingelieferten Mails pro Benutzer und Stunde. (mha)