DNSSEC: Hvad signering af dit domæne betyder for sikkerheden

Annonce

DNSSEC er en af de DNS-teknologier, der har eksisteret længst, og som stadig er mest underbrugt. For .dk-zonen har Punktum dk understøttet DNSSEC siden 2010, og selve TLD-zonen har været signeret i hele perioden. Alligevel viser optællinger, at langt under halvdelen af danske erhvervsdomæner har DNSSEC aktivt signeret. Det er en sikkerhedsforanstaltning, som de færreste tænker på, indtil noget går galt — og når det først går galt, er konsekvenserne svære at opdage.

Det er værd at forstå, hvad DNSSEC gør, hvad det ikke gør, og hvorfor det stadig er en god idé at aktivere det på dit domæne, selv om det ikke løser alle dine sikkerhedsproblemer.

Hvad er problemet, DNSSEC løser?

DNS er fundamentalt en tillidsbaseret protokol. Når din browser spørger en DNS-resolver: “Hvad er IP-adressen på `firma.dk`?”, svarer resolveren med en IP-adresse — og browseren stoler på svaret. Der er ingen indbygget mekanisme, der beviser, at svaret kommer fra den autoritative kilde, og at det ikke er blevet ændret undervejs.

Denne tillidsmodel kan udnyttes af angribere via en teknik, der hedder DNS cache poisoning. En angriber, der formår at indsætte et forkert svar i en DNS-resolvers cache, kan omdirigere alle brugere af den resolver til en server, han eller hun kontrollerer. For brugerne ser intet anderledes ud — adressen i browseren er stadig `firma.dk`, men trafikken går til en falsk version af sitet. Det kan bruges til at stjæle login-oplysninger, udskifte indhold, opsnappe e-mail eller installere malware.

Cache poisoning er ikke teoretisk. Det mest kendte eksempel er Kaminsky-angrebet fra 2008, som demonstrerede, hvor sårbar den daværende DNS-infrastruktur var. Det førte til hurtige patches, men disse patches gjorde det kun sværere — ikke umuligt — at gennemføre angrebet. DNSSEC er den eneste mekanisme, der løser problemet ved roden.

Sådan virker DNSSEC

DNSSEC tilføjer kryptografiske signaturer til DNS-svar. Hver autoritativ DNS-server, der understøtter DNSSEC, signerer sine svar med en privat nøgle. Den tilhørende offentlige nøgle ligger i DNS-zonen, og den er igen signeret af zonen ovenover — så `firma.dk`’s nøgle er signeret af `.dk`-zonen, som er signeret af root-zonen.

Resultatet er en kæde af tillid fra root ned til dit specifikke domæne. Når en validerende DNS-resolver modtager et svar om dit domæne, kan den verificere hele kæden — og hvis et hvilket som helst led i kæden ikke matcher, afvises svaret som potentielt manipuleret.

For .dk-domæner er den øverste del af kæden allerede på plads: root-zonen er signeret, og .dk-zonen er signeret af Punktum dk. Det eneste, der mangler for at fuldføre kæden for dit domæne, er, at:

1. Din nameserver-udbyder signerer din domænezone 2. Den tilhørende offentlige nøgle (DS-record) registreres hos Punktum dk via din registrar

Begge dele håndteres oftest automatisk hos en moderne dansk udbyder, men det kræver, at du beder om det — eller verificerer, at det allerede er aktivt.

Hvad DNSSEC ikke beskytter mod

Det er værd at være præcis med, hvad DNSSEC faktisk gør og ikke gør, fordi der er en del misforståelser i omløb.

DNSSEC beskytter integriteten af DNS-svar. Det garanterer, at det svar, du modtager om en DNSSEC-signeret zone, kommer fra den rette autoritative kilde og ikke er blevet ændret undervejs.

DNSSEC beskytter ikke:

Fortroligheden af DNS-trafik. DNS-forespørgsler er stadig synlige for alle, der kan aflytte netværkstrafikken. Det løses af andre teknologier som DNS over HTTPS (DoH) eller DNS over TLS (DoT). – Selve hjemmesidens indhold. Hvis din webserver bliver hacket, hjælper DNSSEC dig ikke. Det er HTTPS, server-hærdning og applikationssikkerhed, der løser det problem. – E-mail-integritet. Det er SPF, DKIM og DMARC, der dækker det område, ikke DNSSEC. – Phishing fra ligheder. Hvis nogen registrerer `firma-dk.dk` og bygger en kopi af dit site, hjælper DNSSEC ikke. Det er et brand-beskyttelsesproblem, ikke et DNS-problem.

DNSSEC er ét lag i en samlet sikkerhedsarkitektur. Det er ikke en erstatning for de andre lag — men det er et lag, der løser et specifikt problem, som ingen andre lag løser.

Hvorfor er det stadig så lidt udbredt?

Hvis DNSSEC er så vigtigt, hvorfor er det så ikke standardpraksis? Der er nogle praktiske grunde.

Kompleksitet i implementering. DNSSEC kræver, at både din nameserver-udbyder og din registrar understøtter teknologien, og at de to systemer kommunikerer korrekt om nøgler og DS-records. Hvis de ikke gør det, eller hvis nøgler roteres uden ordentlig koordinering, kan dit domæne blive utilgængeligt — den såkaldte “DNSSEC bogeyman”.

Mindre kontrol over driften. Hos billige udbydere, hvor DNS-administration er begrænset, er DNSSEC ofte ikke en valgmulighed. Det kræver en udbyder, der både teknisk understøtter det og driftsmæssigt vedligeholder nøglerne korrekt over tid.

Lav synlig værdi. DNSSEC løser et problem, der ikke er synligt i hverdagen. Modsat HTTPS, hvor browsere viser advarsler og hængelåse, signaleres DNSSEC-status ikke til slutbrugeren. Det gør det svært at retfærdiggøre arbejdsindsatsen, hvis ingen ser forskellen.

Sådan kommer du i gang

Det første skridt er at finde ud af, om dit domæne allerede er signeret. Du kan tjekke det via værktøjer som dnssec-analyzer.verisignlabs.comReklamelink ved at indtaste dit domænenavn. Får du grønne flueben hele vejen ned, er du dækket. Får du røde kryds, er der noget at gøre.

Hvis dit nuværende setup ikke understøtter DNSSEC, er det værd at overveje en udbyder, hvor det er en del af standardproduktet. Hos NetsiteReklamelink kan DNSSEC aktiveres på .dk-domæner direkte fra kontrolpanelet, og nøgleadministrationen håndteres automatisk uden, at du skal forholde dig til DS-records og rotation.

DNSSEC er ikke en revolution. Det er et lag, der løser et specifikt og reelt problem — og det er et lag, der er værd at have på plads, før du har brug for det. Når et angreb først rammer, er det for sent at signere zonen i panik.