Navigation
« 

Anonymous




Register
Login
« 
« 

Amiga Future

« 

Community

« 

Knowledge

« 

Last Magazine

The Amiga Future 168 will be released on the 5th May.

The Amiga Future 168 will be released on the 5th May.
The Amiga Future 168 will be released on the 5th May.

The Amiga Future 168 will be released on the 5th May.
More informations

« 

Service

« 

Search




Advanced search

Unanswered topics
Active topics
« 

Social Media

Twitter Amigafuture Facebook Amigafuture RSS-Feed [german] Amigafuture RSS-Feed [english] Instagram YouTube Patreon WhatsApp
« 

Advertisement

Amazon

Patreon

« 

Partnerlinks

Anti-Spam mit YAM

Description: Amiga Aktuell Ausgabe 5/2002

Categories: [DE] Workshops

Link to this article: Select all

[url=https://www.amigafuture.de/app.php/kb/viewarticle?a=1759&sid=16162209147d2d8570d5104bc0abf030]Artikeldatenbank - Anti-Spam mit YAM[/url]

Workshop: Anti-Spam mit YAM (von Christian Aichinger)

E-Mail ist toll! Elektronische Briefe an Freunde, Bekannte oder Verwandte kosten so gut wie nichts und sind im Allgemeinen innerhalb von Sekunden am Ziel. Auch Einladungen, Rundschreiben und Diskussionsbeiträge werden normalerweise in Nullkommanix verteilt und erreichen den Menschen am anderen Ende der Leitung im besten Fall sofort. Doch genauso viel Anziehungskraft wie auf normale Internet-Anwender haben all diese Vorteile von E-Mails auch auf jene, die versuchen, mit Werbung und ominösen Angeboten das schnelle Geld zu machen; werden doch die Kosten für eine umfangreiche E-Mail-Werbekampagne zum größten Teil von den Empfängern getragen (nämlich mittels derer Telefonrechnung). Geringe (bis keine) Investitionen und größtmöglicher Gewinn locken so manchen "Geschäftsmann", der die eigenen Kosten sogar so weit minimiert, als dass er zum Versenden seiner Spam-Mails den Internetzugang des Arbeitgebers verwendet und mit Hilfe von Robots (kleine Programme, die das Internet systematisch durchforsten) seine E-Mail-Datenbestände automatisch erweitern lässt.

In letzter Zeit wurde es mir jedenfalls endgültig zuviel mit Download- Angeboten für "100%ig kostenlose Sex-Software", dümmlichen Kettenbriefen und "heißen Sonderangeboten" von Firmen, deren Name ich noch nie zuvor gehört habe. Einige Absender waren sogar so unverschämt, mir ihren gehaltlosen Müll gleich drei- bis viermal hintereinander zu schicken. Zum Teil ging es soweit, dass von zehn E-Mails fünf ungelesen in den Müll wanderten, spricht doch allein schon das Betreff-Feld der meisten Spam- Mails eine eigene Sprache ("Software für Dich!", "LADIES earn money for college, vacation, car, new house!", "Top Verdienstmöglichkeit ! ! ! ...", usw.). Doch meinen alten E-Mail-Account aufgeben? Nein, dazu hatte ich nun auch keine Lust - ist es außerdem nur eine Frage der Zeit, bis wieder das alte Spam-Aufkommen auf einem neuen Account erreicht werden würde.

Defensive

Eine goldene Regel zur Bekämpfung von Spam lautet: Antworte niemals auf solche Mails! Mal ganz abgesehen davon, dass die eigene Telefonrechnung durch eine Antwort auf Spam ein weiteres Mal sinnlos beansprucht wird, erhält der Spam-Versender durch eine Antwort auf sein Angebot die Verifizierung eines gültigen E-Mail-Accounts. Für ihn ist ein gültiger E- Mail-Account bares Geld wert, kann er doch nun diese E-Mail-Adresse an andere Spammer weiterverkaufen (man mag es kaum glauben, aber damit wird tatsächlich Geld verdient) und/oder seine Aktivitäten auf diese Adresse verschärfen. Die Folge für den Anwender: Das Spam-Aufkommen wächst, anstatt zu schrumpfen.

Aber was bleibt dem entnervten Anwender als Antwort auf Spam übrig? - Nun, zum einen kann man "aufgeben", sprich, sich einen neuen E-Mail-Provider suchen und den alten E-Mail-Account abschalten lassen. Die neue E-Mail- Adresse an den Bekannten- und Verwandtenkreis weiterzugeben ist in dem Fall kein so großes Problem, doch falls der Anwender in mehreren Mailinglisten eingetragen ist oder die Dienste eines kommerziellen E-Mail-Providers in Anspruch nimmt, artet so eine Adressänderung meistens schon in "richtige Arbeit" aus, die man sich als Benutzer von YAM auch sparen kann. Zum anderen kann man sich auch von vornherein einen E-Mail-Provider suchen, der es über sein Webinterface ermöglicht, einen Spam-Filter einzubauen. Als Beispiel sei hier GMX (http://www.gmx.de) genannt. Wenn der E-Mail-Provider solch ein Feature nicht unterstützt sieht es düster aus, oder? Nicht ganz!

Born to Kill

Die Lösung lautet "Killfile", oder in der gemäßigteren YAM-Formulierung ausgedrückt: "Remote-Filter". Diese Filter-Form durchsucht vor dem Holen der E-Mails alle Mailheader (und nur die Mailheader) nach frei wählbaren Header-Schlüsselworten (wie z.B. das "From:"-Schlüsselwort, das über die Absender-Adresse Auskunft gibt). Dazu muss allerdings der optionale "TOP"- Befehl vom verwendeten POP3-Server (POP3: Post Office Protocol V3; das heutzutage übliche Protokoll zur Verwaltung des "E-Mail-Briefkastens") unterstützt werden.

Wie gesagt, dieser Befehl ist optional und muss nicht von jedem POP3-Server zur Verfügung gestellt werden. Ob der eigene E-Mail-Account nun "Remote- Filter"-fähig ist, lässt sich demnach nur nach dem Motto "Versuch macht kluch" in Erfahrung bringen, es sei denn, der E-Mail-Provider weist definitiv auf diese Eigenschaft hin (was natürlich auch keine hundertprozentige Garantie für eine korrekte Funktion sein muss).

E-Mail-Analyse

Um ein halbwegs effektives Killfile aufzubauen, benötigt man als erstes natürlich die E-Mail-Adressen derjenigen, die sich in den Augen des Anwenders besonders als Spammer hervorzeichnen. Am besten durchsucht man dazu das Postfach "Deleted" nach älteren Spam-Mails. Hat man nun solch eine Mail gefunden, muss nur noch die E-Mail-Adresse des Absenders gefunden und in einer externen Textdatei eingetragen werden. Es können natürlich mehrere E-Mail-Adressen in diese Datei aufgenommen werden, oder aber auch nach ganz anderen Merkmalen (E-Mail-Provider ["@yahoo.com" und "@msn.com" werden sehr gern von Spammern verwendet], Teilketten mit AmigaDOS-Dateimustern, etc.) gesucht werden. Jedoch sollte beachtet werden, dass, je mehr Parameter in der Dateifilterung Verwendung finden, desto länger auch die Analyse aller E-Mails vor dem Abholen dauert. Demzufolge sollten nur die wichtigsten Merkmale einer solchen E-Mail in das Killfile aufgenommen werden. Gegen Spam-Mail hilft im Allgemeinen schon das "From"- oder auch "To"- Schlüsselwort (also die Absender- bzw. Empfängeradresse). Sinnvollerweise sollte diese Textdatei im YAM-Verzeichnis mit einem logisch nachvollziehbaren Namen angelegt werden. Mein Killfile nennt sich zum Beispiel "Remote-Filter.txt".

Außerdem habe ich der Datei ein Project-Icon verpasst, dessen Tooltype zu einem Texteditor verweist. Das Hinzufügen von weiteren Spam-Adressen ist so relativ schnell erledigt. Auch ein kleines ARexx-Skript, das das Einfügen von E-Mail-Adressen direkt aus YAM in diese Datei erledigt, sollte kein wirklich schwieriges Problem darstellen. Falls ich Zeit finde, wird das Skript bis zur nächsten Ausgabe nachgeliefert.

Filter stricken

Der Remote-Filter wird im Konfigurationsfenster von YAM erstellt. Dazu wird im Menü "Einstellungen" der Punkt "Konfiguration" angewählt. In der linken Liste des nun erscheinenden Fensters wird das Feld "Filter" (4. Position von oben) selektiert. Daraufhin erscheinen im rechten Teil des Fensters die Filteroptionen. Ein Mausklick auf "Neu" erzeugt einen neuen Filter. Damit dieser als Remote-Filter funktioniert, muss auch das Häkchen "Remote- Filter" gesetzt werden, das auf der rechten Seite unter dem Reiter "Optionen" zu finden ist. Die Namenswahl unterliegt der Entscheidung des Anwenders - "Killfile" dürfte allerdings recht naheliegend sein.

Als nächstes müssen die Werte definiert werden, die eine E-Mail nach Meinung des Anwenders als Spam auszeichnet. Unter dem Reiter "Vergleich" gibt es nun die Möglichkeit, zwei Suchkriterien zu definieren, die mit einem logischen Operator ("und", "oder", "exklusives oder") verknüpft werden können. Für den Anfang begnügen wir uns mit nur einem Suchkriterium, nämlich der "From-Zeile". Dazu wird das Cycle-Gadget "Suchen in" auf "From- Zeile" und das direkt darunter befindliche Cycle-Gadget (also die Art des Vergleichs) auf "IN" gestellt. "IN" bedeutet übrigens, dass die Suchmuster aus einer externen Textdatei entnommen werden. Und hier kommt das vorher angelegte Killfile mit den Spam-Absenderadressen ins Spiel. Der Name der Datei muss in das Texteingabefeld neben "IN" eingetragen werden. Dazu kann auch ein Dateirequester verwendet werden, der mit dem Knopf gleich rechts neben dem Texteingabefeld aufgerufen werden kann.

Nachdem alles eingestellt wurde, muss noch festgelegt werden, was mit den Mails, die diesem Suchkriterium entsprechen, geschehen soll. Da es sich dabei um Spam handelt, können solche Mails ruhig auf dem E-Mail-Server bleiben und gleich dort gelöscht werden. Dazu wird der Reiter "Aktion" aufgerufen und die beiden untersten Häkchen "Löschen" und "Nicht runterladen" gesetzt. Mit einem Klick auf "Speichern" wäre ein grundlegender Spam-Filter erstellt.

Erfahrenere Anwender können die Suchkriterien für Spam-Mails wie erwähnt mit einer logischen Verknüpfung zusätzlich verfeinern. Zum Teil werden E- Mail-Adressen von Spam-Versendern in regelrechten Spam-Mailinglisten (wie z.B. Yahoogroups, was allerdings laut deren AGBs nicht erlaubt ist) verwaltet bzw. verschickt. Die eigene E-Mail-Adresse ist dann in so einer Mailingliste eingetragen, obwohl man davon überhaupt nichts weiß, geschweige denn sein Einverständnis dazu gegeben hat. In so einem Fall kann es sinnvoll sein, auch die "To"-Zeile einer E-Mail auf eine entsprechende E-Mail-Adresse bzw. die dort eingetragene Mailinglisten-Bezeichnung ("Freunde", "Kontaktanzeige") überprüfen zu lassen. Dazu wird das mittlere Cycle-Gadget (das jetzt noch auf "nicht verknüpfen" stehen sollte) auf "oder" und das zum zweiten Suchkriterium gehörige "Suchen in"-Cycle-Gadget auf "To-Zeile" gestellt. Der Vergleichsoperator wird wie beim ersten Suchkriterium auf "IN" gesetzt, um die Suchmuster einer externen Textdatei entnehmen zu können. Diese externe Textdatei kann entweder wieder die gleiche wie beim ersten Suchkriterium sein, in der dann aber zusätzlich auch die zu filternden "To"-Adressen eingetragen werden müssen, oder man erstellt eine weitere Textdatei (ein weiteres "Killfile"), in der dann ausschließlich "To"-Adressen verzeichnet sind.

Der erste Fall ist nur für bequemere Zeitgenossen geeignet, da im zweiten Fall eine zusätzliche Datei verwaltet werden muss, dafür aber der eigentliche Vergleich der Mail-Header auf dem Server schneller vonstatten geht und demzufolge das "Post holen" mit "schmalbandigen" Internetverbindungen nicht zur Kaffeepause ausartet.

Kampf gegen Windmühlen

Leider hat die Remote-Filter-Methode auch eine entscheidende Schwachstelle, die den Kampf gegen Spam zur Sisyphus-Arbeit ausufern lassen kann: Da es unzählige E-Mail-Weiterleitungs-Angebote, Anonymisier-Dienste, kostenlose E-Mail-Provider und zu allem Überdruss auch noch Programme gibt, die es dem Spammer ermöglichen, seine wahre Identität - besser gesagt E-Mail-Adresse - zu verbergen, ist es nahezu unmöglich, vor jeder Spam-Mail gefeit zu sein. Der Remote-Filter hilft tatsächlich nur gegen Absender, die wenigstens einmal ihren Müll ins Postfach des Anwenders geschickt haben und von diesem auch in das Killfile aufgenommen wurden. Ein weiteres Problem ist, dass es nur wenige Spammer gibt, die in ihren Mails eine E-Mail-Adresse zweimal verwenden, was das Killfile in kürzester Zeit gewaltig anwachsen und demzufolge die Filterung vor dem Abholen der Mails enorm verlangsamen lassen kann. Wenn es dann irgendwann länger dauert, das gesamte Postaufkommen nach Spam durchsuchen zu lassen, als alle Mails inklusive Spam herunterzuladen, sollte man logischerweise den Remote-Filter ad acta legen. Gegen Postings von unliebsamen Mailinglisten-Teilnehmern, Mail- Bomben und -Würmer hilft der Remote-Filter im Allgemeinen aber immer, so dass er zumindest bei diesen unerwünschten Mails seiner Rolle voll gerecht wird.

Christian Aichinger


Nachtrag zum Workshop »Anti-Spam mit YAM« (von Christian Aichinger)

Wie in meinem letzten Workshop angekündigt, möchte ich an dieser Stelle noch das erwähnte ARexx-Skript vorstellen, das die Archivierung von Spam-Absender-Adressen automatisch übernimmt.

Eines vorweg: Betrachtet das Skript bitte nur als Grundgerüst. Im jetzigen Zustand ist es sicherlich noch nicht als fehlerfrei zu bezeichnen. So können zum Beispiel noch nicht mehrere Spam-Mails selektiert und von dem Skript verarbeitet werden.

Funktion:

Das Skript dient dazu, die E-Mail-Adresse einer(!) ausgewählten Mail in das externe Killfile einzutragen und danach die komplette E-Mail in das "Gelöschte"-Postfach zu verschieben.

Installation:

Zuerst sollte der folgende Quelltext via Cut & Paste in einer neuen Datei gespeichert werden (von ersten "/*" bis zum "/* Ende */" ausschneiden):


/*
Exportiert die E-Mail-Adresse der ausgewählten E-Mail in die im Argument
angegebene Datei.

Das Skript ist Public Domain. Jeder, der möchte, kann dieses "Grundgerüst"
(mehr ist es auch nicht) weiterentwickeln. Für Schäden, welcher Art auch
immer, übernehme ich keine Garantie oder Verantwortung.

Die Benutzung dieses Skripts geschieht auf eigene Gefahr.
*/

PARSE ARG adrfile

ADDRESS 'YAM'
OPTIONS RESULTS

/*
keine Benutzereingaben möglich
*/
APPBUSY

/*
Informationen über die ausgewählte Mail übernehmen
*/
MAILINFO STEM j.

/*
Absenderadresse mittels "Echo" in die angegebene Datei eintragen
*/
ADDRESS COMMAND 'echo >>' adrfile '"' j.from '"'

/*
Dieser Punkt verschiebt die selektierte Mail ins Deleted-Postfach
*/
MAILDELETE

/*
Benutzereingaben wieder möglich
*/
APPNOBUSY
/* Ende */

Als nächstes wird YAM gestartet und das Konfigurationsfenster geöffnet. Unter dem Konfigurationspunkt "ARexx" (links) muss nun ein neuer "'Skripts' Menüeintrag" ausgewählt werden. Unter "Name" ist die Bezeichnung des neuen Menüeintrages festzulegen. Bei mir heißt dieser einfach nur "Lösche Spam". Das Cycle-Gadget rechts daneben muss auf "ARexx" stehen. Im Eingabefeld "Skript" wird der Dateiname des oben abgedruckten Skripts und zusätzlich als Argument das Killfile eingetragen. Die beiden unteren Buttons ("Öffne Konsolenfenster" und "Warte auf Beendigung") müssen abgewählt sein. Wer jetzt nur "Bahnhof" verstanden hat, schaut sich das Bild an. ;)

Übrigens habe ich von einem Leser noch den Hinweis auf eine gute Webseite zum Thema bekommen. Unter http://www.antispam.de gibt es ein FAQ und ein Forum, in dem man weitere Hilfe zur Spam-Abwehr bekommen kann.

Christian Aichinger