Vous êtes sur la page 1sur 60

DNSSEC Roadshow .

SN
DNSSEC
Pourquoi et dtails du protocole

Alain Patrick AINA


aalain@trstech.net
Pourquoi DNSSEC
p Une bonne scurit est multicouche
n De multiples cycles de dfenses physiques des
systmes scuriss
n Couches multiples dans le monde de gestion
des rseaux
p Infrastructure DNS
n DNSSEC pour constituer une barrire contre
les attaques bases sur le DNS.
n Fournit un anneau de scurit autour de
plusieurs systmes et applications
Le Problme
o Les donnes DNS publies sont remplaces en
transit entre serveurs et clients.
o 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)
o 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.
Registrars/ Architecture DNS
Registrants

As friend
secondary

As ISP
Cache server

Registry DB

primary client

As DNS provider secondary

Provisioning DNS Protocol


DNS
Mouvement des donnes

Fichier de
zone matre Cache/forwarder

Mise jour
dynamiques Esclaves

Resolver
Rsolution DNS
Question: www.ripe.net A
www.ripe.net A ? Serveurs racine
Demande aux serveurs net @ X.gtld-servers.net (+ glue)
www.ripe.net A ?
Resolver Cache
192.168.5.10 forwarder www.ripe.net A ?
(rcursif) Serveurs-gtld
Demande aux serveurs ripe @ ns.ripe.net (+ glue)

Ajout au cache www.ripe.net A ?


192.168.5.10

Serveurs-ripe
Registrars
Points de vulnrabilit DNS
Registrants
Server compromise

Inter-server
communication
Cache Poisoning

Registry DB

Cache-Stub resolver
Provisioning DNS Protocol communication
Subject: tenure
Exemple:
Scan de mail non autoris

Astrophysics Central Admin


Mail Server Mail Server

Where?

There!

DNS
Subject: tenure
Exemple:
Scan de mail non autoris

Astrophysics Central Admin


Mail Server 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
Source DNS Authentique
Pas de modifications entre signature et validation
o Il ne fournit pas d autorisation
o Il ne prvoit pas la confidentialit
Registrars
Protection de DNSSEC
Registrants
Server compromise

Inter-server
communication
Cache Poisoning

Registry DB

Cache-Stub resolver
Provisioning DNS Protocol 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 (suite)
o 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

o Il y a aussi la composante de scurit du transport


Utile pour les communications bilatrales entre machines
TSIG ou SIG0
Registrars
Protection de TSIG/SIG0
Registrants
Server compromise

Inter-server
communication
Cache Poisoning

Registry DB

Cache-Stub resolver
Provisioning DNS Protocol 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

o La cl publique est utilise pour vrifier les RRSIGs

o L enfant signe sa zone avec sa cl prive


L authenticit de cette cl est dtermine par la signature de
contrle du parent (DS)

o Cas idal: une cl publique distribue


Authenticit et Intgrit
o Nous voulons vrifier l authenticit et l'intgrit des
donnes DNS
o Authenticit: Est ce la donne publie par l entit
suppose autoritaire ?
o Intgrit: Est ce la donne reue conforme celle
publie ?
o 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 Utilise deux cls : une prive et une publique
o Bref:
Si tu connais la cl publique, tu peux dchiffrer une
donne chiffre avec la cl prive
Signature et vrification de signature
Si tu connais la cl prive, tu peux dchiffrer une donne
chiffre avec la cl publique.
Confidentialit
o DNSSEC utilise seulement les signatures
PGP utilise les deux techniques
Cryptographie cl
publique (suite)
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)
o Algorithmes : DSA, RSA, elliptic curve, etc..
o Les cls publiques ont besoin d tre distribues.
o Les cls prives ont besoin d tre gardes secrtes
Pas vident
o La cryptographie cl publique est lente
Nouveaux ER pour DNSSEC
o 3 Enregistrements de Ressource base de cl publique
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
o 1 ER pour la consistance interne
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

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


ERs et jeu de ERs
o Enregistrement de ressource:
labelclass ttl type rdata
www.ripe.net IN 7200 A 192.168.10.3
o 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
o Dans DNSSEC, ce sont les jeux de ER qui sont signs
et non les ERs individuels
RDATA de DNSKEY
o 16 bits FLAGS (0,256,257)
o 8 bits protocole (3: DNSSEC)
o 8 bits algorithme (1: RSA/MD5, 2: DH, 3: DSA, 4:
Elliptic curve, 5: RSA/SHA1, etc...)
o 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 32 bit expiration de
8 bits algorithme signature
8 bits labels couvert 32 bit dbut de validit de
signature
32 bit TTL originel
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

o 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:

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. SOA ..
NS NS.ripe.net.
DNSKEY ............
NSEC mailbox DNSKEY NS NSEC RRSIG SOA
mailbox A 192.168.10.2
NSEC www A NSEC RRSIG
www A 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 Indique que la zone dlgue est digitalement signe
o Essentiellement un pointeur vers la cl suivante dans la
chane de confiance
o Le Parent est autoritaire pour le DS des zones enfant
o Le DS ne doit pas tre publi dans la zone enfant.
o Rgle beaucoup de problmes
Renouvellement de cls
Delegation Signer: DS (suite)
o DS : Le parent donne l autorit de signer les ERs de la
zone enfant en utilisant le DS
o 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
o 16 bits ID de la cl de l'enfant
o 8 bits algorithme Ce champ indique la cl
suivante dans la chane de
o 8 bits type de digest confiance
o XX octets de digest
$ORIGIN ripe.net.
disi.ripe.net 3600 IN NS ns.disi.ripe.net
disi.ripe.net. 3600 IN 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 jeu
d enregistrement de ressource.

La signature est faite avec la cl prive


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 kids.net.
$ORIGIN net.
@ NS ns1.kids
kids NS ns1.kids RRSIG NS () kids.net.
DS () 1234 DNSKEY () (1234)
RRSIG DS ()net. DNSKEY () (3456)
money NS ns1.money RRSIG DNSKEY 1234 kids.net
DS () RRSIG DNSKEY 3456 kids.net
Cl de signature de zone
RRSIG DS ()
net. beth A 127.0.10.1
RRSIG A () 3456 kids.net.
ns1 A 127.0.10.3
RRSIG A () 3456 kids.net.

KSK/ZSK

o Deux diffrentes cls sont utilises


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

o 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
o La ZSK ne peut tre valide que si elle est signe par une KSK
o La KSK ne peut digne de confiance que si elle rfrence par
un enregistrement DS de confiance
o Un enregistrement DS ne peut tre valide que s'il est sign par
la ZSK du parent ou
o Une KSK peut tre valide si elle est change hors bande
(Trusted key)
Chane de confiance
Configuration locale
Trusted key: . 8907
$ORIGIN . Cl de signature de zone

. DNSKEY () lasE5 (2983)


Cl de signature de cl
DNSKEY () 5TQ3s (8907)
RRSIG KEY () 8907 . 69Hw9..
$ORIGIN net.
net. DS 7834 3 1ab15
RRSIG DS () . 2983 net. DNSKEY () q3dEw (7834)
DNSKEY () 5TQ3s (5612)
RRSIG KEY () 7834 net. cMaso3Ud...

$ORIGIN ripe.net. ripe.net. DS 4252 3 1ab15


RRSIG DS () net. 5612
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...
Scurisation de l'arborescence du DNS
o Problme de distribution de cls
.

com.
net.

money.net. kids.net. os.net.

corp dop mac unix nt


marnick
dev market dilbert
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
o 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.
o 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)
o 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
o 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
o 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
Utilisation et protection de la cl prive
Distribution de la cl publique
o Signature et Intgration de zone dans la chane
d approvisionnement
o Infrastructure de serveurs DNS
o Dlgation scurise des modifications du registre
Interfaage avec les clients
Modification de l Architecture
DNSSEC

o RENOUVELLEMENT DE CLES
CLES PRIVEES

o Vous devez garder votre cl prive secrte


o La cl prive peut tre compromise
Mettre la cl sur une machine isole derrire pare-feu et un
contrle d'accs solide
o Reconstruction de cl prive (Analyse de
cryptographie)
Nombre alatoire pas vraiment alatoire
Dfaillance du matriel de cl
Attaques brutales
RENOUVELLEMENT DE CLES
o Minimiser l'impact
Courte validit des signatures
Renouvellement rgulier des cls
o NB: Les cls n'ont pas de tampons horaires en elles; Les
RRSIG sur les cls ont des tampons horaires
o La renouvellement de cls implique d autres parties
L tat doit tre maintenu pendant le renouvellement
pas toujours flexible
o
RENOUVELLEMENT DE CLES (suite)

o Avec la distinction de ZSK du KSK, il est maintenant


possible de remplacer le ZSK sans affecter le parent
Il suffit seulement de re-signer le jeu ER du DNSKEY avec le
KSK inchang.
o Ceci est une forme de renouvellement de cl
On peut aussi remplacer le KSK
o 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 A besoin de communication hors-canal
n Avec le parent et les resolvers prconfigurs

o Le parent a besoin de vrifier de nouveau votre identit


o Comment protger les dlgations des enfants
n Non scurises?

o 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

o Une procdure d'urgence doit tre en place


Quelques Hics avec DNSSEC
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
o 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
o Ajoute de la complexit au DNS, augmentant ainsi les risques
de mauvaises configurations
o 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
NSEC3 si le zonewalk est un problme pour vous
o Certains firewalls/middle box ne supportent pas des paquets
DNS > 512 Octets(edns0)
Beaucoup sont reconfigurables
o Certains Firewalls/middle box ont des soucis avec les bits
AD,CD,DO
o 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 http://www.bind9.net/manuals
o http://www.dnssec.net
o 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?

Vous aimerez peut-être aussi