Serverseitige Maßnahmen zur Bek¨ampfung von E-Mail-Spam

Transcrição

Serverseitige Maßnahmen zur Bek¨ampfung von E-Mail-Spam
Serverseitige Maßnahmen zur Bekämpfung von
E-Mail-Spam
7. Juni 2004
Rechtlicher Hinweis
Dieser Beitrag ist lizensiert unter der GNU Free Documentation License.
Zusammenfassung
Eine der bedeutendsten Internet-Anwendungen, das Medium E-Mail, wird von skrupellosen Geschäftemachern
mit Milliarden lästiger Spam-Mails kaputt getrampelt. Die Schmerzschwelle ist bei fast allen Internetnutzern
so weit überschritten, dass sie mit technischen Maßnahmen vor der Flut an Datenmüll geschützt werden wollen.
Der wichtigste Faktor in der Spam-Bekämpfung ist, die Funktionsweise des Mediums E-Mail zu kennen
und Tricks zu verstehen, mit denen Spammer versuchen, unerkannt möglichst viele Empfänger auf ihre Produkte und Dienstleistungen aufmerksam zu machen. Administratoren von E-Mail-Infrastruktur haben gute
Möglichkeiten, die Benutzer ihrer Systeme wirkungsvoll vor Spam zu schützen. Dazu möchte ich neben einem Grundverständnis für die Verarbeitung von E-Mail einen Überblick über die verschiedenen prinzipiellen
Abwehrmaßnahmen geben. Außerdem können Tricks, mit denen Spammer versuchen, sich an Filtern vorbei
zu mogeln, erkannt werden und genau den gegenteiligen Effekt bewirken.
Zielgruppe des Vortrags sind neben betrieblichen Postmastern vor allem Betreiber sogenannter ”Rootserver”, die auf gemieteten oder eigenen bei einem Hosting-Provider stehenden Rechnern neben WWWAnwendungen meist auch ihre E-Mail-Versorgung abwickeln und dabei ”direkt an der Front”der Spam-Flut
ausgeliefert sind.
Serverseitige Maßnahmen zur Bekämpfung von E-Mail-Spam
1
Technische Grundlagen
Wir betrachten die technischen Schritte und Stationen einer E-Mail vom Versender bis zum Empfänger.
Nachdem der Absender seine Nachricht im Mail User Agent “ (oft als Mailclient“ bezeichnet) verfasst
”
”
hat, sendet er diese an den Mailserver seines Providers oder Arbeitgebers, der sich um die Weiterleitung ins
Internet kümmert. Der Einfachheit halber betrachten wir nur die Arbeitsweise dieses Systems, das direkt mit
dem Internet kommuniziert.
1.1
Domain Name System (DNS)
Bevor ein Absendersystem eine E-Mail zustellen kann, muss es wissen, welcher Host dafür zuständig ist, Mail
für eine bestimmte Domain oder Subdomain anzunehmen. Auskunft gibt das Domain Name System “ (DNS):
”
der Empfänger hat für jede Domain einen oder mehrere MX-Einträge “ ( Mail eXchange“) konfiguriert, die
”
”
Hostnamen der für E-Mail zuständigen Systeme nennen. Über DNS-Lookups können MX-Einträge abgefragt
werden:
$ host -t MX docsnyder.de
docsnyder.de mail is handled by 10 mx2.docsnyder.de.
E-Mails an die Domain docsnyder.de “ werden anschließend dem Host mx2.docsnyder.de “ zugestellt.
”
”
1.2
Mail Transport Agent (MTA)
Der Mail Transport Agent “ nimmt E-Mails aus dem Internet entgegen. Als Türsteher“ hat er die Möglichkeit,
”
”
den Empfang zuzulassen oder abzulehnen.
Über eine Netzwerkverbindung zum TCP-Port 25 des Zielsystems werden E-Mails mittels dem Simple
”
Mail Transfer Protocol “ (SMTP) übertragen:
$ nc mx2.docsnyder.de 25
220 mail.mxrecord.de ESMTP Postfix (No UBE/UCE please!)
EHLO home.docsnyder.de
250-mail.mxrecord.de
250-PIPELINING
250-SIZE 50000000
250-ETRN
250 8BITMIME
MAIL From:<
[email protected]
>
250 Ok
RCPT To:<
[email protected]
>
250
Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: Testmail
Date: Tue, 27 Apr 2004 12:40:41 +0200
From: "Florian L. Klein" <
[email protected]
>
To: "Postmaster" <
[email protected]
>
Dies ist eine Testmail.
.
250
Ok: queued as CB8741ED
QUIT
221 Bye
Diese E-Mail wurde erfolgreich angenommen, im Gegensatz zu der folgenden:
$ nc mx2.docsnyder.de 25
220 mail.mxrecord.de ESMTP Postfix (No UBE/UCE please!)
EHLO home.docsnyder.de
250-mail.mxrecord.de
250-PIPELINING
250-SIZE 50000000
250-ETRN
250 8BITMIME
MAIL From:<
[email protected]
>
250 Ok
RCPT To:<
[email protected]
>
550
<[email protected]>: User unknown in local recipient table
QUIT
221 Bye
Die erste Ziffer der dreistelligen Zahl am Anfang der Antwortmeldung entscheidet über Erfolg oder Fehler:
2xx : in Ordnung - E-Mail kann zugestellt werden 4xx : temporäres Problem - ein späterer Versand ist
möglich 5xx : permanentes Problem - auch ein erneuter Versuch wird fehlschlagen
1.3
Mail Delivery Agent (MDA)
Nachdem der Mail Transport Agent“ eine Mail aus dem Internet angenommen hat, stellt er diese in eine
”
Warteschlange ( Queue“). Aus dieser gelangt die Nachricht an den Mail Delivery Agent “ (MDA), der die
”
”
Mail in ein Benutzerpostfach einsortiert, aus dem sie der Empfänger abrufen kann. Dabei hat der MDA die
Möglichkeit, den Inhalt der Mail zu überprüfen und Spam oder Viren zu erkennen.
2
Allgemeine Sicherheitsmaßnahmen
Ein falsch konfigurierter oder schlecht gewarteter Mailserver kann im Internet enorme Schäden anrichten.
Viele Spammer suchen nach Systemen, die E-Mails von beliebigen Absendern weiterleiten ( offene Relays “)
”
und für den Versand von Spam missbraucht werden können. Ein kompetenter und verantwortungsvoller
Administrator ist deshalb die wichtigste Voraussetzung für den Betrieb eines Mailservers.
2.1
Sicheres Grundsystem
Diese Richtlinien gelten nicht nur für E-Mail-Server, sondern generell für alle Rechner, die im Internet Dienste
anbieten:
Compiler und Buildsysteme haben auf einem Internetserver nichts verloren! Diese werden oft von eingeschleuster Trojanersoftware oder Rootkits vorausgesetzt, um diese an das Zielsystem anzupassen.
Software, die nicht oder erst in ferner Zukunft benötigt wird, macht das System nicht sicherer, als wenn sie
nicht installiert ist.
Benutzerleserechte für /var/log sind keine gute Idee. Abgesehen von datenschutzrechtlichen Problemen
können Benutzer sehr leicht lokale Schwachstellen finden und ausnutzen.
Brachliegende Benutzeraccounts bieten vermeidbare Angriffspunkte.
Der Root-Account sollte niemals direkt von außen (per SSH-Login) zugänglich sein, sondern nur über
lokale, nichtprivilegierte Accounts.
2.2
Sichere Konfiguration des Mail Transport Agent (MTA)
Aktuelle MTA-Software ist zwar bereits in ihrer Standardkonfiguration recht sicher, jedoch müssen einige
Punkte vor der Inbetriebnahme des Mail-Dienstes sowie nach größeren Konfigurationsänderungen überprüft
werden, um keine Zeitbombe zu betreiben:
2.2.1
E-Mail-Weiterleitung (Relaying)
Für die Weiterleitung von E-Mail muss zwischen lokalen und externen Absendern und Empfängern unterschieden werden. Maßgeblich dafür ist niemals die beliebig fälschbare E-Mail-Adresse des Absenders, sondern
ausschließlich die IP-Adresse des Einlieferers.
Externe Absender dürfen E-Mail nur an lokale Benutzer zustellen, aber nicht an Empfänger, für die das
System nicht zuständig ist! Falls diese Funktionalität benötigt wird, um z. B. Außendienstmitarbeitern zu
ermöglichen, ihre E-Mail über den Unternehmens-Mailserver zu versenden, muss dies über eine mit Benutzerkennung und Passwort authentifizierte SMTP-Sitzung ( SMTP AUTH “) erfolgen, die möglichst mit TLS
”
verschlüsselt übertragen wird. Jeder gänge Mailclient bietet die dazu nötigen Voraussetzungen.
Pflicht-Kontaktadressen postmaster@ “ und abuse@ “
”
”
Gemäß RFC 2142 müssen für jede Domain die Adressen postmaster@ “ und abuse@ “ existieren und re”
”
gelmäßig überprüft werden. Dies ist im eigenen Interesse zu empfehlen, da Administratoren auch nur Menschen sind und durchaus Sicherheitslücken übersehen können, die später für Netzmissbrauch ausgenutzt werden. Ignorierte Benachrichtigungen führen nicht nur zur unnötigen Vergrößerung der angerichteten Schäden,
sondern auch zu möglichen Eskalationen an vorgeschaltete Provider sowie zu Einträgen auf schwarzen Lis”
ten“.
2.2.2
2.3
Staugefahr und Leistungsengpässe erkennen und beheben
Nachdem der MTA E-Mails angenommen hat, werden diese in einer Warteschlange ( Queue “) gesammelt,
”
bis sie der MDA weiter verarbeitet und in Postfächer einsortiert. Je nach Auslegung des Systems und Komplexität hinterlegter Spamfilterregeln kann der MDA relativ viel Rechenleistung und Zeit für die Verarbeitung
benötigen. Als Faustregel sollte der MDA nicht länger als 10, in seltenen Fällen maximal 20 Sekunden mit einer
E-Mail beschäftigt sein.
Liefert nun der MTA E-Mails schneller an, als diese vom MDA verarbeitet werden können, entsteht ein
Stau in der Queue. Dieser kann zu sehr unerwünschten Wirkungen in Form zahlreicher Bounce-Mails führen,
wenn die Festplattenpartition voll läuft oder eine maximale Bearbeitungszeit (oft auf eine Stunde eingestellt)
überschritten wird.
Deshalb müssen im MTA Limits konfiguriert werden, die die Anzahl der eingelieferten E-Mails auch bei
massiven Spam-Zustellungen so begrenzen, dass der MDA diese verarbeiten kann:
Als maximale Anzahl gleichzeitig möglicher SMTP-Verbindungen reicht meist ein Wert zwischen 5 und
20 aus. Dieser sollte lieber am Anfang etwas zu niedrig gewählt und später vorsichtig erhöht werden.
Sind alle Verbindungen belegt, warten neue Zusteller so lange, bis eine Session beendet wird.
Der Idle-Timeout , nach dessen Überschreitung inaktive Zustellsessions beendet werden, wird entsprechend kurz eingestellt. Viele Spam-Würmer und offene Proxies machen sich nicht die Mühe, die Verbindung
ordnungsgemäß zu beenden, weshalb oft alle gleichzeitig möglichen SMTP-Sessions belegt sind und legitime
Absender unnötig lange warten müssen. Zwei Minuten Idle-Timeout sind ausreichend.
Für die Anzahl maximal gleichzeitig aktiver MDA-Instanzen kann ein sehr geringer Wert, etwa drei bis
fünf, gewählt werden. Die Verarbeitungskapazität verbessert sich bei höherer Parallelität nicht. Bei einem zu
geringen Wert ist das System oft nicht augelastet, da etwa auf DNS-Anfragen gewartet werden muss.
3
Merkmale von Spam
Spammer werden im Internet nicht gerade geliebt - weder von Empfängern noch von Anbietern, deren Dienste
sie nutzen. Adressaten versuchen zunehmends, sich mit Filtern vor der Spam-Flut zu schützen. Die meisten
Internetprovider dulden Spammer und deren beworbene WWW-Sites nicht und sperren diese. Der Spammer
kann dann nicht von seiner Werbeaktion profitieren.
Deshalb versuchen Spammer mit oft erheblichem Aufwand, sich zu verstecken. Sie gestalten ihre SpamMails so, dass sie empfängerseitig nicht ausgefiltert werden, und betreiben beworbene WWW-Sites bei speziellen Anbietern, die die Bewerbung per Spam explizit erlauben ( bulletproof hosting “). Für die Einliefe”
rung benutzen Spammer unsicher konfigurierte oder über Wurmprogramme trojanisierte Systeme Dritter,
die die tatsächlichen Versender verbergen. HELO-Angaben und E-Mail-Adressen werden ohnehin fast immer
gefälscht.
Die Kunst der Spam-Bekämpfung besteht darin, den Spammer mit seinen eigenen Waffen zu schlagen. Versuche, sich zu verstecken oder Spamfilter auszutricksen, sind fast immer zweifelsfrei als solche zu erkennen.
Deshalb kann ein Programm, das E-Mails auf derartige Merkmale untersucht, dann erst recht zuschlagen. Provider, die per Spam beworbene Angebote bewusst tolerieren, sind nicht nur in Spammerkreisen bekannt. Auch
zahlreiche schwarze Listen“ im Internet geben Auskunft über spamfreundliche Anbieter. So handelt es sich
”
bei E-Mails, die auf WWW-Sites verweisen, welche beim chinesischen Anbieter Chinanet betrieben werden,
fast ausnahmslos um Spam.
4
Spam-Abwehrmaßnahmen
Im Folgenden werden prinzipielle Möglichkeiten vorgestellt, wie man die Zustellung von Spam verhindern
oder eingelieferte E-Mails als Spam erkennen kann:
4.1
Inhaltsbasierte Filter
Im MDA aufgerufene Filterprogramme wie SpamAssassin untersuchen E-Mails auf bestimmte Eigenschaften
in den Kopfzeilen ( Header“) sowie im Text ( Body“). Diese werden einzeln bewertet, wie wahrscheinlich
”
”
sie bei unerwünschten oder legitimen Mails auftreten. Überschreitet die Summe dieser Bewertungen einen
bestimmten Schwellwert, deklariert das System die Mail als Spam, wonach sie z. B. in einen Spam-Ordner
einsortiert werden kann.
Auch im MTA sind grobe inhaltsbasierte Filterungen möglich, um z. B. E-Mail-Würmer oder auffällige
Spam-Mails zu erkennen und schon die Einlieferung zu verhindern.
4.2
Sessionbasierte Abwehr
Im Gegensatz zu inhaltsbasierten Filtern, die eine bereits angenommene Mail mit relativ großem Aufwand
analysieren, ist eine Abweisung in der SMTP-Session mit Angabe einer Fehlermeldung sehr ressourcenschonend. Dabei versucht man, schon vor dem Empfang der eigentlichen E-Mail Eigenschaften zu erkennen, die
auf eine große Spam-Wahrscheinlichkeit schließen lassen.
Viele Spammer missbrauchen für die Zustellung fremde Infrastruktur - meist offene Proxies oder virenverseuchte PCs. Erstere bedienen jedoch nicht nur Spammer und landen deshalb recht schnell auf schwar”
zen Listen“. Trojanisierte PCs sind oft über private DSL-Zugänge mit dem Internet verbunden, die als nicht
”
vertrauenswürdig“ für den Direktversand von E-Mail gelten und deshalb auf so genannten Dialup-Listen“
”
(DUL) zu finden sind.
Einige Spammer halten sich für besonders schlau und geben als HELO-Meldung die IP-Adresse oder den
Hostnamen des Empfängersystems an. In der eingelieferten Spam-Mail werden Headerdaten derart geschickt
gefälscht, dass der Bespammte seinen eigenen Server als Verursacher vermutet und deshalb zukünftig von
Spam-Beschwerden absieht. Da jedoch kein legitimer Absender Angaben des Empfängers im HELO angibt,
können damit etwa 20 - 30 % aller Spam-Mails abgewiesen werden.
In anderen Spam-Läufen werden HELOs oder Absender-Domains benutzt, die bei allen Spams dieser Werbeaktion ganz oder teilweise gleich bleiben. Ist der Administrator schnell und wachsam, kann er mit einer
einzigen Regel seine Benutzer vor der ganzen Spamwelle schützen.
5
Die Rolle des Domain Name Service (DNS) bei der Abwehr und Bekämpfung
unerwünschter Spam-Mails
Wenn der Spammer meinen Server gar nicht erst findet...
...bleibt er auf seinem Spam sitzen, ohne mich belästigen zu können.
...beschränkt sich die übertragene Datenmenge auf einen winzigen DNS-Request und dessen Rückantwort.
...muss ich dem Spammer keine Rechenleistung schenken.
5.1
Verwendung von Subdomains für E-Mail
Wenn man seinen eigenen Nameserver betreibt oder einen entsprechend konfigurierbaren Dienst des Providers nutzt, hat man die Möglichkeit, Subdomains zu verwenden. Diese bieten sich vor allem für den E-MailVerkehr an.
Im Gegensatz zu Domains, deren DNS-Einstellungen über die Richtlinien des jeweiligen Domainverwalters (z. B. DeNIC) bestimmten Einschränkungen unterliegen, hat man bei der Verwaltung von Subdomains
sehr weit reichende Möglichkeiten, sich gegen Spam zu wehren. Eine große Rolle dabei spielen Verfallszeiten.
Clientseitig werden DNS-Informationen oft in einem Cache zwischengespeichert, um die Anzahl der Zugriffe
zu minimieren und die Verarbeitung zu beschleunigen. Die von vielen Domainverwaltern als Minimum geforderte Verfallszeit von einem Tag (86400 Sekunden) ist für die Aufklärung von Spam viel zu lang. Ein viel
kürzerer Wert von einer Stunde (3600 Sekunden) zwingt den Spammer dazu, relativ häufig DNS-Requests
abzusetzen, die wie wir später sehen verraten können, wo sich ein Spam-Versender versteckt.
Auch können Subdomains unbürokratisch und schnell aktiviert, verändert und gelöscht werden. Da man
dafür nur einen Nameserver benötigt und nicht wie für Domains mindestens zwei, kann man Subdomains mit
einem einzigen Server kontrollieren. Bei dessen Nichtverfügbarkeit wird Mail verzögert und später zugestellt.
5.2
Temporäre Subdomains
Beim Betrieb einer Internetpräsenz ist fast immer die Angabe einer E-Mail-Adresse als Kontaktinformation
nötig. Auch wenn man sich aktiv an Diskussionen im Usenet oder in WWW-Foren beteiligt, ist es nur eine
Frage der Zeit, bis Spammer die verwendeten E-Mail-Adressen finden und mit Werbung für zweifelhafte Produkte und Dienstleistungen überschütten. Diese Spam-Flut lässt sich nur stoppen, indem man diese Adressen
irgendwann stilllegt und durch neue ersetzt, was in der Praxis nicht immer möglich ist.
Mit einer Subdomain, die ein für den menschlichen Benutzer deutlich sichtbares Verfallsdatum enthält und
monatlich, vierteljährlich oder jährlich gewechselt wird, kann man die Spam-Flut vorzeitig bremsen. Dabei
wird die Subdomain nach dem Ablauf ihrer Gültigkeit aus dem Nameserver entfernt, wonach der Spammer
den Mailserver des Opfers gar nicht mehr findet.
Beispiel: fk.lt@ expires-200412 .docsnyder.de
Etwas weniger deutlich und deshalb vor allem für persönliche Kontakte besser geeignet ist ein verstecktes
Verfallsdatum, das z. B. aus einem Buchstabenkürzel bestehen kann: fk.lt@ ld .docsnyder.de
Als Nachteil dieser Methode entsteht jedoch ein Arbeitsaufwand, um regelmäßig in WWW-Foren und
News-Clients seine E-Mail-Adressen zu aktualisieren.
5.3
DNS-Logdateien verraten Spammer
Aus unerklärlichen Gründen werden zwar für fast jede Anwendung - WWW-Server, Proxy, MTA, Datenbank - Logdateien im System geführt, aber nicht für den DNS-Dienst. Im Gegensatz zu häufig geäußerten
Befürchtungen erzeugt ein Nameserver, der sämtliche Abfragen in eine Datei protokolliert, nicht mehr Logaufkommen als ein MTA oder Proxy - eher sogar deutlich weniger, da DNS-Informationen clientseitig sehr
lange zwischengespeichert werden.
Generell wichtig ist eine exakte Zeitsynchronisation über das Network Time Protocol“ (NTP), sofern
”
MTA und DNS auf unterschiedlichen Hosts betrieben werden. Damit kann man Zusammenhänge zwischen
Nameserver- und Mailserver-Logdateien erkennen und zuordnen.
Bei der Verwendung von BIND 8 oder 9 genügen folgende Zeilen in /etc/bind/named.conf “:
”
logging {
channel "query_log" {
file "/var/log/named_queries.log";
severity info;
print-time yes;
};
category "queries" { "query_log"; };
category "unmatched" { "null"; };
category "default" { "default_syslog"; "default_debug"; };
};
Wie alle Logdateien sollte auch die des Nameservers regelmäßig rotiert“ werden, um zu verhindern, dass
”
die Logpartition vollläuft. Dazu weist /etc/logrotate.d/named “ den Logrotate-Dienst an, das Nameserver-Log
”
beispielsweise wöchentlich zu aktualisieren, dabei die Zugriffsrechte korrekt zu setzen und den Nameserver
neu zu starten, damit er in die neue Datei loggt:
/var/log/named_queries.log {
weekly
missingok
rotate 4
compress
delaycompress
notifempty
create 640 root adm
postrotate
/etc/init.d/bind9 restart > /dev/null
endscript
}
Wenn man mit zwei parallelen xterm-Konsolen Nameserver- und MTA-Log nebeneinander betrachtet,
sieht man sehr schnell Zusammenhänge zwischen DNS-Requests und Spam-Einlieferungsversuchen.
5.4
Dem Spam-Versender auf der Spur
Wir betrachten als Beispiel einen Spam-Lauf, der über offene Proxies zugestellt wird und ein Gewinnspiel
bewirbt.
Apr 25
15:25:41
.197 client
66.98.15.145
#48716: query:
spamtrap.docsnyder.de
IN
MX
Apr 25
15:33:03
.762 client
216.114.194.21
#58145: query: muelltonne.spamtrap.docsnyder.de IN A
Apr 25
15:42:15
.720 client
66.225.137.180
#1076: query: muelltonne.spamtrap.docsnyder.de IN A
Apr 25
15:53:01
.462 client
61.86.6.5
#32899: query: muelltonne.spamtrap.docsnyder.de IN A
Kurz bevor der Spammer über mehrere offene Proxies SMTP-Sessions eröffnet, ist im DNS-Log eine MXAnfrage zu sehen, die in diesem Fall von 66.98.15.145 kommt. Anschließend erfolgen einige Host-Anfragen
aus völlig anderen Bereichen des Internet. Diese oder benachbarte Adressen finden wir im Mail-Log als offene
Proxies, die verzweifelt versuchen, Spam einzuliefern:
Apr 25
15:33:11
annie postfix/smtpd[12154]: 5F4D61F2: reject: RCPT from 216.114.194.21.hickorytech.net[
216.114.194.21
]: 550 Service unavailable; Client host [216.114.194.21] blocked using xbl.spamhaus.org; ht
spamtrap.docsnyder.de
> proto=SMTP helo=<yahoo.com>
Apr 25
15:42:43
annie postfix/smtpd[12135]: CEA7E1FB: reject: RCPT from ptr-66-225-137-161.ptr.terago.ca[
66.225.137.161
]: 550 Service unavailable; Client host [66.225.137.161] blocked using client.dnsbl.docsnyd
spamtrap.docsnyder.de
> proto=SMTP helo=<yahoo.com>
Apr 25
15:53:52
annie postfix/smtpd[12462]: 4AFC11F3: reject: RCPT from cap002-245.kcn.ne.jp[
61.86.33.245
]: 550 Service unavailable; Client host [61.86.33.245] blocked using xbl.spamhaus.org; http
spamtrap.docsnyder.de
> proto=SMTP helo=<yahoo.com>
Schön zu sehen sind das konstante HELO yahoo.com “ (die offiziellen Yahoo-Mailserver benutzen ande”
re HELOs) sowie das teilkonstante From sofortverlosung[a-z]*@yahoo.com <mailto:sofortverlosung*@
”
yahoo.com> “, wodurch ein schnell reagierender Administrator mit zwei Filterregeln (doppelt hält besser)
den ganzen Spam-Lauf abwehren kann.
Proxyserver sind bekanntlich dafür geschaffen worden, um Zugriffe auf WWW-Seiten zu beschleunigen.
Für Direktverbindungen zwischen Browser und Server, beispielsweise um per SSL-Verschlüsselung sensible
Daten zu übertragen, kann der Proxy außerdem TCP-Netzwerkverbindungen tunneln“ - je nach Konfigura”
tion nicht nur zu sicheren Webangeboten, sondern auch zu beliebigen anderen Netzwerdiensten, etwa Port 25
für SMTP. Dies missbraucht der Spammer, um unerkannt Spam zustellen zu können.
Der Proxy weiß jedoch nicht, wie E-Mail-Zustellung funktioniert, da er nur die reine Verbindung weiterleitet. Er besitzt keine Funktionalität, um per MX-Request den für einen Empfänger zuständigen Mailserver zu
erfragen.
Deshalb bleibt dem Spammer nichts Anderes übrig, als seinen eigenen DNS oder den seines Providers nach
MX-Informationen seiner Opfer zu befragen, der sich seinerseits an den Nameserver des Opfers wendet. Dort
ist diese Anfrage im DNS-Log zu sehen.
Wenn man viel Glück hat, benutzt der Spammer für seine beworbene WWW-Infrastruktur einen Server,
dessen IP-Adresse in unmittelbarer Nähe der Herkunft der MX-Anfragen liegt oder sogar damit identisch ist.
Dieser konkrete Spammer betrieb zum Zeitpunkt der Zustellung unter 66.98.15.145 nicht nur seinen Nameserver, sondern auch eine Datenbank, was ein überlastetes Bestellskript auf dem beworbenen WWW-Site verriet.
5.5
DNS-Views trennen den Spammer vom offenen Proxy
Verfolgt man DNS- und MTA-Logs während mehrerer Spam-Zustellungen, stellt man schnell fest, dass relativ
wenige Spammer für eine große Menge an Spam-Mails verantwortlich sind. Da BIND 9 die Möglichkeit bietet,
mittels Views“ Teilen des Internet unterschiedliche Informationen zu liefern, kann man den Spammer vom
”
offenen Proxy trennen und damit die Spam-Zustellung vereiteln.
Dazu definiert man zwei Views: blackhat“ für Netzbereiche, aus denen häufig MX-Anfragen für Spam”
Zustellungen kommen, und whitehat“ für das restliche Internet. Als zuständige Mailserver hinterlegt man
”
Hostnamen, die nur von derselben View aus in eine IP-Adresse aufgelöst werden können. Erfolgen MX- und
Host-Anfrage aus unterschiedlichen Views, so bekommt der offene Proxy keine IP-Adresse des Opfers und
findet dessen Mailserver nicht.
In der Konfigurationsdatei /etc/bind/named.conf “ teilen wir das Internet in zwei Views auf:
”
acl blackhat {
// Beispiele fuer Netze, in denen sich oft Spammer tummeln
200.46.208.0/25;
66.98.0.0/18;
168.95.0.0/16;
};
view "blackhat" {
match-clients { blackhat; };
include "rootzones.conf";
zone \glqq{}expires-200412.docsnyder.de\grqq{} {
type master;
file "master/for/sub.docsnyder.de.blackhat";
notify no;
};
};
view "default" {
match-clients { any; };
include "rootzones.conf";
zone \glqq{}expires-200412.docsnyder.de\grqq{} {
type master;
file "master/for/sub.docsnyder.de.whitehat";
notify no;
};
};
Um den beiden Views unterschiedliche Informationen zuzuordnen, sind separate Zonendefinitionen nötig.
Als Mail-Exchange (MX) weisen wir Subdomains der View whitehat “ den Hostnamen mail-from-whitehats “
”
”
zu:
; /etc/bind/master/for/sub.docsnyder.de.whitehat
;
$TTL
86400
@
IN
SOA
docsnyder.de.
hostmaster.docsnyder.de. (
2004040200
; Serial
2H
; Refresh
1H
; Retry
1D
; Expire
8H )
; Negative Cache TTL
;
@
IN
NS
ns1.docsnyder.de.
;
@
IN
MX
10
mail-from-whitehats
;
mail-from-whitehats
IN
A
213.239.199.73
Subdomains der View blackhat “ bekommen als MX den Hostnamen mail-from-blackhats “ zugewiesen.
”
”
Die jeweiligen MX-Hosts der anderen Views bleiben unbelegt und können deshalb nicht von Clients außerhalb
ihrer View in IP-Adressen aufgelöst werden:
; /etc/bind/master/for/sub.docsnyder.de.blackhat
;
$TTL
86400
@
IN
SOA
docsnyder.de.
hostmaster.docsnyder.de. (
2004040200
; Serial
2H
; Refresh
1H
; Retry
1D
; Expire
8H )
; Negative Cache TTL
;
@
IN
NS
ns1.docsnyder.de.
;
@
IN
MX
10
mail-from-blackhats
;
mail-from-blackhats
IN
A
213.239.199.73
Im DNS-Zugriffsprotokoll ist die Verzweiflung eines Spammers, einen zustellfähigen offenen Proxy zu
finden, deutlich zu erkennen:
Mar 26 21:52:47.875 client
200.46.208.3
#53: query:
spamtrap.docsnyder.de
IN
MX
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
21:52:49.082
21:57:11.364
22:00:47.488
22:01:24.531
22:01:33.582
22:01:51.751
22:02:46.104
22:03:28.760
22:03:28.827
22:04:08.838
22:05:37.823
22:05:39.650
22:06:45.013
22:23:20.938
22:48:59.994
22:49:02.307
23:11:45.326
23:13:30.705
23:14:33.391
23:15:07.759
23:20:31.489
client
client
client
client
client
client
client
client
client
client
client
client
client
client
client
client
client
client
client
client
client
68.113.206.10#53: query: blackhat.spamtrap.docsnyder.de IN A
24.51.159.130#40021: query: blackhat.spamtrap.docsnyder.de IN A
204.127.202.72#53: query: blackhat.spamtrap.docsnyder.de IN A
68.168.224.165#55969: query: blackhat.spamtrap.docsnyder.de IN A
193.252.19.95#10577: query: blackhat.spamtrap.docsnyder.de IN A
167.206.3.232#59167: query: blackhat.spamtrap.docsnyder.de IN A
216.148.227.113#53: query: blackhat.spamtrap.docsnyder.de IN A
68.168.160.5#60982: query: blackhat.spamtrap.docsnyder.de IN A
204.127.198.61#53: query: blackhat.spamtrap.docsnyder.de IN A
80.12.255.133#24869: query: blackhat.spamtrap.docsnyder.de IN A
209.179.23.207#53: query: blackhat.spamtrap.docsnyder.de IN A
209.86.63.212#53: query: blackhat.spamtrap.docsnyder.de IN A
24.158.79.251#53: query: blackhat.spamtrap.docsnyder.de IN A
68.168.160.2#49267: query: blackhat.spamtrap.docsnyder.de IN A
24.207.1.9#53: query: blackhat.spamtrap.docsnyder.de IN A
63.240.76.37#53: query: blackhat.spamtrap.docsnyder.de IN A
65.32.2.147#32805: query: blackhat.spamtrap.docsnyder.de IN A
67.36.13.26#53025: query: blackhat.spamtrap.docsnyder.de IN A
218.176.253.71#32776: query: blackhat.spamtrap.docsnyder.de IN A
194.206.126.54#32775: query: blackhat.spamtrap.docsnyder.de IN A
24.51.159.130#40021: query: blackhat.spamtrap.docsnyder.de IN A
Mit der Anzahl der Views sollte man sich zurückhalten, vor allem bei DNS-Installationen, die recht viele
Domains und Subdomains verwalten. Jede zusätzliche View vergrößert den Hauptspeicherverbrauch deutlich.
6
Zusammenfassung
Der Betrieb eines eigenen Internetservers erfordert ein großes Maß an Verantwortung und Kompetenz, ermöglicht
jedoch wirkungsvolle Abwehrmaßnahmen gegen das immer stärker zunehmende Spam-Problem.
Der Kampf gegen Spam ist und bleibt jedoch ein Katz-und-Maus-Spiel, da nicht nur Empfänger, sondern
auch Spammer immer tiefer in die Trickkiste greifen. Die langfristige wirkungsvollste Waffe gegen Spam ist
jedoch immer noch ein schnell reagierender Administrator, der seine E-Mail-Infrastruktur vor Missbrauch
schützt und die Wirkung aktueller Spam-Tricks in ihr Gegenteil verkehrt.
Neben den weit verbreiteten Maßnahmen auf SMTP-Ebene sowie inhaltsbasierten Filtermethoden kann
viel Spam bereits abgewehrt werden, bevor der Spammer den Server des Opfers überhaupt kontaktieren kann,
da er ihn gar nicht findet. Spam-Prävention und -Bekämpfung auf DNS-Ebene ist gegenwärtig noch wenig
verbreitet und deshalb sehr effektiv.
Am meisten empfehlenswert ist eine Kombination möglichst vieler unterschiedlicher Spam-Abwehrmaßnahmen,
selbst solcher mit begrenzter Wirkung. Diese decken in der Summe eine große Bandbreite an typischen SpamMerkmalen ab und ermöglichen deshalb gute Filterquoten.

Documentos relacionados