Spam-Blocking mit DNSBLs

In Zeiten, wo die Flut an Spam-Mails die "normalen" Mails übersteigt, sollte man mit DNSBL bzw. RBL auf eine gute und bewährte Lösung gegen die schlimmsten Massen unerwünschter E-Mails setzen. Lesen Sie hier, wie Sie DNSBL für Sendmail und Postfix einrichten können:

Eine DNSBL ist eine DNS-basierende Blockliste, die manchmal auch als RBL (Realtime Blackhole List) bezeichnet wird. In einer solchen schwarzen Liste werden IP-Adressen von Rechnern aufgelistet, die in der Vergangenheit Junk-Mails, umgangssprachlich "Spam", versendet haben. Bei den Rechnern handelt es sich meistens um offene Mailserver, die nicht oder schlecht gewartet werden. Oder es handelt sich um Rechner, die von Trojanern befallen worden sind und möglicherweise auch zu einem bösartigen Botnetz gehören, das von Spammern missbraucht wird.

Für diese protokollbasierte Möglichkeit zur Spamabwehr gibt es verschiedene Listen; so betreiben verschiedene Einzelpersonen, Organisationen, Gruppen oder sogar Firmen eine eigene DNSBL. Eine solche muss übrigens nicht immer öffentlich zugängig sein, da diese Blackhole-Listen gelegentlich das Ziel von Angriffen von Spammern werden. Je nach Ziel bzw. Verwendung gibt es eine oder mehrere DNSBLs, die sich zur Verwendung empfehlen oder überhaupt nicht empfehlen, nicht jede DNSBL ist für jeden sinnvoll. Auf manchen dieser Listen befinden sich immer wieder auch größere Mail-Anbieter wie GMX oder Web.de, die ihrerseits sehr stark gegen Spam ankämpfen und eigentlich nicht aufgelistet werden sollten.

Administratoren und Benutzer des Mailservers Sendmail können DNSBLs verwenden, wie nachfolgend beschrieben: Loggen Sie sich als "root" auf Ihrem System ein und editieren Sie die Datei "sendmail.mc", diese sollte üblicherweise unter "/etc/mail/" zu finden sein. Fügen Sie die nachfolgenden Zeilen noch vor "MAILER(smtp)" ein und achten Sie bitte darauf, dass jeder DNSBL-Eintrag wirklich nur eine Zeile in der Datei ist:

dnl #
dnl # Do enhdnsbl or dnsbl using some blacklists
dnl #
FEATURE(`enhdnsbl', `zen.spamhaus.org', `"Message blocked; see: http://www.spamhaus.org/query/bl?ip="$&{client_addr}', `t')dnl
FEATURE(`enhdnsbl', `ix.dnsbl.manitu.net', `"Message blocked; see: http://www.dnsbl.manitu.net/lookup.php?value="$&{client_addr}', `t')dnl
FEATURE(`enhdnsbl', `combined.njabl.org', `"Message blocked; see: http://www.njabl.org/cgi-bin/lookup.cgi?query="$&{client_addr}', `t')dnl

Speichern Sie die Datei anschließend und führen Sie die nachfolgenden Befehle aus, damit die Änderungen sofort aktiv werden. Benutzer bei einer älteren Version des SuSE Linux Enterprise Servers bzw. openSUSE verwenden statt "service sendmail restart" am besten "rcsendmail restart", um Sendmail neu zu starten.

tux:~ # make all -C /etc/mail
make: Entering directory `/etc/mail'
make: Leaving directory `/etc/mail'
tux:~ # 
tux:~ # service sendmail restart
Shutting down sm-client:                                   [  OK  ]
Shutting down sendmail:                                    [  OK  ]
Starting sendmail:                                         [  OK  ]
Starting sm-client:                                        [  OK  ]
tux:~ # 

Wenn Ihr Mail Transfer Agent (MTA) nicht Sendmail, sondern Postfix ist, öffnen Sie bitte die Datei "/etc/postfix/main.cf", die manchmal auch "/etc/mail/main.cf" heißen kann, mit einem beliebigen Editor und erweitern Sie die Optionen der Variablen "smtpd_recipient_restrictions" wie folgt:

smtpd_recipient_restrictions =
  reject_rbl_client zen.spamhaus.org
  reject_rbl_client ix.dnsbl.manitu.net
  reject_rbl_client combined.njabl.org
# und jetzt folgen Ihre weiteren Angaben, z.B.
# permit_mynetworks
# check_sender_access hash:/etc/postfix/access
# reject_unauth_destination

Speichern Sie die Datei anschließend und führen Sie den nachfolgende Befehl aus, damit die Änderungen sofort aktiv werden. Benutzer bei einer älteren Version des SuSE Linux Enterprise Servers bzw. openSUSE verwenden statt "service postfix restart" am besten "rcpostfix restart", um Postfix neu zu starten.

tux:~ # service postfix restart
Shutting down postfix:                                     [  OK  ]
Starting postfix:                                          [  OK  ]
tux:~ # 

Diese oben aufgeführten DNSBLs setze ich übrigens selbst ein und ich möchte auch kurz erklären warum: Keine dieser Listen beinhaltet grundlos größere IP-Adressbereiche und auf große und vor allem seriöse Mail-Provider wird verzichtet. Zusätzlich können nicht zum Projekt gehörende Personen keine IP-Adressen hinzufügen und somit sehe ich diese Blacklisten als sehr gut gepflegt an - abgesehen davon, dass diese sehr schnell und aktuell sind.

Auf die einzelnen DNSBLs möchte ich noch kurz eingehen: zen.spamhaus.org ist eine universelle sehr hilfreiche Blackliste, die u.a. Einträge von relays.osirusoft.com, dnsbl.njabl.org, cbl.abuseat.org enthält und vereint. Eine Blackliste, die sehr häufig aktualisiert wird und hauptsächlich IP-Adressen von aktuellen Spammern enthält, ist ix.dnsbl.manitu.net, welche durch Bert Ungerer, Redakteur der Heise-Zeitschrift "iX", gepflegt wird. Der Teil von NJABL, der nicht über Spamhaus verfügbar ist, kann über combined.njabl.org abgefragt werden und enthält Blacklistings für dynamische IP-Adressen; zudem sind Einträge von dynablock.easynet.nl enthalten. Bitte beachten Sie, dass einige der DNSBLs, die von anderen mitumfasst werden, bereits nicht mehr existieren oder nur noch von historischer und informativer Belange sind.

Eine Spam-Blockliste, die man allerdings auf jeden Fall vermeiden sollte, ist rfc-ignorant.org, da der Betreiber auch Mailserver, die die RFC-Standards korrekt einhalten, aufnimmt. Im August 2005 wurden zudem sämtliche .de-Domains in die dortige Blackliste aufgenommen, da RFC-Ignorant.org der Ansicht ist, dass die DENIC eG gegen eine RFC verstößt. Weitere Informationen dazu finden sich in dem Heise-Artikel "Alle .de-Domains unter Spamverdacht".

Übrigens, auf http://www.declude.com/Articles.asp?ID=97 befindet sich eine sehr lange Liste mit diversen DNSBLs für die unterschiedlichsten Bereiche und Anwendungszwecke. Und die Möglichkeit für eine Multi-RBL-Prüfung, die Robtex unter http://www.robtex.com/rbl/3.15.197.123.html anbietet, finde ich sehr hilfreich, wenn es um die Suche nach neuen passenden DNSBLs geht; Robtex bezeichnet sich selbst als "Schweizer Taschenmesser fürs Internet".