Doorgaan naar inhoud

Draagbare router die uw privacy beschermt: DNS-Over-TLS-ondersteuning toevoegen aan OpenWRT (LEDE) met Unbound

Vandaag delen we een uitgebreide handleiding voor het instellen van DNS-Over-TLS op GL-AR750 geschreven door Junade Ali. Als u nog niet weet wat DNS-Over-TLS is, vindt u hier wat achtergrondinformatie:

Uw nieuwsgierige internetprovider kan al uw activiteiten op internet analyseren en die gegevens verkopen aan adverteerders en marketingbedrijven. DNS-Over-TLS is een nieuwe beveiligingstechniek voor surfen op het web die de privacy van gebruikers beschermt. De techniek versleutelt uw DNS-verzoeken en voorkomt het afluisteren en manipuleren van DNS-gegevens via man-in-the-middle-aanvallen.


Als u meteen naar de instructies wilt gaan, scrol dan naar de volgende sectie. Maar ik ben, net als een TLS-handshake, nogal uitvoerig, dus geniet gerust van deze inleiding.

Stel u deze situatie voor: ik zit in een restaurant en moet een privételefoongesprek voeren, maar helaas is de accu van mijn telefoon leeg. Om dit op te lossen, leen ik de telefoon van een vriend en bel ik het nummer. Voor mijn privacy loop ik naar buiten. Na het gesprek ga ik weer naar binnen en geef ik de telefoon terug.

De telefoon zelf slaat mijn gesprek niet op, maar bewaart wel het onlangs gebelde nummer. Als de vriend van wie ik de telefoon leende dat zou willen, kan hij eenvoudig zien wie ik heb gebeld, ook al kent hij het onderwerp van het gesprek niet.

Soms kunnen gegevens over met wie u hebt gesproken veel over het gesprek onthullen. Als iemand bijvoorbeeld een hulplijn voor emotionele ondersteuning of een incassobureau belt, kunt u uit het gebelde nummer waarschijnlijk veel over het gesprek afleiden.

Wanneer we op internet surfen, gebruiken we versleuteling om onze communicatie te beschermen. Als u via HTTPS verbinding maakt met een website, verschijnt er een groen slotje in uw browser. Dit geeft aan dat uw communicatie zo is versleuteld dat een aanvaller tussen u en de server van de website veel rekenkracht nodig heeft om te achterhalen waarover u communiceert.

Ik heb eerder geblogd over hoe deze versleuteling onder bepaalde omstandigheden kan worden verwijderd en welke maatregelen websites kunnen nemen om dat te voorkomen. Helaas is er een veel fundamenteler probleem voor online privacy.

Zoals algemeen bekend is in de IT, moet uw client een DNS-query uitvoeren voordat uw browser een HTTP-verbinding met een website maakt (bijvoorbeeld cloudflare.com). Zo bepaalt de client het IP-adres waarmee de HTTP-verbinding moet worden gemaakt. Hetzelfde geldt voor andere protocollen op de applicatielaag wanneer u verbinding maakt via een hostnaam in plaats van een IP-adres. Voor een introductie tot DNS vindt u in ons Learning Centre een artikel over de basisprincipes van DNS.

Diagram van een DNS-zoekopdracht

Versleutelingstechnieken voor HTTP bestaan al vrij lang, maar voor DNS zijn dergelijke technieken pas onlangs gestandaardiseerd. Als u niet weet of uw DNS-verkeer versleuteld is, is dat waarschijnlijk niet het geval.

In de praktijk betekent dit dat iemand die uw verbinding kan onderscheppen, kan zien welke website u zoekt wanneer u verbinding maakt met een HTTPS-website, ook al is uw communicatie versleuteld. Afhankelijk van de beveiliging van de website kan die persoon zelfs het antwoord manipuleren, zodat u met een andere server communiceert.

Dit is vooral nuttig voor afluisteraars: zowel voor de beheerder van een gratis Wi-Fi-hotspot die uw gegevens aan gerichte adverteerders wil verkopen, als voor de hacker die van een latte geniet terwijl hij uw netwerkverkeer onderschept (ironisch genoeg gekleed in een zwarte hoodie en een bivakmuts).

Door uw DNS-resolver te wijzigen naar de DNS-resolver van Cloudflare, kunt u sneller surfen en ervoor zorgen dat de beheerders van uw DNS-resolver die gegevens niet verkopen om u met advertenties te benaderen. Cloudflare Resolver ondersteunt zowel DNS-over-HTTPS als DNS-over-TLS, maar om de verbinding tussen u en Cloudflare Resolver te versleutelen, moet u mogelijk extra configuratiestappen uitvoeren, zoals het inschakelen van een DNS over HTTPS-client.

Dit blogartikel legt uit hoe u een OpenWRT-router configureert om uitgaand verkeer naar Cloudflare Resolver te versleutelen. Dit is vooral nuttig als u het verkeer wilt beschermen van apparaten in huis die mogelijk geen versleutelde DNS-protocollen ondersteunen, zoals uw tv of een broodrooster met IoT-functionaliteit. Lokale clients kunnen de lokale DNS-resolver van uw router nog steeds expliciet omzeilen, maar veel clients gebruiken deze standaard.

OpenWRT (LEDE)

IMG-3335-1

In het weekend voordat ik dit artikel schreef, bestelde ik een nieuwe draadloze router: de GL.iNet GL-AR750. Deze router is zeer compact, wordt verkocht als “reisrouter” en kan zowel als Wi-Fi-repeater als traditionele Wi-Fi-router fungeren. De langste zijde van de router is ongeveer even lang als mijn wijsvinger:

IMG-3360

Ik bestelde deze specifieke router niet alleen vanwege zijn formaat. OpenWRT is ook al geïnstalleerd: een ingebed besturingssysteem op basis van Linux dat zeer geschikt is voor routers. In mei 2016 werd OpenWRT afgesplitst als LEDE (Linux Embedded Development Environment) en in januari 2018 weer samengevoegd met het OpenWRT-project.

Als u geen router hebt waarop LEDE al is geïnstalleerd, kunt u dit blogartikel volgen met een andere router waarop OpenWRT-firmware kan worden geflasht. Meer informatie vindt u op de pagina OpenWRT Support Devices. Houd er wel rekening mee dat dit, afhankelijk van uw apparaat, enig risico kan meebrengen.

Ondersteuning voor DNS-over-TLS (of het ontbreken ervan)

De router waarmee ik experimenteer, heeft een optie voor het configureren van de upstream-DNS-resolver die wordt gebruikt als een query niet in de cache van de interne resolver staat. Deze lokale resolver wordt vervolgens voorgesteld aan clients die verbinding maken met de router.

Bij wijze van experiment kan ik deze router via de webinterface configureren om 1.1.1.1, 1.0.0.1, 2606:4700:4700::1111 en 2606:4700:4700::1001 als upstream-DNS-servers te gebruiken (waarbij de IPv6-adressen worden aangepast als het netwerk ze niet ondersteunt):

Schermafbeelding-2018-04-09-om-13.15.07

Door de WAN-poort van de router op mijn computer aan te sluiten, kan ik met Wireshark het uitgaande verkeer onderscheppen voordat het het daadwerkelijke WAN bereikt. Als een DNS-query niet in de cache van mijn router staat, wordt deze doorgestuurd naar 1.1.1.1. Omdat mijn router deze query's onversleuteld verzendt in plaats van DNS-over-TLS te gebruiken, kan ik zien dat deze DNS-query's onversleuteld over internet worden verstuurd:

Onversleutelde DNS

Hoewel Cloudflare Resolver DNS-over-TLS ondersteunt, doet mijn router dat helaas niet en verzendt hij alle query's gewoon onversleuteld.

DNS-Over-TLS instellen

LEDE gebruikt standaard de vooraf geïnstalleerde Dnsmasq als interne resolver en ondersteunt daarom geen DNS-over-TLS. Om onze verzoeken te versleutelen, vervangen we Dnsmasq door Unbound en odhcpd. Ik heb de stappen gebaseerd op de zeer nuttige documentatie van het OpenWRT-pakket Unbound.

Voordat we kunnen beginnen, moeten we via SSH inloggen op onze router. Als u om een wachtwoord wordt gevraagd, is dit waarschijnlijk hetzelfde wachtwoord als het wachtwoord dat u voor het webportaal hebt ingesteld:

Schermafbeelding-2018-04-09-om-13.06.26

LEDE gebruikt ​opkg​ als pakketbeheerder. Eerst werken we de pakketlijst bij; daarna installeren we Unbound met Unbound-Control en de volledige versie van odhcpd:

opkg update
opkg install unbound odhcpd unbound-control
opkg remove dnsmasq

U kunt daarnaast de Luci-app voor Unbound installeren als u deze via de standaardgebruikersinterface wilt beheren.

opkg install luci-app-unbound

Omdat mijn router momenteel geen standaardversie van LEDE gebruikt, verandert de gebruikersinterface niet als ik dit installeer. Ik heb deze module zelf niet getest.

Nu Unbound is geïnstalleerd, kunnen we configuratie toevoegen om ervoor te zorgen dat Unbound 1.1.1.1, 1.0.0.1, 2606:4700:4700::1111 en 2606:4700:4700::1001 als DNS-resolvers met TLS-versleuteling gebruikt. Ik heb hiervoor met Vim configuratie toegevoegd aan /etc/unbound/unbound_ext.conf :

forward-zone:
  name: "."
  forward-addr: 1.1.1.1@853
  forward-addr: 1.0.0.1@853
  forward-addr: 2606:4700:4700::1111@853
  forward-addr: 2606:4700:4700::1001@853
  forward-ssl-upstream: yes

In het Unbound-configuratiebestand /etc/config/unboundheb ik enkele vereiste configuratieparameters toegevoegd zoals beschreven in de pakketdocumentatie. In mijn geval heb ik een back-up van het configuratiebestand gemaakt en vervolgens eenvoudig het volgende gebruikt:

config unbound
  option add_local_fqdn '1'
  option add_wan_fqdn '1'
  option dhcp_link 'odhcpd'
  option dhcp4_slaac6 '1'
  option domain 'lan'
  option domain_type 'static'
  option listen_port '53'
  option rebind_protection '1'
  option unbound_control '1'

Als uw bestand aanvullende parameters bevat, controleer dan of niets de ingestelde parameters overschrijft. Let vooral op de parameter unbound_control .

Ik heb ook de volgende configuratie samengevoegd met /etc/config/dhcp (waarbij enkele bestaande vermeldingen intact bleven):

config dhcp 'lan'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option interface 'lan'
        option leasetime '12h'
        option ra 'server'
        option ra_management '1'

config odhcpd 'odhcpd'
        option maindhcp '1'
        option leasefile '/var/lib/odhcpd/dhcp.leases'
        option leasetrigger '/usr/lib/unbound/odhcpd.sh'

Tot slot kunnen we Unbound automatisch laten starten en de dienst starten:

service unbound enable
service unbound start

Hier is het bewijs: wanneer we DNS-query's tussen onze router en internet onderscheppen, zien we dat ze met TLS v1.2 zijn versleuteld:

Onversleutelde DNS

Conclusie

In dit blogartikel hebben we besproken hoe het versleutelen van uw DNS-verkeer de privacy tijdens het surfen op internet kan beschermen. Door Dnsmasq te vervangen door Unbound, kan OpenWRT DNS-over-TLS gebruiken om ons webverkeer te helpen versleutelen.


Hartelijk dank aan Junade Ali voor de toestemming om dit artikel op onze website te delen. Het artikel werd oorspronkelijk op 9 april 2018 gepubliceerd op de Cloudflare-website: https://blog.cloudflare.com/dns-over-tls-for-openwrt/

Over GL.iNet

GL.iNet, opgericht in 2010, is een toonaangevende leverancier van innovatieve routers en netwerkoplossingen. Van compacte reisrouters tot geavanceerde KVM-oplossingen op afstand: GL.iNet levert bekroonde netwerktechnologie die is ontworpen voor prestaties en veiligheid.

GL.iNet stelt mensen en organisaties in staat om met vertrouwen verbinding te maken. Door gebruikers zelf de controle te geven, ondersteunt GL.iNet de productiviteit en samenwerking die bijdragen aan een goed leven.

Vorig artikel MiFi op zonne-energie: veilig en milieuvriendelijk reizen
Volgend artikel GL.iNet voor het eerst op CeBit 2018

Producten vergelijken

{"one"=>"Selecteer 2 of 3 items om te vergelijken", "other"=>"{{ count }} van 3 items geselecteerd"}

Selecteer het eerste item om te vergelijken

Selecteer tweede item om te vergelijken

Selecteer derde item om te vergelijken

Vergelijken