You are on page 1of 60

DNSSEC Roadshow .

SN
DNSSEC

Pourquoi et dtails du protocole


Alain Patrick AINA
aalain@trstech.net

Pourquoi DNSSEC
p Une

bonne scurit est multicouche

De multiples cycles de dfenses physiques des


systmes scuriss
n Couches multiples dans le monde de gestion
des rseaux
n

p Infrastructure

DNS

DNSSEC pour constituer une barrire contre


les attaques bases sur le DNS.
n Fournit un anneau de scurit autour de
plusieurs systmes et applications
n

Le Problme
o
o

Les donnes DNS publies sont remplaces en


transit entre serveurs et clients.
Ceci peut se produire plusieurs endroits dans
l architecture DNS

DNS utilise UDP, beaucoup plus facile falsifier


Certains endroits sont plus vulnrables que d autres
Les vulnrabilits dans les logiciels DNS facilitent les attaques
(et il y aura toujours de vulnrabilits de logiciel)

Carences dans le protocole DNS et dans les


dploiements classiques crent quelques
faiblesses.

Le Query ID est de 16 bits (0-65535)


Manque de randomisation de port source (16 bits) et de
Query ID de paquets UDP dans certains dploiements.

Le Problme(suite)
o

Les attaques de Kaminsky publies en 07/2008 ont montr


comment ces faiblesses peuvent tre exploites pour des
attaques de pollution de cache

Panique (bien que tout cela soit connu depuis!!! )


Contournements pour contenir la situation
Randomisation de port source/Query ID
Recommandations pour le dploiement DNS

http://www.kb.cert.org/vuls/id/800113
La Solution ????
DNSSEC

Et ainsi, DNSSEC est dsormais connu comme un lment


critique de la scurit du DNS.

Architecture

Registrars/
Registrants

DNS

As friend
secondary

As ISP
Cache server

Registry DB

primary

As DNS provider
Provisioning

client
secondary

DNS Protocol

DNS
Mouvement des donnes

Fichier de
zone

Mise jour
dynamiques

matre

Cache/forwarder

Esclaves
Resolver

Rsolution DNS
Question: www.ripe.net A
www.ripe.net A ?
www.ripe.net A ?

Resolver

192.168.5.10

Serveurs racine

Demande aux serveurs net @ X.gtld-servers.net (+ glue)

Cache
forwarder
(rcursif)

www.ripe.net A ?

Serveurs-gtld

Demande aux serveurs ripe @ ns.ripe.net (+ glue)


Ajout au cache

www.ripe.net A ?
192.168.5.10

Serveurs-ripe

Registrars
Registrants

Points de vulnrabilit DNS


Server compromise
Inter-server
communication

Cache Poisoning

Registry DB

Provisioning

DNS Protocol

Cache-Stub resolver
communication

Exemple:
Scan de mail non autoris

Subject: tenure

Astrophysics
Mail Server
Where?
There!
DNS

Central Admin
Mail Server

Exemple:
Scan de mail non autoris

Subject: tenure

Astrophysics
Mail Server

Central Admin
Mail Server

Elsewhere

Where?

DNS

Bad Guy

Attaques de Kaminsky

Attaques de Kaminsky (suite)

O intervient DNSSEC?
o

DNSSEC scurise le mappage des noms en


adresses IP, etc...

La scurit au niveau transport et applicatif est du


ressort d autres couches.

Proprits de DNSSEC
o

DNSSEC fournit l authentification de message et la


vrification d intgrit travers des signatures
cryptographiques

o
o

Source DNS Authentique


Pas de modifications entre signature et validation

Il ne fournit pas d autorisation


Il ne prvoit pas la confidentialit

Registrars
Registrants

Protection de DNSSEC
Server compromise
Inter-server
communication

Cache Poisoning

Registry DB

Provisioning

DNS Protocol

Cache-Stub resolver
communication

Registrars
Registrants

Protection de DNSSEC
enveloppe scelle

vrification du scell

Registry DB

Provisioning

DNS Protocol

vrification du scell

Bienfaits secondaires du DNSSEC


o

DNSSEC Fournit un chemin de confiance


indpendante

La personne qui administre https est certainement diffrente


de la personne qui fait DNSSEC
Les chanes de confiance sont probablement diffrentes

Bienfaits secondaires du DNSSEC


o

(suite)

Avec une plus grande confiance dans le DNS


o

On peut assurer des ngociations et changes de cls


o
Enregistrements SSHFP, IPSECKEY, X509 CERTS
o
Groupe de travail IETF DANE

Attaques contre les PKI

Attaques contre les PKI(suite)

Autre mcanismes de scurit DNS


o

Nous avons parle de la protection des donnes

La technologie de l'enveloppe scelle

Il y a aussi la composante de scurit du transport

Utile pour les communications bilatrales entre machines


TSIG ou SIG0

Registrars
Registrants

Protection de TSIG/SIG0
Server compromise
Inter-server
communication

Cache Poisoning

Registry DB

Provisioning

DNS Protocol

Cache-Stub resolver
communication

DNSSEC en une page


o

L authenticit et l intgrit de donnes par la signature


des ensembles de ressource Record avec la cl
prive

La cl publique est utilise pour vrifier les RRSIGs

L enfant signe sa zone avec sa cl prive

L authenticit de cette cl est dtermine par la signature de


contrle du parent (DS)

Cas idal: une cl publique distribue

Authenticit et Intgrit
o
o
o
o

Nous voulons vrifier l authenticit et l'intgrit des


donnes DNS
Authenticit: Est ce la donne publie par l entit
suppose autoritaire ?
Intgrit: Est ce la donne reue conforme celle
publie ?
La cryptographie cl publique aide rpondre
ces questions

On peut utiliser les signatures pour vrifier l intgrit et


l authenticit de donne

On peut vrifier l authenticit des signatures

Cryptographie cl publique
o
o

Utilise deux cls : une prive et une publique


Bref:

Si tu connais la cl publique, tu peux dchiffrer une


donne chiffre avec la cl prive

Si tu connais la cl prive, tu peux dchiffrer une donne


chiffre avec la cl publique.

Signature et vrification de signature

Confidentialit

DNSSEC utilise seulement les signatures

PGP utilise les deux techniques

Cryptographie cl
publique (suite)
o

o
o
o

La scurit du systme de cryptographie est base sur


un tas d quations mathmatiques dont la rsolution
demande le parcours d'un grand espace de solution
(ex. factorisation)
Algorithmes : DSA, RSA, elliptic curve, etc..
Les cls publiques ont besoin d tre distribues.
Les cls prives ont besoin d tre gardes secrtes
Pas vident
La cryptographie cl publique est lente

Nouveaux ER pour DNSSEC


o

3 Enregistrements de Ressource base de cl publique

1 ER pour la consistance interne

RRSIG: Signature d'un jeu de ER faite avec la cl prive


DNSKEY: Cl publique, ncessaire pour la vrification d'un RRSIG
DS: Delegation Signer: Pointeur de construction de chane
de confiance
NSEC: ER pour indiquer le nom suivant dans la zone et quel type
de ER sont disponibles pour le nom actuel
Authentifie la non existence de donnes

Pour des cls publiques non DNSSEC : CERT/IPSECKEY(?)

ERs et jeu de ERs


o

Enregistrement de ressource:

labelclass

www.ripe.net
o

ttl type rdata

IN 7200 A 192.168.10.3
Tout les ERs d un label donn, class , type
forment un jeu de ER:
www.ripe.net
IN 7200 A 192.168.10.3
A 10.0.0.3
Dans DNSSEC, ce sont les jeux de ER qui sont signs
et non les ERs individuels

RDATA de DNSKEY
o
o
o
o

16 bits FLAGS
(0,256,257)
8 bits protocole
(3: DNSSEC)
8 bits algorithme
(1: RSA/MD5, 2: DH, 3: DSA, 4:
Elliptic curve, 5: RSA/SHA1, etc...)
Cl publique N*32 bits

Exemples:
ripe.net. 3600 IN DNSKEY 256 3 5 (
AQOvhvXXU61Pr8sCwELcqqq1g4JJ
CALG4C9EtraBKVd+vGIF/unwigfLOA
O3nHp/cgGrG6gJYe8OWKYNgq3kDChN)

RSA/SHA-256 est recommand comme remplacant de RSA/SHA1

RDATA de RRSIG

16 bits type couvert


8 bits algorithme
8 bits labels couvert
32 bit TTL originel

32 bit expiration de
signature
32 bit dbut de validit de
signature
16 bit ID de cl
Nom du signataire

www.ripe.net. 3600 IN RRSIG A 1 3 3600


20010504144523 (
20010404144523 3112 ripe.net.
VJ+8ijXvbrTLeoAiEk/qMrdudRnYZM1VlqhN
vhYuAcYKe2X/jqYfMfjfSUrmhPo+0/GOZjW
66DJubZPmNSYXw== )

RDATA de NSEC
Nom suivant dans la zone
o Liste galement les types de ER existants pour
un nom
o L'enregistrement NSEC du dernier nom pointe
vers le premier nom dans la zone
o Exemple:
o

www.ripe.net. 3600 IN NSEC ripe.net. A RRSIG NSEC

Enregistrement NSEC

Authentification de la non-existence de type et de labels

Exemple de la zone ripe.net (Sans les RRSIG):

ripe.net.

mailbox

www

SOA
..
NS NS.ripe.net.
DNSKEY ............
NSEC
mailbox DNSKEY NS NSEC RRSIG SOA
A
192.168.10.2
NSEC
www A NSEC RRSIG
192.168.10.3

NSEC

ripe.net A NSEC RRSIG

dig smtp.ripe.net donnerait: aa

RCODE=NXDOMAIN

autorit: mailbox.ripe.net. NSEC www.ripe.net. A NSEC RRSIG


dig www.ripe.net MX donnerait: aa RCODE=NO ERROR
autorit: www.ripe.net. NSEC ripe.net. A NSEC RRSIG

Delegation Signer: DS
o
o
o
o
o

Indique que la zone dlgue est digitalement signe


Essentiellement un pointeur vers la cl suivante dans la
chane de confiance
Le Parent est autoritaire pour le DS des zones enfant
Le DS ne doit pas tre publi dans la zone enfant.
Rgle beaucoup de problmes
Renouvellement de cls

Delegation Signer: DS (suite)


o
o

DS : Le parent donne l autorit de signer les ERs de la


zone enfant en utilisant le DS
Est un pointeur vers la prochaine cl dans la chane
de confiance
Tu fais confiance une donne qui est signe en
utilisant une cl vers laquelle pointe le DS

RDATA du DS

16 bits ID de la cl de l'enfant
Ce champ indique la cl
8 bits algorithme
suivante dans la chane de
8 bits type de digest
confiance

XX octets de digest

o
o

$ORIGIN ripe.net.
disi.ripe.net
3600 IN
disi.ripe.net.
3600 IN

NS
ns.disi.ripe.net
DS 3112 5 1 (

239af98b923c023371b521g23b92da12f42162b1a9
)

Signature de zone
o

La signature accomplit les taches suivantes

Trier la zone

Insrer les enregistrement NSEC


Insrer RRSIG contenant une signature pour chaque
d enregistrement de ressource.

La signature est faite avec la cl prive

jeu

Dlgation de zone signe


o

Le Parent signe l enregistrement DS pointant vers un


ensemble de cls de signature de cls

Cl de signature de cl

$ORIGIN net.

$ORIGIN kids.net.
@ NS
ns1.kids
RRSIG NS () kids.net.
DNSKEY () (1234)
DNSKEY () (3456)
RRSIG DNSKEY 1234 kids.net
RRSIG DNSKEY 3456 kids.net

kids NS
ns1.kids
DS () 1234
RRSIG DS ()net.
money NS
ns1.money
DS
()
Cl de signature de zone
RRSIG DS ()
net.
beth
ns1

A 127.0.10.1
RRSIG A () 3456 kids.net.
A 127.0.10.3
RRSIG A () 3456 kids.net.

KSK/ZSK
o
o
o
o
o
o

Deux diffrentes cls sont utilises


DS pointe vers la cl de signature de cl(KSK)
Le KSK signe les cls
La zone est signe avec la cl de signature de zone(ZSK)
KSK peut tre plus grande avec une grande dure de vie
ZSK peut avoir une dure de vie courte
Peut tre petit = rapidit

KSK/ZSK

draft-ietf-dnsop-rfc4641bis-01.txt suggre

1024 bits par dfaut


2048 pour les niveaux Trust Anchor ou cls difficiles
changer
RSA/SHA-256 ds que possible
Utiliser Une bonne source de nombre alatoire
RFC4086
NIST SP 800-90
Renouvellement des KSK chaque 12 mois, mme si elles
sont valides pour 2 dcennies
Renouvellement de ZSK chaque mois

Chane de confiance
o

Les donnes dans les zones peuvent tre valides si elles sont
signes par une ZSK

La ZSK ne peut tre valide que si elle est signe par une KSK
La KSK ne peut digne de confiance que si elle rfrence par
un enregistrement DS de confiance

o
o

Un enregistrement DS ne peut tre valide que s'il est sign par


la ZSK du parent ou

Une KSK peut tre valide si elle est change hors bande
(Trusted key)

Chane de confiance
Configuration locale
Trusted key: . 8907

$ORIGIN .

DNSKEY () lasE5 (2983)


DNSKEY () 5TQ3s (8907)
RRSIG KEY () 8907 . 69Hw9..

Cl de signature de zone
Cl de signature de cl
$ORIGIN net.

net. DS 7834 3 1ab15


RRSIG DS () . 2983

$ORIGIN ripe.net.
ripe.net. DNSKEY () sovP242 (1234)
DNSKEY () rwx002 (4252)
RRSIG KEY () 4252 ripe.net. 5tUcwU...
www.ripe.net. A 193.0.0.202
RRSIG A () 1234 ripe.net. a3Ud...

net. DNSKEY () q3dEw (7834)


DNSKEY () 5TQ3s (5612)
RRSIG KEY () 7834 net. cMaso3Ud...

ripe.net. DS 4252 3 1ab15


RRSIG DS () net. 5612

Scurisation de l'arborescence du DNS


o

Problme de distribution de cls


.

com.

net.
money.net. kids.net.
corp
dev

dop

market dilbert

marnick

os.net.
mac

unix

nt

change de cls hors bande.

Des zones non scurises


o

L vidence cryptographique de l tat non scuris


d une zone est fournie par le parent

S'il n y a pas d enregistrement DS, comme prouv par


un enregistrement NSEC avec une signature valide,
l enfant n est pas scuris.

Un enfant peut contenir des signatures,mais celles-ci


ne seront pas utilises pour construire une chane de
confiance

Bit AD
o

Un bit d'tat dans la section header des paquets DNS

Non utilis avant DNSSEC(devrait tre zro)

Utilis uniquement dans les rponses d'un serveur de validation

o Le bit AD n'est pas positionner par un serveur autoritaire


sauf pour des donnes qu'il contrle et s'il est configur
pour..
o AD = Authenticated data(donne authentique)

Bit CD
o

Un bit d'tat dans la section header des paquets


DNS

Non utilis avant DNSSEC(devrait tre zro)

CD = Checking Disable (validation dsactive)

1= validation dsactive
Le resolver accepte des rponses non vrifies

0= validation active
Le resolver veut des rponses vrifies pour les donnes
signes,mais accepte les rponses non vrifies pour les
donnes non signes

Bit D0
o

Un bit d'tat dans la section header des paquets


DNS

Non utilis avant DNSSEC (devrait tre zro)

1= le resolver veut les enregistrements DNSSEC


0= le resolver ne veut pas les enregistrements DNSSEC

Utilisation du DNS pour distribuer les cls


o

Les les scurises rendent problmatique la distribution de cls

Distribution de cls par le biais du DNS:

Utiliser une cl de confiance pour tablir l authenticit des


autres cls

Construire des chanes de confiance de la racine vers le bas

Les parents ont besoin de signer les cls de leurs enfants

Seul la cl racine est ncessaire dans un monde idal

Les parents dlguent toujours la scurit l enfant


... Mais il n'est pas intressant de signer votre zone si le parent ne
signe pas ou n'est pas sign ...

Utilisation du DNS pour


distribuer les cls
o

Construction des chanes de confiance de la racine


vers le bas de l arborescence DNS

Outils:
ERs: DSNKEY, RRSSIG, DS, NSEC
Configuration manuelle des cls de la racine

Adoption DNSSEC ccTLDs and gTLDs

http://www.ohmo.to/dnssec/maps/

03/10/2014

Tches de dploiement de DNSSEC


o

Politiques et outils de gestion des cls

o
o
o

Utilisation et protection de la cl prive


Distribution de la cl publique

Signature et Intgration de zone dans la chane


d approvisionnement
Infrastructure de serveurs DNS
Dlgation scurise des modifications du registre

Interfaage avec les clients

Modification de l Architecture
DNSSEC

o RENOUVELLEMENT

DE CLES

CLES PRIVEES
o
o

Vous devez garder votre cl prive secrte


La cl prive peut tre compromise

Mettre la cl sur une machine isole derrire pare-feu et un


contrle d'accs solide

Reconstruction de cl prive (Analyse de


cryptographie)

Nombre alatoire pas vraiment alatoire

Dfaillance du matriel de cl
Attaques brutales

RENOUVELLEMENT DE CLES
o

o
o

Minimiser l'impact

Courte validit des signatures

Renouvellement rgulier des cls

NB: Les cls n'ont pas de tampons horaires en elles; Les


RRSIG sur les cls ont des tampons horaires
La renouvellement de cls implique d autres parties

L tat doit tre maintenu pendant le renouvellement


pas toujours flexible

RENOUVELLEMENT DE CLES (suite)


o

Avec la distinction de ZSK du KSK, il est maintenant


possible de remplacer le ZSK sans affecter le parent

Ceci est une forme de renouvellement de cl

Il suffit seulement de re-signer le jeu ER du DNSKEY avec le


KSK inchang.
On peut aussi remplacer le KSK

Il est ncessaire d'avoir temporairement les deux cls


(ancienne et nouvelle) prsentes dans la zone

Assurer la transition

Jusqu' expiration des RRSIG gnres par l'ancienne cl

CHANGEMENT DE CLES
NON PROGRAMME
o
o
o
o

A besoin de communication hors-canal


n Avec le parent et les resolvers prconfigurs
Le parent a besoin de vrifier de nouveau votre identit
Comment protger les dlgations des enfants
n Non scurises?
Il y aura une priode o la cl vole peut tre utilise pour
gnrer des donnes scurises
n Il n'y a pas de mcanisme de rvocation de cl
Une procdure d'urgence doit tre en place

Quelques Hics avec DNSSEC


o

o
o

Ne protge pas contre les attaques de dni de service; mais en


augmente les risques

Charge de travail cryptographique

Longeur des message DNS

RFC5358

Ne protge pas les ERs non signs(donnes non autoritaires aux


points de dlgation)

NS et glue dans la zone parent

Il faut protger les transferts de zone par autres techniques

Ajoute de la complexit au DNS, augmentant ainsi les risques


de mauvaises configurations
Comment se fera la distribution et le renouvellement du Trust
Anchor(KSK de la racine) ?

RFC5011 ??

Quelques Hics avec DNSSEC


o

DNSSEC introduit un mcanisme qui permet de lister tous les


noms d'une zone en suivant la chane NSEC

Certains firewalls/middle box ne supportent pas des paquets


DNS > 512 Octets(edns0)

o
o

NSEC3 si le zonewalk est un problme pour vous

Beaucoup sont reconfigurables

Certains Firewalls/middle box ont des soucis avec les bits


AD,CD,DO
Certains vieux resolvers peuvent avoir des soucis avec le bit AD

Faire mettre le bit AD dans les requtes pour signaler l'tat des
resolvers ?

Lectures
o
o
o

http://www.bind9.net/manuals
http://www.dnssec.net
RFC (http://www.rfc-editor.org)

RFC 3833 (Vulnrabilits du DNS)


RFC 4033
RFC 4034
RFC4035
RFC4641
http://tools.ietf.org/id/draft-ietf-dnsop-rfc4641bis-01.txt

Questions?

You might also like