Technitium heeft op 19 september DNS Server 15.5 uitgebracht. Volgens de makers repareert de update onder meer fouten waardoor aanvallers verkeerde antwoorden konden opslaan, de controle van digitale handtekeningen konden omzeilen of de server konden laten vastlopen. Een fout kon aanvragen voor een domein omleiden naar dat van een aanvaller. Ook de verwerking van versleutelde DNS-aanvragen kon vastlopen. Het gaat om software die internetadressen opzoekt. Zo’n probleem kan dus raken aan iets wat je nauwelijks ziet wanneer je een website opent. De releasebeschrijving vermeldt geen bevestigd misbruik in het wild; de opgesomde reparaties zijn meldingen van het project.
Voor wie is deze update?
Technitium is opensourcesoftware waarmee je zelf een DNS-dienst kunt draaien, bijvoorbeeld op een computer thuis. Het programma werkt op Windows, Linux en macOS en heeft een beheerpagina die je in je browser opent. Je kunt er onder meer aanvragen bekijken en domeinnamen mee blokkeren. Daarmee heb je invloed op apparaten die deze dienst gebruiken. Voor lezers in Nederland en België is dus vooral de inrichting van hun netwerk belangrijk: draai je deze software zelf, of beheert iemand anders de adresdienst? Een Technitium-update installeer je op de computer die deze dienst verzorgt, niet automatisch op iedere telefoon die erop vertrouwt.
Wat doet DNS op de achtergrond?
DNS betekent Domain Name System. Het koppelt een leesbare domeinnaam aan informatie zoals een IP-adres: het netwerkadres waarmee een apparaat contact kan leggen. De opzoekdienst heet een resolver. Die kan andere DNS-servers raadplegen en antwoorden tijdelijk bewaren in een cache, een soort geheugen voor eerdere vragen. Zo hoeft dezelfde zoektocht niet voor iedere aanvraag opnieuw. Bij opgeslagen gegevens hoort een bewaartermijn, de TTL. De oorspronkelijke DNS-specificatie beschrijft dit principe al in 1987. Het verklaart waarom dit geheugen belangrijk is: meerdere apparaten kunnen hetzelfde bewaarde antwoord gebruiken, zonder ieder afzonderlijk alle servers af te gaan.
DNSSEC controleert het antwoord
DNSSEC voegt digitale handtekeningen toe aan DNS-gegevens. De controlerende dienst volgt een keten van sleutels vanaf een vertrouwd beginpunt. Daardoor kan hij controleren of ondertekende gegevens bij de juiste afzender horen en onderweg niet zijn aangepast. Vergelijk het met een verzegeld adreskaartje waarvan je het zegel kunt controleren. Die vergelijking heeft een grens: de tekst op het kaartje wordt hierdoor niet geheim. Bovendien beschermt DNSSEC niet-ondertekende gegevens niet tegen vervalsing. De standaard uit 2005 maakt dat onderscheid expliciet. De aanwezigheid van een beveiligingsfunctie zegt dus pas iets als de controle ervan ook correct wordt uitgevoerd.
Versleutelde DNS heeft een andere taak
DNS over HTTPS, afgekort DoH, beschermt juist het verkeer tussen een apparaat en de gekozen DNS-dienst. Die verbinding wordt versleuteld en de identiteit van de server wordt gecontroleerd. Iemand die onderweg netwerkverkeer opvangt, kan de DNS-vraag daardoor niet eenvoudig meelezen of veranderen. Dat maakt het antwoord van de gekozen dienst op zichzelf nog niet betrouwbaar. De dienst ontvangt de vraag immers wel en moet die verwerken. De DoH-standaard uit 2018 bespreekt daarom ook privacy binnen de server: aanvragen kunnen daar aan elkaar worden gekoppeld. Versleuteling onderweg betekent niet dat de ontvanger niets over je vragen weet.
Een verkeerd adres omzeilt niet alle beveiliging
Een vervalst DNS-antwoord betekent niet automatisch dat een aanvaller ongemerkt een beveiligde website kan nadoen. Bij een HTTPS-verbinding hoort ook een controle van het certificaat van de website. Dat is een digitaal bewijs waarin de server zijn identiteit presenteert. De toepassing moet nagaan of die identiteit past bij de naam waarmee je verbinding wilde maken. De standaard voor deze controle uit 2023 schrijft voor hoe namen worden vergeleken en beschrijft dat een afwijking normaal tot een certificaatfout en het beëindigen van de verbinding leidt. Dit is een extra controle bij de websiteverbinding, geen vervanging voor een goed werkende adresdienst.
Bijwerken gebeurt op de server
Voor wie zelf Technitium beheert, hangt de bijwerkroute af van de installatie. De officiële Linux-handleiding beschrijft een installatieprogramma dat ook kan bijwerken. Bij handmatige installatie worden de programmabestanden vervangen en wordt de dienst herstart. Voor Docker, waarmee software in een apart beheerde omgeving draait, staan afzonderlijke stappen beschreven. Het onderscheid is praktisch: alleen je browser opnieuw openen vervangt de serversoftware niet. De handleiding wijst bovendien op mogelijke conflicten met een andere DNS-dienst op dezelfde computer. Controleer na een update dus of de dienst weer draait en raadpleeg bij problemen de logboeken; daarin staan de foutmeldingen.
Verder bij de bron
Lees zelf de onderzoeken, uitleg en aankondigingen achter dit verhaal.
- [1] Technitium — release 15.5 en bijbehorend wijzigingsoverzicht
- [2] Technitium — projectdocumentatie bij versie 15.5
- [3] IETF — DNS en tijdelijke opslag (RFC 1034)
- [4] IETF — wat DNSSEC beschermt (RFC 4033)
- [5] IETF — DNS over HTTPS (RFC 8484)
- [6] IETF — serveridentiteit controleren (RFC 9525)
- [7] Technitium — installeren en bijwerken op Linux

