Kopfbereich

Direkt zum Inhalt Direkt zur Navigation Direkt zum Kontakt
Advertisement

Inhalt

Howto: Spam effizient blocken?

Geschrieben von Ralph   
Hits: 30543

Wie man SPAM und Viren blocken und filtern kann
(Erfordert einen eigenen Mailserver.) 

Hier praktisch erklärt am Beispiel Postfix und DSpam.

Ich will mal wieder einen konstruktiven Beitrag an die GPL-Gemeinde zurückgeben.
Heute erkläre ich Euch, wie man einen spamfesten SMTP-Server macht.

 

Viel Spass beim lesen.

(Klick here for the english version.)

Historie:

Ich habe meine Mailadressen immer großzügig im Netz verteilt weil ich gar nicht einsehe, dass ich mich vor Spammern verstecken sollte.
Ich denke auch nicht, dass das sonderlich viel bringt. Ausserdem will ich denen Herr werden, statt vor ihnen davon zu laufen.

Vor knapp 10 Jahren war das Spamaufkommen absolut nicht mehr zu ertragen.
So habe ich mir vor rund 7 Jahren ein assp installiert.
Das hat einige wenige Jahre sehr gut funktioniert,
bis einige ProfiSpammer ihre Taktiken optimiert haben.
Während die "Profis" allerlei hochtrabende Filter optimiert haben,
habe ich dem assp einfach folgendes gemacht:

  • Den Verbindungsaufbau um 2 Sekunden verzögern.
  • Ehlo sagen.
  • Antwort entgegen nehmen.
  • Weitere 2 Sekunden warten.
  • Weitermachen

Schon sind die ProfiSpammer weg gewesen, die hatten nicht die Zeit so lange zu warten.
Das hat jahrelang gut funktioniert und ist in assp in kurzer Zeit eingebaut.
Sogar das Spamaufkommen, die Anzahl der Versuche wurden dadurch geringer.
Spammer haben mich also tatsächlich aus ihren Datenbanken genommen.

Vorgehen:

Mit jedem neuen SMTP-Server - ich installiere rund 2 produktive pro Jahr -
lernt man mehr dazu und muss sich mit aktuellen Techniken vertraut machen.
Als ich Mitte November 2006 wieder einmal einen
neuen installiert habe war die Spamflut so richtig krass.
Alleine meine Postfächer sammelten rund
zehn Spams pro 10 Minuten (24*60=1440 Spams pro Tag).
Mit dabei waren übrigens auch die im Mai 2007 als "aktuell und neu" diskutierten Börsentipps.
(SOOO neu können die also nicht sein.)
Was also tun?
Claro: Beobachten und tunen, bis es passt.
Ich habe das Logfile rund zwei Wochen lang live beobachtet
und bin im laufe der Jahre zu folgender Einstellung gekommen.

Lösung:

Der Fehler liegt in der mentalen Haltung.
Auch ich habe Kunden, die sich diese Tage über Spam beklagen,
obwohl ich für deren Server verantwortlich bin.
Das liegt an deren eigenen Vorgaben:
"Ich will auf gar keinen Fall eine Mail verlieren".
So kann das natürlich nichts werden, weil Spam ist ja schliesslich auch Mail.

Blocken vs. Filtern:

Den meisten Verantwortungsträgern ist nicht klar,
dass man 2 Dinge 100% unterscheiden muss.
Den meisten Postmastern ist nicht klar,
dass man den Verantwortungsträgern genau das klar machen muß.
Von alleine kommen die nämlich nicht darauf:

Mails die via SMTP soeben angeliefert werden:
  • Die Verbindung zum Sender ist aufgebaut.
  • Diese kann man blocken.
  • Der Spammer hat den schwarzen Peter,
    wenn wir Ihn jetzt als Spammer erkennen.
  • Wir haben nur einen Eintrag im Logfile.
  • Der Spammer vergeudet Zeit und weiss das.
  • Tendenziell wird ihn das nerven.
  • Möglicherweise Eure Adressen sogar aus seinen Datenbanken nehmen.
  • Sollten wir uns irren und eine Mail versehentlich blocken,
    so wird der Absender und dessen Postmaster informiert,
    warum wir die Mail nicht annehmen.
  • Keine Mail "verschwindet".
  • Der Postbote kann die Mail nicht einwerfen, weil der Postkasten zu ist.
Mails die via SMTP angeliefert wurden,
es bis zur Übergabe an LMTP geschafft haben:
  • Hier ist das Kind bereits in den Brunnen gefallen.
  • Ab hier gilt die Mail für den Sender als erfolgreich zugestellt.
  • Eine nachträgliche Ablehnung ist praktisch nicht mehr möglich.
  • Jetzt kann man nur noch filtern.
  • Der Absender wird in jedem Fall annehmen, dass die Mail erfolgreich zugestellt wurde.
  • Der Spammer wird Eure Adresse in seinen Datenbanken halten
    und ggf. an andere weiter verkaufen.
  • Filtern kann also nur noch eine Notlösung sein.
  • Belastet Euer System.
  • Erfordert menschliches Eingreifen.
  • Kann Ärger machen, weil Mails "verschwinden".
  • Der Postbote hat die Mail eingeworfen.

In der Praxis ist es aber meist so,
dass die Briefe mitsamt der Werbung erst einmal angenommen werden,
damit sie vom Spamfilter des SMTP-Servers während der Übergabe an den IMAP-Server
oder gar erst vom Spamfilter des Mail-Clients gefiltert werden.
Viel zu spät!
Ihr wollt doch keine Briefe ohne gültige Absenderadresse, oder?
Warum nehmt ihr sie dann an?
An Eurer Haustüre klebt doch auch ein Sticker: "Bitte keine Werbung".

Technische Umsetzung:

Man schaut mit wem man spricht,
wie sich der Sender via SMTP EHLO meldet.
Macht ein paar Checks.
Ob die E-Mail Adresse des Absenders zu seiner Domain passt.
Die DNS-Auflösung des EHLO muss der
IP-Adresse des verbundenen Rechners entsprechen. Und so weiter.
Spammer melden sich meistens mit EHLO <friend> oder
bestenfalls einem FQDN-Fantasienamen.
Bisher habe ich nur manchmal mit den
Werbemails von ebay Probleme.
Die versenden Mail aus dem Staaten von einer .Com-Adresse und benutzen als Absender eine .De-Adresse,
so etwas lasse ich nicht zu.
Ich habe ebay informiert und die reagieren nicht.
Dann rede ich eben nicht mehr mit denen...
Aber auch diese Mails schaffen ihren Weg letzten Endes.
Bitte beachtet, ich rede nicht von DNS-Rückwärtsauflösung (PTR),
was bei virtuellen Servern nicht funktionieren würde.
Ich spreche ausschliesslich von MX und/oder A-Records,
die für jede TLD beliebig gesetzt werden können.
Jeder professionelle Mailserver kann das.
Praktisch jede Spamschläuder wird erkannt.
Ich bin mir sicher, dass dies der Punkt ist,
an dem die meisten von Euch scheitern.
Ihr habt Angst, irgendeine Mail zu verlieren.
Das ist aber nicht weiter schlimm,
weil:

  • Der Absender informiert wird, dass seine Mail abgewiesen wurde und warum.
  • Dessen Postmaster informiert wird,
    dass die Mail seines Kunden abgewiesen wurde und warum.
  • So eine Mail mit nahezu 100%er Sicherheit Spam ist.

Die meisten Manager und Sekretärinnen können "Mailer-Daemons" zwar nicht interpretieren,
weil sie sich vor Dämonen fürchten,
vor IT auch und jetzt vor vor Englisch auch noch.
Selbst wenn sie fliessend Englisch sprechen,
in diesem Moment setzt irgendwie deren Verstand aus... Verschwiegen
Deren Postmaster kann das sehr wohl lesen und verstehen.
Es sollte diesem ziemlich peinlich sein zugeben zu müssen,
dass sein SMTP-Server wie ein Spammer aussieht.

(Für die Zukunft ist ein Artikel geplant, der diese bösen Buben auflistet).

Dadurch können schliesslich geschäftliche Mails verloren gehen,
falls der Empfänger filtert.

Es geht also nichts verloren:
Das Problem hat der Absender,
weil er sich so verhält, wie ein Spammer.
Klingt hart, ist aber korrekt.

Und sollte geächtet werden, weil es genau diese Firmen sind, welche Spamming deutlich erleichtern.

Warum sollte ich in dieser spamverseuchten
Zeit von so einem Absender eine Mail entgegen nehmen wollen?
Soll der Absender doch ein Fax benutzen,
wenn er etwas wichtiges mitzuteilen hat...

Damit meine User auch von Unterwegs aus immer
ohne Probleme Mails versenden können ist
SMTP-Auth implementiert.

Bei Postfix heissen die Zauberwörter:

strict_rfc821_envelopes = yes
smtpd_helo_required = yes
disable_vrfy_command = yes
smtpd_helo_restrictions = permit_mynetworks, reject_unknown_hostname
smtpd_client_restrictions =
smtpd_sender_restrictions =
smtpd_recipient_restrictions =
check_client_access hash:/etc/postfix/client_checks,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client pbl.spamhaus.org,
check_policy_service inet:127.0.0.1:2501,
permit

smtpd_data_restrictions =
reject_unauth_pipelining,
permit

Nachzulesen unter Postfix Configuration - UCE Controls.
Und schon sind ca. 90% der Spams weg.
1440*10% = 144 Spams pro Tag

Rund weitere 90% der Spams bekommt man weg,
wenn man Graylisting benutzt.
D.H: Zu zweifelhaften Absendern sagt man:
"Versuchs doch bitte in 5 Min. nochmal."
Ich benutze Sqlgrey.
144*10% = 15 Spams pro Tag

Bleibt nach Adam Riese nur noch rund 1-2% der Spam,
die es bis in unser System hinein geschafft haben.
Und bis hier her haben wir geblockt, nicht gefiltert.
Nur diese werden angenommen.

Rund weitere 95-98% fängt man durch einen guten Spam-Filter ab.
Schlechte haben Trefferquoten von nur rund 90%.
Ich benutze DSpam,
weil DSpam für jeden User eine eigene Vorstellung kennt,
von dem was Spam ist.
Der eine will schwule Mails, der andere nicht...
Es kann nicht sein, dass diese User sich einen Topf von Regeln teilen müssen.
Leider habe ich es nicht geschafft ein funktionierendes Blocking mit DSpam zu konfigurieren,
was durchaus möglich sein soll.
Ich brauche das aber nicht,
weil 15*5%= 1 Spam pro Tag.

Fazit:
Eine oder zwei Spams pro Tag, statt 1440 ist absolut machbar.
Auch wenn man seine E-Mail Adressen jahrelang so vergewaltigt hat wie ich,
dass sie jeder Spammer kennt.

Was Ihr in der Regel vergesst,
dass ist gesundes Blocking, vor dem Spamfilter.
Den Mut zu haben, zu einem Idioten "Nein, so nicht" zu sagen.

1440*90%= 144 Spams pro Tag.
ist Euer Ergenbnis, wenn Ich unterstelle, dass Ihr PowerUser seid,
daß Ihr zwar einen perfekten Filter benutzt aber kein sinnvolles Blocking.

Ohne RBLs änderst sich nicht viel am Spam-Aufkommen.
Nur die Anzahl der Mails die in das Greylisting laufen wird deutlich höher.
Aber es ändert nichts wesentlich am Endergebnis.
Nur die Anzahl der Mails, die 5 Min pausieren müssen erhöht sich deutlich.

IT-Berater der Regierung und Regierung:
Ich kann verstehen, dass Telebimm Probleme mit der Anzahl der Spam hat.
Bei Millionen von Kunden ist das nicht sooo einfach, wie bei mir.
Aber dass die Regierung mit ein paar hundert Usern Probleme hat,
dass kann nur daran liegen, dass Ihr Beamten mitsamt
Euren Beratern nicht wisst, wass ihr macht?
Ist es möglicherweise einfach nur so,
dass Ihr Beschwerdemails von Euren Mitbürgern mit "Spam" verwechselt?

Noch einer der weiss, wovon er spricht:
policyd-weight - A policy daemon for Postfix

Und der sich - im Gegensatz zu mir - sogar richtig Arbeit gemacht hat.
Ich habe nur bestehende Software konfiguriert und zusammengeklebt.

Links zu "Profis" findet Ihr in den Mailinglisten der entsprechenden Profi-Software:

http://www.postfix.org/docs.html

http://dspam.nuclearelephant.com/

 

__________________________________________________________________________________________________

Nachtrag vom  Apr 03 2008:

Dieser Artikel ist der meistgelesenste,
den ich jemals (auf dieser Site) geschrieben habe.
In 10 Monaten hatte er ca. 8.250 Leser.

Offensichtlich hat er auch etwas bewirkt...

Schon wenige Tage nach der Veröffentlichung hatte ihn ein
bekanntes deutsches Open Source Onlinemagazin kopiert
und ein wenig umgeschrieben.

Und nun:
Die T-Online hat am 26.03.08 die Kunden-Mailserver auf
ein solches Verfahren umgestellt.


und schon ist der Effekt sichtbar...
Cool. Das wird wirklich etwas bewirken.
(Warum, werde ich in einen weiteren Beitrag schreiben,
zusammen mit Tipps an Mail-Server-Provider,
wie man nun im nächsten Schritt,
noch besser gegen Spammer vorgehen kann.)

Auch einer der Heise-Redaktöre hat inzwischen meine Meinung übernommen...

Sinkendes Spam-Aufkommen erfreut E-Mail-Anwender


Dumm nur, dass sie die Kunden nicht informiert haben.
Mancher Kunde hat den ganzen Tag aufgewendet und den "Fehler" (ausbleibende SPAMs) zu suchen.
(
Ist aber auch sehr langweilig, wenn man stundenlang keine Spams bekommt.
Damit muss man sich erst einmal abfinden.

)


Diese Beiträge könnten Dich ebenso interessieren:

Letzte Aktualisierung ( Sonntag, 18. Juli 2010 )
 
Benutzer Bewertung: / 50
SchlechtSehr gut 
Weiter >
JoomlaWatch Stats 1.2.9 by Matej Koval
Powered by Gerstmann.Com