Publieke DNS malware-filters getest
Hoe goed scoren publieke DNS-resolvers die filteren op malware domeinen? Wij onderwierpen de grootste resolvers aan een uitgebreide test.
In een vorig blogartikel bespraken we het nut van een DNS-resolver die malware websites blokkeert. Maar hoe goed scoren publieke DNS-resolvers nu echt? Wij deden de test!
Wij hebben een groot aantal gratis publieke DNS-resolvers getest. Om deze DNS-resolvers te gebruiken, moet er geen account aangemaakt worden. We hebben zowel ongefilterde als gefilterde DNS-resolvers getest.
Lijst van malafide domeinnamen
Op de website van CERT Polen hebben we een lijst met 118.623 malafide domeinen gedownload. CERT Polen update deze lijst dagelijks en stelt deze gratis ter beschikking met als doel dat ISP's en systeembeheerders deze lijst kunnen gebruiken om hun netwerk te beschermen.
Van abusc.ch hebben we de lijst URLhaus met 11.902 malafide domeinen gedownload. Het doel van het abuse.ch project is het verzamelen, volgen en delen van malware-URL's, om netwerkbeheerders en beveiligingsanalisten te helpen hun netwerk en klanten te beschermen tegen cyberdreigingen.
Deze twee lijsten werden samengevoegd tot een lijst van 130.525 malafide hosts.
Geteste DNS-resolvers
De DNS-resolvers die we aan deze test onderworpen hebben, zijn:
- Google Public DNS - 8.8.8.8 (ongefilterd)
- Telenet - 195.130.130.139 (ongefilterd)
- Proximus - 91.183.123.173 (ongefilterd)
- OpenDNS - 208.67.222.222 (ongefilterd)
- Quad9 - 9.9.9.9 (malicious domain filter)
- Cloudflare for Families - 1.1.1.2 (malware filter)
- dns0.eu - 193.110.81.0 (malicious domain filter)
- dns0.eu ZERO - 193.110.81.9 (extra malicious domain filter)
- CleanBrowsing Security Filter - 185.228.168.9 (malicious domain filter)
- Comodo Secure DNS - 8.26.56.26 (malicious domain filter)
De ongefilterde DNS-resolvers zouden in principe alle domeinen moeten resolven en het bijhorende IP-adres retourneren. De DNS-resolvers die de requests filteren, zouden een leeg of een 0.0.0.0 IP-adres als resultaat moeten geven zodat het domein onbereikbaar is.
Waarop we de DNS-resolvers niet beoordelen
Wanneer je een DNS-resolver kiest, dan is het belangrijk om niet alleen stil te staan bij het aantal geblokkeerde domeinnamen uit deze test. Hou ook rekening met:
- Snelheid. Je netwerk maakt continu gebruik van DNS, dus zoveel te sneller de DNS-resolver is, zoveel te beter.
- Privacy. Worden er logs bijgehouden van je DNS aanvragen die met jou gelinkt kunnen worden? Onder welke wetgeving vallen zij? Hoe gaan zij om met aanvragen van overheden (hebben zij een transparantie rapport?)?
- Betrouwbaarheid. Hebben zij DNS servers in je omgeving? Hoe robuust is hun infrastructuur? Wat is hun uptime geschiedenis? Houden zij hun blocklists up-to-date?
- Zelfcontrole. De geteste DNS-resolvers zijn allemaal publieke DNS-resolvers die geen account vereisen. Je hebt zelf dus geen mogelijkheid voor het whitelisten of blacklisten van domeinen. Is dit een vereiste, dan moet je uitkijken naar betalende DNS-resolvers.
Verloop van de test
We schreven voor deze test een eenvoudig Bash script. Dit script deed:
- 10 pings naar iedere DNS-resolver om een gemiddelde ping-tijd te bekomen.
- Een test van 5 gekende websites die zeker niet in de malafide lijst voorkomen om te correctheid van de DNS-resolvers te bevestigen.
- Een controle van ieder malafide domein tegenover de ongefilterde DNS-resovler 1.1.1.1 om te controleren of het domein tenminste 1 A-record heeft.
- Als er minstens 1 A-record gevonden werd, dan werd het domein tegenover alle DNS-resolvers getest.
- Als de geteste DNS-resolver een geldig IP-adres retourneerde, dan werd dit in een CSV opgeslagen. Retourneerde de DNS-resolver geen waarde of het IP-adres 0.0.0.0 of 127.0.0.1, dan werd er geen waarde in de CSV opgeslagen.
Als de DNS-resolver geen waarde of de waarde 0.0.0.0 of 127.0.0.1 retourneerde, dan was dat een teken dat hij het domein niet resolvde. In dat geval gaan we ervan uit dat het domein bij de provider bekend is als 'malafide'.
Testresultaten
Cloudflare vond bij 44.542 hosts een A-record. Deze hosts werden vervolgens aangebonden tegenover de geteste publieke DNS-resolvers. Onderstaande tabel geeft in aantallen weer hoeveel hosts met een geldig IP-adres de DNS-resolver geretourneerd heeft en hoeveel procent er dus geblokkeerd werd. Dus zoveel te minder geldige hosts er gerouterneerd werden, zoveel te beter.
Provider | Cloudflare unfiltered | Google Public DNS | Telenet | Proximus | OpenDNS | Quad9 | Cloudflare for Families | dns0.eu | dns0.eu ZERO | CleanBrowsing Security Filter | Comodo Secure DNS |
---|---|---|---|---|---|---|---|---|---|---|---|
Geresolvde hosts | 44542 | 44516 | 44387 | 44458 | 44493 | 9713 | 38699 | 2510 | 2452 | 5762 | 44502 |
Niet geresolvde hosts | 0.00% | 0.06% | 0.35% | 0.19% | 0.11% | 78.19% | 13.12% | 94.36% | 94.50% | 87.06% | 0.09% |
Beide dns0.eu filters en CleanBrowsing Security Filter scoren het beste met de meeste geblokkeerde records. Quad9 maakt de top vier compleet. Maar daarna volgt een grote sprong.
Dat de niet-gefilterde DNS-resolvers slecht scoren, dat is normaal. Verrassend wel, is dat Cloudflare for Families slechts 13,12% van de domeinen weet te blokkeren. Comodo Secure DNS blijkt helemaal niet zo secure te zijn met zijn 0,09% van de domeinen die het herkent als malafide host.