DNSSEC

DNSSEC udvider domænenavnesystemet med sikkerhed via digitale signaturer.

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.

DeIC tilbyder DNSSEC på to 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.9 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 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 med BIND 9.9, idet serveren kan foretage en såkaldt "inline signing". Der er dog fortsat behov for en jævnlig fornyelse af ZSK- (3 måneder) og KSK- (12 måneder) nøglerne i en såkaldt "rollover" proces.

Det er vigtigt, at alle autoritative slaveservere kører DNSSEC for et givet domæne.

De nye autoritative DNSSEC servere har disse IP-navne:

  • a.ns.fsknet.dk
  • b.ns.fsknet.dk

De skal benyttes i de respektive NS records.

Hvis serverne er slaveservere for institutionen, skal den tillade zone transfer fra følgende adresser:

  • 130.225.245.202
  • 130.225.245.206
  • 2001:878:0:e000:82:e1:f5:ca
  • 2001:878:0:e000:82:e1:f5:ce

Bemærk, at disse IP-adresser ikke svarer til ovenstående IP-navne. Det skyldes, at de nye DNS-servere er baseret på to fysiske maskiner, hvorpå der kører to virtuelle DNS-servere med identiske IP-adresser. Brugerne vil så anvende den server, der routningsmæssigt er nærmeste.

DNSSEC cache

For at komme i gang med en cache DNSSEC server for sine lokale brugere vil en BIND 9.9-server blot kræve følgende linier i serverens konfigurationsfil:

dnssec-enable yes; dnssec-validation yes;

DNSSEC vil normalt kun kontrollere DNS-information mellem DNS-rodservere (.) og institutionens locale cache DNS-servere. Mellem cacheserver og klient er der ingen kontrol. Kontrol af det sidste trin vil kræve, at hver klient er sin egen cacheserver. Firefox har en DNSSEC plugin, som kan vise, om de DNS-opslag, den modtager fra en cacheserver, er korrekt signeret.

Aftale

For at institutionen kan anvende DeICs DNSSEC-servere, skal der indgås en aftale om det. Henvendelse bedes sendt til dns@deic.dk