What is a Real-time Blackhole List (RBL?
A DNS-based Blackhole List (DNSBL) or Real-time Blackhole List (RBL) is a list of IP addresses that are most often used to publish the addresses of computers or networks linked to spamming; most mail server software can be configured to reject or flag messages which have been sent from a site listed on one or more such lists.
This works pretty well for known and already categorized spammers, but what happens if a new spam campaign starts flooding your gateway as is not yet categorized?
Well in most cases the multi-layer antispam engine will block messages, but this analysis is resource-intensive, and in case of a massive attack could take your server down.
How it works
To operate a DNSBL requires three things: a domain to host it under, a nameserver for that domain, and a list of addresses to publish.
It is possible to serve a DNSBL using any general-purpose DNS server software. However, this is typically inefficient for zones containing large numbers of addresses, particularly DNSBLs which list entire Classless Inter-Domain Routing netblocks. For the large resource consumption when using software designed for the role of a Domain Name Server, there are role-specific software applications designed specifically for servers with a role of a DNS blacklist.
The hard part of operating a DNSBL is populating it with addresses. DNSBLs intended for public use usually have specific, published policies as to what a listing means, and must be operated accordingly to attain or sustain public confidence.
When a mail server receives a connection from a client and wishes to check that client against a DNSBL (let’s say, dnsbl.example.net), it does more or less the following:
- Take the client’s IP address—say, 192.168.42.23—and reverse the order of octets, yielding 126.96.36.199.
- Append the DNSBL’s domain name: 188.8.131.52.dnsbl.example.net.
- Look up this name in the DNS as a domain name (“A” record). This will return either an address, indicating that the client is listed; or an “NXDOMAIN” (“No such domain”) code, indicating that the client is not.
- Optionally, if the client is listed, look up the name as a text record (“TXT” record). Most DNSBLs publish information about why a client is listed as TXT records.
Looking up an address in a DNSBL is thus similar to looking it up in reverse-DNS. The differences are that a DNSBL lookup uses the “A” rather than the “PTR” record type, and uses a forward domain (such as dnsbl.example.net above) rather than the special reverse domain in-addr.arpa.
There is an informal protocol for the addresses returned by DNSBL queries that match. Most DNSBLs return an address in the 127.0.0.0/8 IP loopback network. The address 127.0.0.2 indicates a generic listing. Other addresses in this block may indicate something specific about the listing—that it indicates an open relay, proxy, spammer-owned host, etc. For details see RFC 5782.
A URI DNSBL query (and an RHSBL query) is fairly straightforward. The domain name to query is prepended to the DNS list host as follows:
where dnslist.example.com is the DNS list host and example.net is the queried domain. Generally, if an A record is returned the name is listed.
Different DNSBLs have different policies. DNSBL policies differ from one another on three fronts:
- Goals. What does the DNSBL seek to list? Is it a list of open-relay mail servers or open proxies—or of IP addresses known to send spam—or perhaps of IP addresses belonging to ISPs that harbor spammers?
- Nomination. How does the DNSBL discover addresses to list? Does it use nominations submitted by users? Spam-trap addresses or honeypots?
- Listing lifetime. How long does a listing last? Are they automatically expired, or only removed manually? What can the operator of a listed host do to have it delisted?
In addition to the different types of listed entities (IP addresses for traditional DNSBLs, host and domain names for RHSBLs, URIs for URIBLs) there is a wide range of semantic variations between lists as to what a listing means. List maintainers themselves have been divided on the issues of whether their listings should be seen as statements of objective fact or subjective opinion and on how their lists should best be used. As a result, there is no definitive taxonomy for DNSBLs. Some names defined here (e.g. “Yellow” and “NoBL”) are varieties that are not in widespread use and so the names themselves are not in widespread use but should be recognized by many spam control specialists.
White List / Allow List
A listing is an affirmative indication of essentially absolute trust
Black List / Block List
A listing is a negative indication of essentially absolute distrust
Most frequently seen as one word (greylist or greylisting) not involving DNSBLs directly, but using temporary deferral of mail from unfamiliar sources to allow for the development of a public reputation (such as DNSBL listings) or to discourage speed-focused spamming. Occasionally used to refer to actual DNSBLs on which listings denote distinct non-absolute levels and forms of trust or distrust.
A listing indicates that the source is known to produce a mixture of spam and non-spam to a degree that makes checking other DNSBLs of any sort useless.
A listing indicates that the source is believed to send no spam and should not be subjected to blacklist testing, but is not quite as trusted as a whitelisted source.
How Libraesva can help?
Libraesva ESG offers Local RBL Service to protect you in these situations.
Local RBL Service is an application that runs in the background. It maintains an hourly history going back 23 hours about each IP address that sends mail through ESG.
An IP address is decided to be blocked when it has sent more than a configured number of definite spam messages in the previous 23 hours and has not sent any definite ham messages. The IP address is then put into a table of blocked IP addresses together with information won when the record should expire (default after 120 hours).