Diapositives

Report
Migration vers DNSSEC
avec OpenDNSSEC
Claude Gross
GIP RENATER
Plan
• Rappels sur DNSSEC
• La gestion des clés et des signatures
• Architecture sécurisée pour DNSSEC
• OpenDNSSEC
• Conclusion
2
Généralités
• DNSSEC :
– But : améliorer la sécurité du DNS
– Comment ?
• En signant les données distribuées par les serveurs DNS faisant
autorité
➜ Assurance de l’origine et de l’intégrité des données
3
Clés DNSSEC
• Cryptographie asymétrique
• Une (ou deux) paire(s) de clés par zones DNS
• Clés publiques et signatures dans les fichiers de zones
➜ Nouveaux types d’enregistrements : DNSKEY, RRSIG, …
4
Clés DNSSEC
• Validation en utilisant la hiérarchie
du DNS
– Pour une zone DNS :
• Confiance dans la clé publique de la
racine
• Toutes les zones entre elle et la racine
sont signées (DNSKEY + RRSIG)
• Chaque zone a une empreinte de la clé
publique de la zone fille (DS) pour
former la chaîne de confiance
5
Clés DNSSEC
• En fait, souvent 2 paires de clés par zones
– Parce qu’il est recommandé de renouveler les clés
périodiquement
– Parce que changer les clés implique une interaction avec la
zone parente
6
Clés DNSSEC
• Une paire ZSK (Zone Signing Key) qui
signe les RRSet de la zone
– Cette paire de clés est utilisée uniquement
en interne
– Aucune interaction avec la zone parente
• Une paire KSK (Key Signing Key) qui signe
la ZSK
– C’est l’empreinte de la clé publique KSK qui
sera donnée à la zone parente
7
Clés DNSSEC
• Utilisation de 2 paires de clés :
– Avantages
• La paire ZSK peut être changée souvent et donc avoir une longueur
plus courte
➜ Moins d’impact sur les performances
• La paire KSK peut avoir une longueur plus longue et être changée
beaucoup moins souvent
➜ Peu d’impact sur les performances puisqu’elle ne signe que la ZSK
– Inconvénients
• C’est plus compliqué
8
Clés DNSSEC
➜ Pour valider la signature d’un enregistrement DNS pour
une zone donnée, il faut donc :
-
Faire confiance à la clé KSK de la zone root
Obtenir toutes les clés publiques (KSK et ZSK) des zones
concernées avec leur signature
Obtenir les enregistrements DS correspondants
Vérifier toutes les signatures en descendant dans l’arbre DNS
jusqu’à l’enregistrement à valider.
9
Qui fait la validation DNSSEC ?
➜ Résolveurs DNS
• Configuration Bind
– Charger la clé publique de la racine (fichier bind.keys)
– Paramètres :
options {
...
dnssec-validation yes;
};
10
Fichier de zone non signé
$ORIGIN .
$TTL 5400
educ-rech.fr
; 1 hour 30 minutes
IN SOA ns.educ-rech.fr. hostmaster.educ-rech.fr. (
2013111901 ; serial
21600
; refresh (6 hours)
3600
; retry (1 hour)
3600000 ; expire (5 weeks 6 days 16 hours)
172800 ; minimum (2 days)
)
NS
ns.educ-rech.fr.
$ORIGIN educ-rech.fr.
ns
IN
A
193.49.159.1
11
Fichier de zone signé
educ-rech.fr.
educ-rech.fr.
3600
3600
IN
IN
SOA
RRSIG
educ-rech.fr.
educ-rech.fr.
5400
5400
IN
IN
A
RRSIG
educ-rech.fr.
educ-rech.fr.
5400
5400
IN
IN
NS
RRSIG
educ-rech.fr.
3600
IN
DNSKEY
educ-rech.fr.
3600
IN
DNSKEY
educ-rech.fr.
3600
IN
RRSIG
educ-rech.fr.
educ-rech.fr.
3600
3600
IN
IN
NSEC3PARAM
RRSIG
fred3gek0pmrvlp10mfc25t7tre3es0p.educ-rech.fr.
fred3gek0pmrvlp10mfc25t7tre3es0p.educ-rech.fr.
3600
3600
IN
IN
ns.educ-rech.fr.
ns.educ-rech.fr.
IN
IN
A
RRSIG
3600
3600
IN
IN
5400
5400
7ke29gaamtri62n9h1ktpqsrifehq71m.educ-rech.fr.
7ke29gaamtri62n9h1ktpqsrifehq71m.educ-rech.fr.
educ-rech.fr. hostmaster.educ-rech.fr. 2013070622 21600 3600 3600000 3600
SOA 8 2 3600 20131128133650 20131121034407 12513 educ-rech.fr. IceScwur9NtT2eRiGXi4NH4t6dIiZO3
hTsGr3YxIrh/inX8PdDNET+JjOApvw4rnPJY8f8LEDpMSZA4eIwgn1zDhJSHJBtM9h3F76MQkVbrgMaw/pAN/xH2
hvsGDpxzT+X9aJqGHyWZ1RhGjvoavdDkVLPNx2TC/oSctw38YaaA=
193.49.159.110
A 8 2 5400 20131127013830 20131120114406 12513 educ-rech.fr. TUu2/jr3IWl7VmFeoH6hW8dUfQlunbVgj
SxFdXlcsAf1XibufFOa+2G9MO1RvzIAF6s6456q7+pCCbeuOJXqWNapNCbipQ7SSPpwzhB0X7AwDxyGNkAAFta
MNMxiIG057b1RGE3aeZLQai1tBcrPFjtENPIjdVYlYVgkDaeoJvM=
ns.educ-rech.fr.
NS 8 2 5400 20131127112958 20131120134406 12513 educ-rech.fr. JVipK9ptkd3lksT58TuTurz8tFYL
gu4l9gjDXp1RVnJPBfoUfMSkd/CmtU9fMZ221ZY1kbS8zz5deS4M/OsHywmAGuF3IO8mMxYlfUnpF1/1IVw
WjRoNBHG9C/7hiZbpEOmcKRFxB2XUMvlsP70X+/Q0iJzpPT1F7Nm6O0wPfrY=
256 3 8 AwEAAaft/ohq96xlTeztoDuz7Synvf/fP8ePlcBdQGBtdLumFF5WEgUCXtqXOT+I4p09heYx0plHVGMdaPWA6
W5yxW88yR3xt2Js3w6kTAU7PHC/Lxpd1NGARt0VKlKXx1lTUKSVmm/EYb5mhOEHA3D3LoGWRM9Mpywa6cVQAT/
YeL9d ;{id = 12513 (zsk), size = 1024b}
257 3 8 AwEAAcJm9kAnERB2/1XCH/ZuyZ2lna1RWT881XvyiE3l5Ly07mBWOMMlNtdggTENQoNKZ7HYTCKBI/ILWzs
3a0DIwfnLhMaTqjIpfDWtyPdLvApqKuAdiydSOgjKoG4aOpyY5xIe6GjFwAEbtmWXgrRWxPVLdP+Ngr3ces9DC5i7OwC9F
ufJUpcoCzW8g9Tj3MKUsMzQva6z++wjPh5+7mFQhyUHmEm7lUArsA4DiKQ9yv2jQbT9WIxmgVNxqJA5hHOYeMVte
hoHJ9XsOeEaZQxBAMnpZQ2SXWR7pAlTnQYUBd3r/RDFqTFgI7pAA4t2igaHb8nysNOfdxLAX4BzwB35uwM= ;{id = 54 (ksk), size = 2048b}
DNSKEY 8 2 3600 20131125034831 20131118091408 54 educ-rech.fr. YRNrgfgznWsYbekfpm21Bma8YU
+EJbfatPnFeRmdx6u7c3KF8wQ2ucS5xy1OJgTtM4ChK9TWAqCtf7ylwrNQ8CwwoEY0wJoRbmsnmrh6nIj5TOu
+y2MGauep2Kag1kmL5YJfwUu9Xjt8+OWd27Me92JZmEf9y7qbCNifnSAbIRCoFLBvTjNQvoIjDC5cPhsuVoD
FDdfsZtBVQk++YrMEQ0HJs3uwQntyWZADXD5xfQczSka5hkKKfAytlD/LF62voQ1whpeRNOOOc3sarJqZIn8cVJ8K/tkWc+
+6xfLJvoQO7x8lP8B4bCpyACUvoBg7ph+oPEK2uULE6FellvV28g==
1 0 5 7da94e8af47db591
NSEC3PARAM 8 2 3600 20131125010219 20131117131407 12513 educ-rech.fr.
CdNwDYKpmCwcqPkRQIoocCgb8VZLSPV5FTKTyr9JWQjRXfmKE3B78C0076PgtVmEYSwTftIqT/
jpCLEhzbdP7LHwuI77dJrkl8kGUzA1b757oFHRMOaail3aCF2UwC2XRBsHWFU3eTGUTFOubkQcF0DsUQ0HPZvSmx/fPEizkKI=
NSEC3
1 0 5 7da94e8af47db591 itblbgd9grice8erun87fgjlc64im48d A NS SOA RRSIG DNSKEY NSEC3PARAM
RRSIG
NSEC3 8 3 3600 20131126002032 20131118211408 12513 educ-rech.fr. VxQbolArcrkuQaLfXO79oJ/
K56mO6/LhX6xz9Vc1XkXFbnY4EzwGVhIUfXoqPR532+2vFcsbSkrBCM6LJiWXHWZtO+u8BjWDqxLijkUXdc2XZHqnRkGh8z4rag1soJIstSpV51a
n3i0NR8ZONx0VEJqbxm5MS0uyjLbxlR6Ovr8=
193.49.159.110
A 8 3 5400 20131128110822 20131121074407 12513 educ-rech.fr. jdW+9ulekczChOZtWu+fkoJhd621Ps5etAz2frGYtD5EwG
0jVFOllwmiaVUe/o6Yg49m03IZLIptXuE6UjFbG0lHGKAwf6Sen+ah8ZCKGvEssCW7NtVvfw14iDk9yIjNYM+/F7d5fExHzgbqt1t0t7BJPj0VIBP
+tLxsTSxXsxI=
NSEC3
1 0 5 7da94e8af47db591 fred3gek0pmrvlp10mfc25t7tre3es0p A RRSIG
RRSIG
NSEC3 8 3 3600 20131127151649 20131121014407 12513 educ-rech.fr. k5nVnabv2GDDNt9ozS
+D4EP2cV6nACHEdZk0GvBLSz4IPqT08nwkX+OVxle4E+SdvXEH3gDS35SXxJQrlwjNeSmIYa6n3mxSc0A9QLepzYcJfAkmh4YnT96Yj
+wx0wIzV4i7yl9TXcxIeSn6pKuc6LgFxMt8KiMUIrMa6QRN4vg=
12
Plan
• Rappels sur DNSSEC
• La gestion des clés et des signatures
• Architecture sécurisée pour DNSSEC
• OpenDNSSEC
• Conclusion
13
Gestion DNSSEC
• Les signatures
– ont un début et une fin de validité
➜ nécessité de re-signer les données périodiquement
• Les clés
– deviennent « fragiles » avec le temps
➜ il est recommandé de les renouveler
– d’autres évènements peuvent impliquer leur renouvellement
➜ Choix de paramètres temporels
14
Gestion DNSSEC
• Relation avec différents paramètres temporels du DNS
- TTL des RRSets d’une zone (résolveurs)
- refresh des zones (serveurs secondaires)
- …
• Impératif : une réponse DNS signée doit pouvoir être validée
à tout instant et quel que soit la manière dont elle a été
obtenue (directement d’un DNS primaire, d’un DNS
secondaire ou à partir du cache d’un résolveur)
• Pré-requis : avoir des serveurs à l’heure
15
Renouvellement des signatures
• Les RRSet sont signés
– À chaque modification de la zone
– Avant la fin de validité de leur signature
16
Renouvellement des signatures
• Validité des signatures (rfc 6781)
17
Renouvellement des signatures
• Quelle période de validité ?
– Contraintes :
• Ne pas les rendre trop vulnérables
• Éviter les problèmes opérationnels
– Au minimum :
Durée de vie > TTL RRSIG + paramètre refresh de la zone + temps
nécessaire pour faire le transfert
– Recommandation => 1 mois
18
Roulement des clés
• 2 méthodes principales (RFC 6781)
– Pré-publication
• Création de la nouvelle clé et publication dans le DNS mais sans l’utiliser
(DNSKEY publié)
• Publication du DS après le temps nécessaire pour diffusion dans tous les caches
• Utilisation de la nouvelle clé (publication des RRSIG)
• Suppression de l’ancienne clé quand toutes les signatures concernées ont
expirées dans tous les caches
– Double signature
• On crée la nouvelle clé et on l’utilise tout de suite en même temps que l’ancienne
(DNSKEY et RRSIG publiés avant le DS)
• Après le temps nécessaire de diffusion, publication du DS
• Suppression de l’ancienne clé après le temps nécessaire pour diffusion dans tous
les caches
19
Changement d’état et roulement
des clés (pré-publication)
DNSSEC Key Timing Considerations », http://tools.ietf.org/html/draft-ietf-dnsop-dnssec-key-timing-03
20
Roulement des clés
• La double signature a des conséquences
– Sur la taille des fichiers de zones
– Sur la charge des serveurs
➜ Utilisation pour les KSK (une seule signature en plus par zone)
• La pré-publication est utilisée pour les ZSK
21
Quand changer les clés ?
•
Compromis entre
–
–
•
Risques d’exposition trop longue
Risques induits par l’opération de roulement
Recommandations
–
Clés ZSK
•
Uniquement internes => roulement automatisable
➜ Roulement tous les mois
–
Clés KSK
•
•
Interaction avec zone parente
Clé plus longue
➜ Roulement tous les ans
•
Prévoir une procédure de roulement en urgence
22
Plan
• Rappels sur DNSSEC
• La gestion des clés et des signatures
• Architecture sécurisée pour DNSSEC
• OpenDNSSEC
• Conclusion
23
Architecture
• Nécessité de sécuriser le service DNS
➜ Les clés privées
➜ Mais aussi les données
• Bien séparer les rôles
– Serveurs faisant autorité
– Serveurs caches récursifs (résolveurs)
24
Protection des données
• Gestion du DNS
– Sur des serveurs sécurisés
– Sur des réseaux sécurisés
25
Protection des clés privées
• Différentes solutions
– Fichiers sur serveurs sécurisés
– HSM « logiciel »
– HSM matériel
➜ Dépend du niveau de sécurité exigé, des ressources disponibles
et du budget
26
27
Migration vers DNSSEC
•
•
•
•
Mettre en place une architecture adaptée
Choisir des outils pour l’automatisation
Tester (et re-tester)
Mettre en place des procédures rigoureuses et
documentées
• Mettre en place une supervision du système
28
Plan
• Rappels sur DNSSEC
• La gestion des clés et des signatures
• Architecture sécurisée pour DNSSEC
• OpenDNSSEC
• Conclusion
29
Outils DNSSEC
• Intégrés dans les logiciels DNS (Bind)
• Outils d’automatisation libres
– DNSSEC-Tools (www.dnssec-tools.org/)
– OpenDNSSEC
– …
• Produits commerciaux
– IPAM
30
OpenDNSSEC
• Logiciel libre
• Testé sur la plupart des systèmes Linux
• Utilisable avec la plupart (tous ?) des logiciels DNS
• Clés sur HSM (logiciel ou matériel)
31
OpenDNSSEC : fonctions
• Ce que fait OpenDNSSEC
– Fonctions automatisées :
• Reçoit les zones non signées depuis des fichiers ou par transfert XFR
• Gestion des changements d’état des clés : génération, publication,
suppression des clés
• Signature et re-signature des zones
• Fournit les zones signés dans des fichiers ou par transfert XFR
– Fonctions manuelles :
• Ajout ou suppression de zones
• Sauvegarde et exportation des clés
• Roulement manuelle des clés
– Supervision de base
32
OpenDNSSEC : fonctions
• Ce que ne fait pas OpenDNSSEC
– Transfert de l’empreinte de la clé publique à la zone parente
33
Schéma fonctionnel
• En entrée :
– Fichiers de zone
ou
– Transfert XFR
• En sortie
– Fichiers de zone
ou
– Transfert XFR
34
Schéma fonctionnel
• Composants
– Fichiers de configuration
• Inclus la politique de gestion des
clés et des signatures
– 2 processus
• Enforcer
– Responsable de l’application de
la politique de gestion des clés
et des signatures
• Signer
– Responsable de la signature
des zones selon les
instructions de Enforcer
35
OpenDNSSEC : initialisation
• Démarrage
# ods-control start
➜ Démarrage des 2 processus : ods-enforcerd et ods-signerd
➜ Création des clés et signature de la zone
36
OpenDNSSEC : initialisation
• Etape 1 :
– Publication des clés dans le DNS
# ods-ksmutil key list
Keys:
Zone:
Keytype:
educ-rech.fr
KSK
State:
publish
Date of next transition:
2013-11-05 11:15:00
educ-rech.fr
active
2013-11-05 13:08:00
ZSK
37
OpenDNSSEC : initialisation
• Etape 2
– Clé KSK prête à être utilisée
# ods-ksmutil key list
Keys:
Zone:
Keytype:
educ-rech.fr
KSK
educ-rech.fr
ZSK
State:
ready
active
Date of next transition:
waiting for ds-seen
2013-11-05 13:08:00
38
OpenDNSSEC : initialisation
• Etape 3
– Diffusion du DS à la zone parente
# ods-ksmutil key export –zone educ-rech.fr --keystate ready --ds
;ready KSK DS record (SHA1):
educ-rech.fr. 60
IN
DS
42607 8 1
e3a09a742a195593dc5dc5041b8ad9b5ace2127f
;ready KSK DS record (SHA256):
educ-rech.fr. 60
IN
DS
42607 8 2
6a1448ecc94b91fcd10d71e8ae2c50579b24e51ee2b3b9adc1d92ed9fbc2e468
39
OpenDNSSEC : initialisation
• Etape 4
– On attend que le DS soit diffusé
# dig @d.ext.nic.fr educ-rech.fr DS
;; QUESTION SECTION:
;educ-rech.fr.
IN
DS
;; ANSWER SECTION:
educ-rech.fr.
172800
IN
DS
54 8 2
264DF9086290454F3D45275E60F70A1273AAFD614E551BAE5C4E3D6C DC6F3B81
40
OpenDNSSEC : initialisation
• Etape 5
– On indique à OpenDNSSEC que la clé est diffusée
# ods-ksmutil key ds-seen –zone educ-rech.fr --keytag 42607
Found key with CKA_ID 0bdb802ed3eb751d0e53cde45206782f
Key 0bdb802ed3eb751d0e53cde45206782f made active
Notifying enforcer of new database…
➜ La clé change d’état :
# ds-ksmutil key list
Keys:
Zone:
Keytype:
educ-rech.fr
KSK
educ-rech.fr
ZSK
State:
active
active
Date of next transition:
2014-10-09 14:56:38
2013-11-05 13:08:00
41
OpenDNSSEC : initialisation
• Etape 6 : la zone DNS est maintenant signée
# dig educ-rech.fr +dnssec
;; …
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42051
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 1
;; …
;; ANSWER SECTION:
educ-rech.fr.
5400
IN
A
193.49.159.110
educ-rech.fr.
5400
IN
RRSIG
A 8 2 5400
20131111012334
20131104072841 34440 educ-rech.fr.
Y5X+R9UQ9ft…BuRTAFfHFDCUBvb1Xo3 I8M=
;; AUTHORITY SECTION:
educ-rech.fr.
5400
IN
NS
dnssec2.renater.fr.
educ-rech.fr.
5400
IN
NS
dnssec.renater.fr.
educ-rech.fr.
5400
IN
RRSIG
NS 8 2 5400
20131110140751 20131103112840 34440 educ-rech.fr.
Nj0F4B5QJsE/Nl…xmQy6iHKXx h/E=
42
OpenDNSSEC : et après ?
• (Presque) toutes les opérations sont automatisées
– Re-signature
• Après maj
• Avant date d’expiration
– Roulement des clés ZSK
– Régénération des clés KSK
(pas la maj du DS lors du roulement des clés KSK)
43
OpenDNSSEC : et après ?
• Le jour arrive :
# ods-ksmutil key list --verbose
SQLite database set to: /var/lib/opendnssec/kasp.db
Keys:
Zone:
Keytype:
State:
Date of next transition (to):
Algorithm: CKA_ID:
Repository:
educ-rech.fr
KSK
active
2014-10-09 14:56:38 (retire)
94bcccd6f8d4809e1c44fb223a4e2e67 SoftHSM
42487
educ-rech.fr
KSK
ready
waiting for ds-seen (active)
fbe46037037928b33c509d04708d72bd SoftHSM
33182
educ-rech.fr
ZSK
active
2014-09-26 15:42:13 (retire)
26f40ec6c1f66383e2620c4074c89773 SoftHSM
20164
Size:
Keytag:
2048
8
2048
8
1024
8
➜ On exporte le nouveau DS
44
Vérification
• Outils de validation DNSSEC
 ZoneCheck
 DNSSEC Analyzer
http://dnssec-debugger.verisignlabs.com/
 DNSViz http://dnsviz.net/
http://dnsviz.net/
 DNS Check
http://dnscheck.iis.se/
45
Vérification
• Extension navigateurs
 DNSSEC Validator
 Firefox
 Chrome
 IE
46
Plan
• Rappels sur DNSSEC
• La gestion des clés et des signatures
• Architecture sécurisée pour DNSSEC
• OpenDNSSEC
• Conclusion
47
Conclusion
• DNSSEC est une solution pour l’amélioration nécessaire
de la sécurité du DNS
• Le contexte technique est aujourd’hui favorable à la mise
en œuvre de DNSSEC
– Racine signée
– TLDs signés
– Implémentations logicielles disponibles
48
Déploiement DNSSEC sur les
TLDs (18/11/2013)
49
Conclusion
• Mais la mise en œuvre de DNSSEC
– Crée des risques opérationnels nouveaux
– Implique donc une sécurisation adaptée de l’ensemble du service
•
•
•
•
Mettre en place une architecture adaptée
Choisir des outils pour l’automatisation
Mettre en place des procédures rigoureuses et documentées
Mettre en place une supervision du système
➜ Impact important (technique et organisationnel)
50
Conclusion
• Mais surtout la mise en œuvre de DNSSEC
- Demande des ressources
- N’apporte rien de neuf aux utilisateurs (Idem IPv6…:-)
➜ Contexte « économique » peu favorable
51
Conclusion
• Résultat : très peu de domaines DNSSEC sous .fr
➜ 3,5% au 27/11/2013
• Importance du rôle des registres, bureaux
d’enregistrement et FAI dans le déploiement de
DNSSEC
• Commencer à valider au niveau des résolveurs ?
52
53

similar documents