Realtime Blackhole List reject_rbl_client mit Postfix

()

DNSBL Blackhole Abfrage reject_rbl_client, Realtime Blackhole Lists (RBL) sind öffentlich verfügbare Listen im Internet. Mit Adressen und Servern, von denen kürzlich schädliche und unerwünschte E-Mails oder verdächtige Aktivitäten ausgegangen sind, wie etwa der Versand von Spam- oder Phishing-E-Mails.

SPAM und Phishing E-Mails eindämmen

Blacklists entstanden, um die Flut unerwünschter E-Mails einzudämmen. Die in Spamtraps entdeckten IP-Adressen die auf Auffälligkeiten zurückführen, werden auf Schwarzen Listen gespeicher. E-Mail-Server gleichen bei empfangenen Nachrichten ab, ob der Absender auf einer Blacklist enthalten ist. Bei positiver Klassifizierung wird die E-Mail direkt in den Junk-E-Mail-Ordner verschoben oder gar nicht erst angenommen und vom E-Mail-Server verworfen.

dnsbl blackhole Abfrage reject_rbl_client

Die weitverbreiteten Open-Source Spam Filter SpamAssassin aus dem Apache Projekt, und der Postfix MTA (Mail Transfer Agent) für Unix und Unix-Derivate, eignen sich besonders gut für die Integration. In diesem Tutorial wird auf die Anwendung von Realtime Blackhole Lists (RBL) und DNS Based Realtime Blocklists (DNSBL) mit Postfix eingegangen.

DNS-based Blackhole List mit Postfix

Die Abfrage einer DNSBL ist, wie der Name bereits vermuten lässt, aus technischer Sicht eine DNS-Abfrage. Bei Postfix werden DNS-based Blackhole Lists in nahezu Echtzeit abgefragt, die DNSBLs werden in der Hauptkonfiguration/etc/postfix/main.cfeingetragen, meist untersmtpd_recipient_restrictionswie folgendes Beispiel zeigt.

smtpd_recipient_restrictions = permit_mynetworks,
        reject_unknown_recipient_domain,
        reject_unauth_pipelining,
        reject_unauth_destination,
        reject_rbl_client zen.spamhaus.org=127.0.0.[2..11],
        reject_rhsbl_sender dbl.spamhaus.org=127.0.1.[2..99],
        reject_rhsbl_helo dbl.spamhaus.org=127.0.1.[2..99],
        reject_rhsbl_reverse_client dbl.spamhaus.org=127.0.1.[2..99],
        warn_if_reject reject_rbl_client zen.spamhaus.org=127.255.255.[1..255],
        reject_rbl_client dnsbl-1.uceprotect.net,
        reject_rbl_client bl.0spam.org=127.0.0.[7..9],
        reject_unverified_recipient,
        Permit

Hier sind meist viele weitere Regeln für die Überprüfung der Kriterien enthalten, dieses Tutorial beschränkt sich auf die DNSBL Abfrage.

Je früher, desto besser – die Überprüfung wird noch vor Aufnahme in die Warteschlange durchgeführt, mit den Richtlinien:
smtpd_client_restrictions

smtpd_helo_required = yes
smtpd_helo_restrictions =
smtpd_sender_restrictions =
smtpd_client_restrictions = permit_mynetworks,
        reject_non_fqdn_hostname,
        reject_non_fqdn_helo_hostname,
        reject_invalid_helo_hostname,
        reject_non_fqdn_sender,
        reject_unauth_pipelining,
        reject_unknown_sender_domain,
        reject_unknown_hostname,
        reject_unknown_client,
        reject_invalid_hostname,
        reject_rbl_client dnsbl.sorbs.net,
        reject_rbl_client hostkarma.junkemailfilter.com=127.0.0.2,
        reject_rhsbl_sender hostkarma.junkemailfilter.com=127.0.0.2,
        reject_rhsbl_sender dsn.rfc-ignorant.org,
        Permit

Bei dieser Überprüfung erfolgt die DNSBL Abfrage noch vor schreiben in den Mail-Spool, dabei wird ein NOQUEUE: reject: zurückgegeben. Der Vorteil ergibt sich daraus, dass hier die Systemressourcen weniger beansprucht werden.

Wie nach jeder Änderung muss Postfix die Aktualisierung übernehmen.

$ postfix reload

DNSBL SBL-Konfiguration Testen

Der Blacklist-Testeintrag 127.0.0.2 ist die Loopback-Adresse der SBL-DNS-Zone wie „sbl.spamhaus.org“, die zum Testen der SBL-Konfiguration auf Mailservern verwendet wird. Diese werden auch in den meisten anderen DNSBL-Systemen als Standard-Testadresse für diese Zonen aufgeführt, wie von RFC5782 und RFC6471 empfohlen.

$ dig +short ANY 2.0.0.127.zen.spamhaus.org @your_dns
"https://www.spamhaus.org/sbl/query/SBL2"
"https://www.spamhaus.org/query/ip/127.0.0.2"
127.0.0.2
127.0.0.10
127.0.0.4

Hinweis: Bei Verwendung von „Public DNS-Resolver“ wie Google Public DNS (8.8.8.8), werden diese in den meisten Fällen mit „not listed“ (NXDOMAIN) antworten. Es wird empfohlen, den eigenen DNS-Server zu verwenden, wenn DNSBL-Anfragen an Spamhaus gestellt werden.

$ host 2.0.0.127.bl.0spam.org

Die Abfrage mit Reverse Loopback Adresse von bl.0spam.org.

$ host -tTXT 2.0.0.127.bl.0spam.org

Die Abfrage des TXT Records von 0spam.org gibt folgendes aus.

2.0.0.127.bl.0spam.org descriptive text "This listings is for RFC Compliance. See RFC 5782. For support and listing removal go to https://0spam.org Possible Values:  127.0.0.1(General Listings), 127.0.0.2(depreciated) 127.0.0.3(can-spam violators) 127.0.0.4(non RFC compliant) 127.0.0.5(repeat of" "fender) 127.0.0.6(bouncing email to the wrong server) 127.0.0.7(open relay) 127.0.0.8(bouncing spoofed emails) 127.0.0.9(fraud/scam, malware or illegal/abusive content)"

Einige DNSBL liefern nützliche Informationen, wie mehrere Loopback Adressen um die Abfragen gezielt zu testen.

$ dig +short TXT 2.0.0.127.hostkarma.junkemailfilter.com @8.8.8.8
"Black listed at hostkarma http://ipadmin.junkemailfilter.com/remove.php?ip=127.0.0.2"
"Black listed (authentication hacker) at hostkarma http://ipadmin.junkemailfilter.com/remove.php?ip=127.0.0.2"
"White listed 127.0.0.2 See http://wiki.junkemailfilter.com/index.php/Spam_DNS_Lists"
"Yellow listed 127.0.0.2 See http://wiki.junkemailfilter.com/index.php/Spam_DNS_Lists"

$ dig +short ANY 2.0.0.127.multi.surbl.org
127.0.0.254
"wild.surbl.org permanent test point"

$ dig +short ANY 2.0.0.127.psbl.surriel.com
"Listed in PSBL, see http://psbl.org/listing?ip=127.0.0.2"
127.0.0.2

$ dig +short ANY 2.0.0.127.dnsbl.sorbs.net
127.0.0.10
"Dynamic IP Addresses See: http://www.sorbs.net/lookup.shtml?127.0.0.2"
127.0.0.5
"Open SMTP Relay See: http://www.sorbs.net/lookup.shtml?127.0.0.2"
127.0.0.7
"Exploitable Server See: http://www.sorbs.net/lookup.shtml?127.0.0.2"
127.0.0.2
"HTTP Proxy See: http://www.sorbs.net/lookup.shtml?127.0.0.2"
127.0.0.3
"SOCKS Proxy See: http://www.sorbs.net/lookup.shtml?127.0.0.2"

$ dig +short ANY 2.0.0.127.bl.nordspam.com
"RFC5782 TEST-record."
127.0.0.2

$ dig +short ANY 2.0.0.127.truncate.gbudb.net
127.0.0.2
"Test Record"

Die Abfragen können eingegrenzt werden, um zum Beispiel nur die RBL-Adressen aus Deutschland zu erhalten mit de.bl.blocklist.de

$ host -t any 2.0.0.127.de.bl.blocklist.de
2.0.0.127.de.bl.blocklist.de has address 127.0.0.2
2.0.0.127.de.bl.blocklist.de descriptive text "Infected System, see http://www.blocklist.de/en/view.html?ip=127.0.0.2"

Mit bruteforcelogin.bl.blocklist.de werden IPs abgefragt, welche Joomla, WordPress und andere Web-Logins per Brute-Force angreifen, oder ftp.bl.blocklist.de fragt nur IPs ab, von welchen FTP-Angriffe verzeichnet wurden. Die einzelnen RBL Zonen und Abfragen findet man auf den Webseiten der jeweiligen DNSBL Anbieter. Auch werden Whitelist wie DNSWL genutzt um false-positives zu vermeiden.

dnsbl blackhole abfrage reject_rbl_client

DNSWL.ORG

E-Mail Reputation Protect against false positives

  DNS-based Blackhole List (DNSBL) erlauben nicht mehr als 1.000 Anfragen pro Sekunde, werden die Anfragen 1.000 pro Sekunde überschritten, sollte die rsync Methode angewendet werden.

$ rsync -z psbl-mirror.surriel.com::psbl/psbl.txt .

github Postfix main configuration main.cf

Nicht abschließende Tabelle einiger DNSBLs

Name der ListeWebseiteBlocklist Typ
nixspamnixspam.orgIP-basierend
spamhausspamhaus.org
sbl.spamhaus.org
xbl.spamhaus.org
dbl.spamhaus.org
zen.spamhaus.org
IP-basierend
Domain-basierend
Kombinierte Listen (SBL, SBLCSS, XBL, PBL)
CBLcbl.abuseat.orgIP-basierend
Spamcopspamcop.orgIP-basierend
SwiNOGswinog.chIP-basierend
SURBLsurbl.orgDomain-basierend
SORBSsorbs.netIP-basierend
URIBLuribl.comDomain-basierend
Mailspikemailspike.orgKombinierte Listen
Blocklist.deblocklist.deIP-basierend
Barracudacentralbarracudacentral.orgIP-basierend
UCEPROTECTwww.uceprotect.netIP-basierend
JunkEmailFilterjunkemailfilter.comIP-basierend
Domain-basierend
0spam0spam.orgIP-basierend
NordSpamnordspam.comIP-basierend
GBUdbgbudb.comIP-basierend

Fazit

Die dnsbl blackhole Abfrage reject_rbl_client sind im Allgemeinen die erste Verteidigungslinie gegen Spam. Die DNSLB Anbieter verfolgen dabei eigene Ansprüche auf Kriterien und Qualität, dabei müssen die Ergebnisse ermittelt werden, um die Wahl der DNSBLs treffen zu können, diese den eigens gesetzten Kriterien entsprechen. Die meisten Postmaster setzen auf Echtzeit DNS-basierte Blocklisten (DNS Based Realtime Blocklists; DNSBL). Unerwünschte E-Mails werden abgewiesen oder es lassen die Informationen aus einem Listing in das eigene Spamscoring übernehmen. Diese Verfahren sind technisch von der IETF beschrieben: https://tools.ietf.org/html/rfc5782

  • 0spam.org free DNSBL for eMail Service providers.
  • blocklist.de free and voluntary anti-fraud/abuse service.
  • spamhaus IP and domain reputation data.
  • surbl reputation data provided in near real-time feeds.
  • dnswl.org E-Mail Reputation Protect against false positives

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung / 5. Anzahl Bewertungen:

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

3 Gedanken zu „Realtime Blackhole List reject_rbl_client mit Postfix“

  1. Hallo, schön zusammengefasster Artikel. Mich würde interessieren ob Postfix die RBL Listen der Reihe nach abfragt und nach „first match“ die Abfrage beendet? Dann würde es Sinn machen die RBL Listen so anzuordnen, dass man die freien zu erst abfragt und die „limitierten“ hinten an stellt. Weißt Du wie der Ablauf da ist? Viele Grüße aus dem Norden

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert