1 / 53

Migration vers DNSSEC avec OpenDNSSEC

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. Généralités. DNSSEC : But : améliorer la sécurité du DNS Comment ?

Download Presentation

Migration vers DNSSEC avec OpenDNSSEC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Migration vers DNSSECavec OpenDNSSEC Claude Gross GIP RENATER

  2. Plan • Rappels sur DNSSEC • La gestion des clés et des signatures • Architecture sécurisée pour DNSSEC • OpenDNSSEC • Conclusion

  3. 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

  4. 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, …

  5. 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

  6. 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

  7. 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

  8. 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é

  9. 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 leursignature • Obtenir les enregistrements DS correspondants • Vérifier toutes les signatures en descendant dans l’arbre DNS jusqu’à l’enregistrement à valider.

  10. 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; };

  11. Fichier de zone non signé $ORIGIN . $TTL 5400 ; 1 hour 30 minutes educ-rech.fr 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

  12. Fichier de zone signé educ-rech.fr. 3600 IN SOA educ-rech.fr. hostmaster.educ-rech.fr. 2013070622 21600 3600 3600000 3600 educ-rech.fr. 3600 IN RRSIG SOA 8 2 3600 20131128133650 20131121034407 12513 educ-rech.fr. IceScwur9NtT2eRiGXi4NH4t6dIiZO3 hTsGr3YxIrh/inX8PdDNET+JjOApvw4rnPJY8f8LEDpMSZA4eIwgn1zDhJSHJBtM9h3F76MQkVbrgMaw/pAN/xH2 hvsGDpxzT+X9aJqGHyWZ1RhGjvoavdDkVLPNx2TC/oSctw38YaaA= educ-rech.fr. 5400 IN A 193.49.159.110 educ-rech.fr. 5400 IN RRSIG A 8 2 5400 20131127013830 20131120114406 12513 educ-rech.fr. TUu2/jr3IWl7VmFeoH6hW8dUfQlunbVgj SxFdXlcsAf1XibufFOa+2G9MO1RvzIAF6s6456q7+pCCbeuOJXqWNapNCbipQ7SSPpwzhB0X7AwDxyGNkAAFta MNMxiIG057b1RGE3aeZLQai1tBcrPFjtENPIjdVYlYVgkDaeoJvM= educ-rech.fr. 5400 IN NS ns.educ-rech.fr. educ-rech.fr. 5400 IN RRSIG NS 8 2 5400 20131127112958 20131120134406 12513 educ-rech.fr. JVipK9ptkd3lksT58TuTurz8tFYL gu4l9gjDXp1RVnJPBfoUfMSkd/CmtU9fMZ221ZY1kbS8zz5deS4M/OsHywmAGuF3IO8mMxYlfUnpF1/1IVw WjRoNBHG9C/7hiZbpEOmcKRFxB2XUMvlsP70X+/Q0iJzpPT1F7Nm6O0wPfrY= educ-rech.fr. 3600 IN DNSKEY 256 3 8 AwEAAaft/ohq96xlTeztoDuz7Synvf/fP8ePlcBdQGBtdLumFF5WEgUCXtqXOT+I4p09heYx0plHVGMdaPWA6 W5yxW88yR3xt2Js3w6kTAU7PHC/Lxpd1NGARt0VKlKXx1lTUKSVmm/EYb5mhOEHA3D3LoGWRM9Mpywa6cVQAT/ YeL9d ;{id = 12513 (zsk), size = 1024b} educ-rech.fr. 3600 IN DNSKEY 257 3 8 AwEAAcJm9kAnERB2/1XCH/ZuyZ2lna1RWT881XvyiE3l5Ly07mBWOMMlNtdggTENQoNKZ7HYTCKBI/ILWzs 3a0DIwfnLhMaTqjIpfDWtyPdLvApqKuAdiydSOgjKoG4aOpyY5xIe6GjFwAEbtmWXgrRWxPVLdP+Ngr3ces9DC5i7OwC9F ufJUpcoCzW8g9Tj3MKUsMzQva6z++wjPh5+7mFQhyUHmEm7lUArsA4DiKQ9yv2jQbT9WIxmgVNxqJA5hHOYeMVte hoHJ9XsOeEaZQxBAMnpZQ2SXWR7pAlTnQYUBd3r/RDFqTFgI7pAA4t2igaHb8nysNOfdxLAX4BzwB35uwM= ;{id = 54 (ksk), size = 2048b} educ-rech.fr. 3600 IN RRSIG DNSKEY 8 2 3600 20131125034831 20131118091408 54 educ-rech.fr. YRNrgfgznWsYbekfpm21Bma8YU +EJbfatPnFeRmdx6u7c3KF8wQ2ucS5xy1OJgTtM4ChK9TWAqCtf7ylwrNQ8CwwoEY0wJoRbmsnmrh6nIj5TOu +y2MGauep2Kag1kmL5YJfwUu9Xjt8+OWd27Me92JZmEf9y7qbCNifnSAbIRCoFLBvTjNQvoIjDC5cPhsuVoD FDdfsZtBVQk++YrMEQ0HJs3uwQntyWZADXD5xfQczSka5hkKKfAytlD/LF62voQ1whpeRNOOOc3sarJqZIn8cVJ8K/tkWc+ +6xfLJvoQO7x8lP8B4bCpyACUvoBg7ph+oPEK2uULE6FellvV28g== educ-rech.fr. 3600 IN NSEC3PARAM 1 0 5 7da94e8af47db591 educ-rech.fr. 3600 IN RRSIG NSEC3PARAM 8 2 3600 20131125010219 20131117131407 12513 educ-rech.fr. CdNwDYKpmCwcqPkRQIoocCgb8VZLSPV5FTKTyr9JWQjRXfmKE3B78C0076PgtVmEYSwTftIqT/ jpCLEhzbdP7LHwuI77dJrkl8kGUzA1b757oFHRMOaail3aCF2UwC2XRBsHWFU3eTGUTFOubkQcF0DsUQ0HPZvSmx/fPEizkKI= fred3gek0pmrvlp10mfc25t7tre3es0p.educ-rech.fr. 3600 IN NSEC3 1 0 5 7da94e8af47db591 itblbgd9grice8erun87fgjlc64im48d A NS SOA RRSIG DNSKEY NSEC3PARAM fred3gek0pmrvlp10mfc25t7tre3es0p.educ-rech.fr. 3600 IN RRSIG NSEC3 8 3 3600 20131126002032 20131118211408 12513 educ-rech.fr. VxQbolArcrkuQaLfXO79oJ/ K56mO6/LhX6xz9Vc1XkXFbnY4EzwGVhIUfXoqPR532+2vFcsbSkrBCM6LJiWXHWZtO+u8BjWDqxLijkUXdc2XZHqnRkGh8z4rag1soJIstSpV51a n3i0NR8ZONx0VEJqbxm5MS0uyjLbxlR6Ovr8= ns.educ-rech.fr. 5400 IN A 193.49.159.110 ns.educ-rech.fr. 5400 IN RRSIG A 8 3 5400 20131128110822 20131121074407 12513 educ-rech.fr. jdW+9ulekczChOZtWu+fkoJhd621Ps5etAz2frGYtD5EwG 0jVFOllwmiaVUe/o6Yg49m03IZLIptXuE6UjFbG0lHGKAwf6Sen+ah8ZCKGvEssCW7NtVvfw14iDk9yIjNYM+/F7d5fExHzgbqt1t0t7BJPj0VIBP +tLxsTSxXsxI= 7ke29gaamtri62n9h1ktpqsrifehq71m.educ-rech.fr. 3600 IN NSEC3 1 0 5 7da94e8af47db591 fred3gek0pmrvlp10mfc25t7tre3es0p A RRSIG 7ke29gaamtri62n9h1ktpqsrifehq71m.educ-rech.fr. 3600 IN RRSIG NSEC3 8 3 3600 20131127151649 20131121014407 12513 educ-rech.fr. k5nVnabv2GDDNt9ozS +D4EP2cV6nACHEdZk0GvBLSz4IPqT08nwkX+OVxle4E+SdvXEH3gDS35SXxJQrlwjNeSmIYa6n3mxSc0A9QLepzYcJfAkmh4YnT96Yj +wx0wIzV4i7yl9TXcxIeSn6pKuc6LgFxMt8KiMUIrMa6QRN4vg=

  13. Plan • Rappels sur DNSSEC • La gestion des clés et des signatures • Architecture sécurisée pour DNSSEC • OpenDNSSEC • Conclusion

  14. 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

  15. 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

  16. Renouvellement des signatures • Les RRSet sont signés • À chaque modification de la zone • Avant la fin de validité de leur signature

  17. Renouvellement des signatures • Validité des signatures (rfc 6781)

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. Plan • Rappels sur DNSSEC • La gestion des clés et des signatures • Architecture sécurisée pour DNSSEC • OpenDNSSEC • Conclusion

  24. 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)

  25. Protection des données • Gestion du DNS • Sur des serveurs sécurisés • Sur des réseaux sécurisés

  26. 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

  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 zoneou • Transfert XFR • En sortie • Fichiers de zoneou • Transfert XFR

  34. Schéma fonctionnel • Composants • Fichiers de configuration • Inclus la politique de gestion desclés et des signatures • 2 processus • Enforcer • Responsable de l’application de la politique de gestion des cléset 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-enforcerdet 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-ksmutilkeylist Keys: Zone: Keytype: State: Date of next transition: educ-rech.fr KSK publish 2013-11-05 11:15:00 educ-rech.fr ZSK active 2013-11-05 13:08:00

  37. OpenDNSSEC : initialisation • Etape 2 • Clé KSK prête à être utilisée # ods-ksmutilkeylist Keys: Zone: Keytype: State: Date of next transition: educ-rech.frKSK readywaiting for ds-seen educ-rech.frZSK active 2013-11-05 13:08:00

  38. OpenDNSSEC : initialisation • Etape 3 • Diffusion du DS à la zone parente # ods-ksmutilkey export –zone educ-rech.fr --keystateready --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.freduc-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-ksmutilkeyds-seen –zone educ-rech.fr --keytag 42607 Foundkeywith CKA_ID 0bdb802ed3eb751d0e53cde45206782f Key 0bdb802ed3eb751d0e53cde45206782f made active Notifyingenforcer of new database… • La clé change d’état : # ds-ksmutilkeylist Keys: Zone: Keytype: State: Date of next transition: educ-rech.fr KSK active 2014-10-09 14:56:38 educ-rech.fr ZSK active 2013-11-05 13:08:00

  41. OpenDNSSEC : initialisation • Etape 6 : la zone DNS est maintenant signée # digeduc-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-ksmutilkeylist --verbose SQLitedatabase set to: /var/lib/opendnssec/kasp.db Keys: Zone: Keytype: State: Date of next transition (to): Size: Algorithm: CKA_ID: Repository: Keytag: educ-rech.fr KSK active 2014-10-09 14:56:38 (retire) 2048 8 94bcccd6f8d4809e1c44fb223a4e2e67 SoftHSM 42487 educ-rech.fr KSK ready waiting for ds-seen (active) 2048 8 fbe46037037928b33c509d04708d72bd SoftHSM 33182 educ-rech.fr ZSK active 2014-09-26 15:42:13 (retire) 1024 8 26f40ec6c1f66383e2620c4074c89773 SoftHSM 20164 • 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)

More Related