Det oprindelige design af DNS (Domain Name System) indeholdt ikke nogen form for sikkerhed, men var derimod planlagt til at være et skalerbart og fordelt system. DNSSEC (Domain Name System Security Extensions) forsøger at tilføje den manglende sikkerhed samtidig med, at det er bagudkompatibelt.
DNSSEC er designet til at beskytte internetklienter mod forfalskede DNS-data, der f.eks. kan blive indlagt via angreb af typen "DNS cache poisoning".
Alle DNSSEC-svar er signeret digitalt. Ved at kontrollere den digitale signatur er en DNS resolver i stand til at sikre sig, at informationen er identisk (korrekt og komplet) med den information, som findes på den tilhørende autoritative DNS-server.
Selvom sikringen af IP-adressen er det primære formål for mange brugere, så kan DNSSEC også beskytte al anden information, som kan lagres i en DNS-server. Det kan f.eks. være webcertifikater, DKIM-nøgler til mail og SSH-nøgler.
- DNSSEC giver ikke fortrolighed for data og beskytter ikke mod DoS-angreb.
- DNS zone transfer mellem servere er ikke beskyttet (men 'Best Practise' er at forbyde det - vi tillader derfor ikke zone transfer generelt)
DeiC tilbyder DNSSEC på vores autoritative DNS-servere.
Det giver institutionerne på forskningsnettet mulighed for at sikre deres egne domæner med DNSSEC. Institutioner kan enten lade forskningsnettet stå for vedligehold af domænet eller lade forskningsnettet være slaveserver for institutionens eget domæne.
Slaveserver for institutionernes eget domæne
For at komme igang med autoritativ DNSSEC med sit eget DK-domæne skal institutionen gennem følgende trin.
Vi forudsætter her, at man anvender BIND 9.18 eller nyere som DNS.
- Serveren sættes til at køre DNSSEC (dnssec-enable yes; )
- Zonefilen indlægges på serveren på traditionel vis.
- Der genereres to nøgler, ZSK og KSK, hver med en offentlig og en privat del (dnssec-keygen)
- Konfigurationsfilen for zonen justeres (auto-dnssec maintain; inline-signing yes; }
- Fra KSK-nøglen udtrækkes en "DS key" (dnssec-dsfromkey), som installeres hos Punktum.dk (tidl. DK-Hostmaster) via deres selvbetjeningsside.
Derefter startes BIND, som automatisk foretager en signering af domænet/zonen og overfører den signerede zone til eventuelle slaveservere, f.eks. forskningsnettets DNSSEC-servere.
Selve signeringen af zonen er blevet meget simpel, idet serveren kan foretage en såkaldt "inline signing". Der er dog fortsat behov for en jævnlig fornyelse af ZSK- (typisk hver tredie måned) og KSK- (typisk hver 12. måned) nøglerne i en såkaldt "rollover" proces. OBS: KSK-rollover kræver opdatering af DS key (som sidste punkt i installationen).
Det er vigtigt, at alle autoritative slaveservere kører DNSSEC for et givet domæne.
Forskningsnettets autoritative navneservere kan benyttes som autoritative slaveservere med DNSSEC. Henvendelse til dns@deic.dk.
DNSSEC cache
For at komme i gang med en cache DNSSEC server for sine lokale brugere vil nyere BIND 9-servere blot kræve følgende linier i serverens konfigurationsfil:
dnssec-enable yes; dnssec-validation yes;
Aftale
For at institutionen kan anvende DeiCs DNSSEC-servere, skal der indgås en aftale om det. Henvendelse bedes sendt til dns@deic.dk.