Dieser Beitrag stammt von http://www.linuxfocus.org
von Katja and Guido Socher <katja/at/linuxfocus.org, guido/at/linuxfocus.org> Über die Autoren: Katja ist die deutsche Editorin von LinuxFocus. Sie mag Tux, Film & Fotografie und das Meer. Ihre Homepage befindet sich hier. Guido ist ein langjähriger Linuxfan und er mag Linux, weil es einem Wahlmöglichkeiten und Freiheiten gibt. Man kann Lösungen nach seinen eigenen Bedürfnissen wählen und entwickeln. |
Kampf dem Spam
Zusammenfassung: Spam in deiner Post? Spam E-mail wächst mit einer alarmierenden
Geschwindigkeit und ist ein großes Problem für fast jeden. |
Spam-mail hat viele Namen. Einige nennen sie UCE (Unsolicited commercial email, nicht
erbetene Werbemail), andere nennen sie einfach Unwanted E-mail (unerwünschte Email), aber
alle diese Namen sagen nicht wirklich, was es ist. Wenn du (noch) keine Spammail bekommst,
dann schau dir diese Sammlung von
Spam-mail (spam_samples.html) an. Es ist eine zufällige Auswahl von Spammail, die in
ein paar Tagen gesammelt wurde. Lies die Mails durch und du wirst schnell verstehen, daß
es nichts mit Kommerz oder Business zu tun hat. Diese Spammer sind Kriminelle. Kein(e)
seriöse(r) Geschäftsmann/frau würde Millionen von Leuten verärgern und beleidigen, nur
um ein paar "Idioten" zu finden, die ihnen ihre "Tricks" abkaufen.
Es ist ein häufiges Mißverständnis von Leuten, die das Internet nicht so oft benutzt
haben, zu glauben, daß dieser Typ von Werbung mit Informationen verglichen werden kann,
die sie von Zeit zu Zeit von ihrem örtlichen Supermarkt erhalten. Produkte, die über
Spam-mails verkauft werden, sind oft illegal oder überhaupt keine Produkte. Sie sind
Tricks, um an dein Geld zu kommen.
Spammer bekommen deine Emailadresse von Webseiten, newsgroups oder Domaineinträgen
(wenn du eine eigene Domain hast). Es gibt Leute, die Roboter benutzen, um Adressen zu
extrahieren, sie auf CDs brennen und dann sehr billig an andere Spammer verkaufen. Wenn du
heute deine Emailadresse in Klartext auf deine Homepage schreibst, so daß solche
Programme sie extrahieren können, dann hast du in ein wenigen Monaten ein großes Problem
und kannst es nicht stoppen. Das Problem wächst jeden Tag!
1998 lag der Prozentsatz von Spammail, die an LinuxFocus geschickt wurde, bei unter 10%.
Im November 2002 sah die Statistik wie folgt aus:
Unser Server bekommt ca. 4075 Mails pro Woche. 3273 davon sind Spam!
=> 80% aller Mail ist Spam.
D.h. 80% der Kapazität des Mailservers und 80% der Netzwerkbandbreite ist für etwas,
das niemand will.
Von diesen 3273 Spammails stammen ungefähr 40% aus Amerika (vor allem Kanada, US, Mexiko)
und ca. 30% aus Asien (vor allem Korea, China, Taiwan).
Wenn du dir die Spam-mails
anschaust, wird dir auffallen, daß beinahe alle die Möglichkeit bieten, sich aus der
Liste entfernen zu lassen. Mach das nicht! Du hast es mit Kriminellen zu tun! Kein Spammer
hat etwas davon, wenn er eine saubere remove Liste unterhält. Warum fügen sie dennoch
diese Möglichkeit hinzu? Die Antwort ist einfach. Es macht einen viel besseren Eindruck
auf den Leser und ist ein ausgezeichnetes statistisches Werkzeug. Die Spammer können
sofort überprüfen, daß ihre Emails ankommen. In anderen Worten, du bestätigst den
Erhalt der Email!
Es gibt auch ein einfaches technisches Problem mit der Idee einer remove list. LinuxFocus
ist keine besonders große Seite, aber wir würden eine Person Vollzeit brauchen, um 3273
Spam mails pro Woche abzumelden und dann müßte diese Person eine Mail pro Minute
schaffen. Jeder Spammer benutzt eine andere Methode, es wäre eine idiotische Aufgabe und
kann nicht funktionieren. Remove lists sind Unsinn und helfen nur den Spammern.
Das einzig richtige, was du tun kannst, ist: lösche sie.
Es gibt viele verschiedene Optionen, um Spam auszufiltern und dies ist gut, weil es so
für die Spammer schwieriger ist, sie zu umgehen. Es ist jedoch ein Wettrüsten. Die
Werkzeuge, um Spam herauszufiltern werden weiter entwickelt, aber die Spammer verbessern
ihre Methoden ebenfalls.
Es gibt zwei Arten von Filtern:
Wir diskutieren jetzt die verschiedenen Möglichkeiten im Detail, alle haben Vor- und Nachteile. Die beste Lösung, um alle Spam loszuwerden, ist, mehrere verschiedene Werkzeuge zu benutzen.
Wenn du deine Mail direkt am Mailserver während des Empfangs zurückweist, dann kann
der Spammer einen Fehlercode zurückbekommen und weiß, daß diese Adresse nicht
funktioniert. Wenn er einer dieser "CD-Hersteller" ist, dann nimmt er die
Adresse vielleicht heraus. Es kann Netzwerkbandbreite sparen, da du nicht die
vollständige Nachricht erhältst. Du kannst den Fehlercode zurückschicken, sobald du
herausfindest, daß dies Spam ist.
Um dies zu tun, brauchst du einen guten und flexiblen MTA. Leider sind die beiden am
weitesten verbreiteten Server, Sendmail und der von Bill Gates nicht sehr gut für diese
Aufgabe geeignet. Zwei sehr gute Alternativen sind Postfix
und Exim. Wenn du deinen Server nicht ändern kannst,
dann kannst du einen smtp proxy wie messagewall vor den Server (smtp = Simple Mail
Transfer Protocol, das Internet mail protocol) setzen.
Wir diskutieren jetzt einige übliche Filtertechniken und erklären, wie sie arbeiten. Wir
werden nicht beschreiben, wie man sie genau für jeden MTA konfiguriert. Es würde den
Artikel zu lang machen. Stattdessen empfehlen wir, die Dokumentation, die mit dem MTA, den
du installier hast dabei ist, zu lesen. Postfix und Exim sind gut dokumentiert.
Einige MTAs haben sogar noch mehr Optionen, aber die obigen sind die gängigen, die in einem guten MTA vorhanden sind. Der Vorteil all dieser Überprüfungen ist, daß sie nicht CPU intensiv sind. Du brauchst normalerweise deine Mailserverhardware nicht erneuern, wenn du diese Überprüfungen benutzen willst.
Die folgenden Techniken werden normalerweise auf die vollständige Mail angewandt und
der Mailserver, der die Mail schickt, bemerkt nicht, daß die Email nicht geliefert wurde.
Dies bedeutet auch, daß ein legitimer Sender keinen Mißerfolgsbericht erhält. Die
Nachricht verschwindet einfach.
Dies ist allerdings nicht 100% richtig, da es von den Filtermöglichkeiten des Mailservers
abhängt. Exim ist sehr flexibel und erlaubt es dir, eigene Filter für Nachrichten zu
schreiben.
# The condition line ensures that only messages smaller than 50 kB # (50 * 1024 = 56000 bytes) are processed by SpamAssassin. Most spam # isn't bigger than a few k and working with big messages can bring # SpamAssassin to its knees. If you want to run SpamAssassin without # the spamc/spamd programs then replace spamc by spamassassin. :0fW: * < 56000 | /usr/bin/spamc # All mail tagged as spam (e.g. with a score higher than the set threshold) # is moved to the file "spam-mail" (replace with /dev/null to discard all # spam mail). :0: * ^X-Spam-Status: Yes spam-mail
Die Installation ist einfach und spamassassin filtert über 90% aller Spam.
"| exec /usr/bin/procmail"
Einige Leute empfehlen
"|IFS=' ' && exec /usr/bin/procmail"
zu benutzen, aber dies erzeugt neue Probleme mit einem extra erzeugten Prozess, der nicht
mehr unter der Kontrolle des Mailservers läuft. Sichere Mailserver wie postfix oder exim
haben keine Probleme mit der .forward Datei, wie sie oben gezeigt wurde.
Procmail ist besonders nützlich in einer Umgebung, wo du normalerweise nur in einer
geschlossenen Gruppe kommunizierst. Z.B. für Leute in einem Unternehmen, wo die meiste
Email von Kollegen und einigen bekannten Freunden kommen sollte. Hier ist ein Beispiel
für "mycompany.com":
# .procmailrc file. # search on header for friends: :0 H: * ^From.*(joe|paul|dina) /var/spool/mail/guido # search on header for mails which are not coming from # inside mycompany.com and save them to maybespam :0 H: * !^From.*(@[^\@]*mycompany\.com) /home/guido/maybespam # explicit default rule :0: /var/spool/mail/guido
Dies macht es sehr viel einfacher, Spam zu löschen und du findest die häßliche Spam
nicht zwischen deiner normalen Mail.
Procmail ist sehr flexibel und kann auch für andere Aufgaben benutzt werden. Hier ist ein
total anderes Beispiel:
Procmail kommt mit einem "reply to sender" Programm namens formail. Dies kann
z.B. genutzt werden, um eine Nachricht zurück an die Leute zu schicken. Eine große Plage
sind diese Emails, die Worddokumente enthalten. Wenn du ein Linuxentwickler bist, der
Email zum Austausch von Informationen über deine Projekte oder Linux im allgemeinen
benutzt, dann bist du sicher nicht an Leuten interessiert, die Text in ein Worddokument
schreiben und es an ihre Emails anhängen. Viren können auf diese Weise leicht
übertragen werden. Sie infizieren Linux normalerweise nicht, aber es ist generell eine
schlechte Idee, MS-Word zum Verschicken von Texten an andere Leute zu verwenden, da es
verlangt, daß MS Word mit derselben Version auf der Empfängerseite vorhanden ist, um den
Text zu lesen. Es gibt offene Formate wie RTF oder HTML, die keine Viren verbreiten,
plattformunabhängig sind und kein solches Versionsproblem haben.
# Promail script to
# reject word documents. Reject the mail, but do not reply to
# error messages "From MAILER-DAEMON"
# If you use ":0 Bc" instead of ":0 B" then you will still get the mail
:0 H
* !^From.*DAEMON
{
# The mime messages with word documents look like this in the body
# of the message:
#------=_NextPart_000_000C_01C291BE.83569AE0
#Content-Type: application/msword;
# name="some file.doc"
#Content-Transfer-Encoding: base64
#Content-Disposition: attachment;
# filename="real file.doc"
:0 B
* ^Content-Type:.*msword
| (formail -r ; cat /home/guido/reject-text-msword ) | $SENDMAIL -t
}
# explicit default rule
:0:
/var/spool/mail/guido
Die Textdatei /home/guido/reject-text-msword sollte einen Text enthalten, daß msword
Dokumente Viren verbreiten können und den Sender bitten, das Dokument z.B. im RTF Format
zu schicken.
Wie man procmail benutzt und was alle diese seltsamen Buchstaben in der
Konfigurationsdatei bedeuten, ist gut in der "procmailrc" man page erklärt.
Es gibt noch viel mehr mögliche Lösungen, um gegen Spam zu kämpfen. Wir glauben,
daß das obige die wichtigsten von ihnen abdeckt.
Die beste Lösung ist, Überprüfungen im MTA als eine erste Stufe zu benutzen und dann
die verbleibende Spam in einer zweiten Stufe mit einem post-processing Filter zu filtern.
Eine besonders gefährliche Form von Email sind Spammails in HTML Format.
Die meisten Spammer benutzen die "Abmelde-Möglichkeit (unsubscribe
possibility)", um zu sehen, wieviele ihrer Mails ankommen. HTML formatierte Mail
bietet eine viel bessere Form an Feedback: Bilder. Du kannst dieses System mit den
Besucherzählern, die man auf manchen Webseiten findet, vergleichen. Der Spammer kann
genau sehen, wann und wieviele Mails gelesen werden. Wenn du die Spam aufmerksam
studierst, wirst du sehen, daß in manchen Fällen der URL für enthaltene Bilder eine
Sequenznummer enthält: Der Spammer kann genau sehen, wer zu welcher Zeit die Mail
anschaut. Eine unglaubliche Sicherheitslücke.
Moderne Mailleseprogramme zeigen keine Bilder an, die irgenwo von einer URL
heruntergeladen werden. Jedoch gibt es kaum einen modernen und sicheren HTML mail reader.
Kmail und die neueste Version von mozilla mail bieten die Möglichkeit, Bilder von
externen Sourcen abzuschalten. Die meisten anderen Programme generieren nette Statistiken
für die Spammer.
Die Lösung? Benutze kein html-fähiges Emailprogrammm oder lade die Mail zuerst nur
herunter und lies sie erst, wenn du nicht mehr mit dem Internet verbunden bist.
Traue niemals der Senderadresse im "From" Feld einer Spammail. Dies sind entweder nicht existierende Benutzer oder unschuldige Leute. Es ist sehr selten, daß dies die Mailadresse des Spammers ist. Wenn du wissen willst, wo die Mail herkommt, mußt du den vollständigen Header anschauen:
...
Received: from msn.com (dsl-200-67-219-28.prodigy.net.mx [200.67.219.28])
by mailserver.of.your.isp (8.12.1) with SMTP id gB2BYuYs006793;
Mon, 2 Dec 2002 12:35:06 +0100 (MET)
Received: from unknown (HELO rly-xl05.dohuya.com) (120.210.149.87)
by symail.kustanai.co.kr with QMQP; Mon, 02 Dec 2002 04:34:43
Hier schickt ein unbekannter Host mit der IP Adresse 120.210.149.87, der vorgibt
rly-xl05.dohuya.com zu sein, die Mail zu symail.kustanai.co.kr. symail.kustanai.co.kr
schickt diese Nachricht weiter. Der Spammer versteckt sich irgendwo hinter 120.210.149.87,
was wahrscheinlich nur eine dynamische dialup IP Adresse ist.
In anderen Worten, die Polizei könnte diese Person finden, wenn sie zum Eigentümer von
kustanai.co.kr gehen würde und nach Serverlogs und einem Ausdruck von Verbindungen der
örtlichen Telefongesellschaft fragen würde. Du selbst hast kaum eine Chance
herauszufinden, wer es war.
Es könnte auch sein, daß der erste Teil gefälscht ist und der Spammer tatsächlich
hinter dsl-200-67-219-28.prodigy.net.mx steckt. Dies ist sehr wahrscheinlich, da es keinen
guten Grund gibt, warum symail.kustanai.co.kr die Mail zu msn.com über die dsl dialup
Verbindung (dsl-200-67-219-28.prodigy.net.mx) schicken sollte. Der mailserver.of.your.isp
(symbolischer Name) ist der Server deines ISPs und nur der Teil von dieser
"Received:" Zeile ist verläßlich.
Es ist möglich, den Spammer zu finden, aber du brauchst internationale Intelligenz und
Polizei, um zu prodigy.net.mx zu gehen.
Wenn Spam weiter mit der jetzigen Rate steigt, dann wird das Internet
bald sehr viel mehr Spam als wirkliche Email transportieren. Spam wird auf Kosten der
Empfänger transportiert. Mehr Bandbreite ist nötig und oft müssen Mailsysteme
upgegradet werden, um die Spam zu handhaben.
Die Gesetze in vielen Ländern tun wenig, um die Bürger vor kriminellen Spammern zu
schützen. Tatsächlich gibt es in vielen Ländern Gesetze, die nur ehrliche Leute
einschränken (digital rights management etc. ...) und den Kriminellen helfen (z.B. um
schöne Statistiken über die Spam zu bekommen).
Schließ dich der Koalition gegen UCE an!
Internet Service Provider sollten ihre Mailsysteme überprüfen. Kein unautorisierter
Zugriff zu Mailservern sollte gestattet werden und die Menge an Mails, die ein einzelner
Benutzer pro Sekunde senden kann, sollte limitiert werden.
Jeder Artikel hat seine eigene Seite für Kommentare und Rückmeldungen. Auf dieser Seite kann jeder eigene Kommentare abgeben und die Kommentare anderer Leser sehen:
| Der
LinuxFocus Redaktion schreiben © Katja and Guido Socher, FDL LinuxFocus.org |
Autoren und Übersetzer:
|
2003-01-01, generated by lfparser version 2.35