Outils pour utilisateurs

Outils du site


doc:dnssec

Ceci est une ancienne révision du document !


DNSSEC

Fonctionnement

DNSSEC (DNS SECurity Extensions) est une extension du protocole DNS qui lui rajoute la possibilité d’authentifier les réponses et de les valider à l’aide de la cryptographie. Attention, les requêtes sont toujours envoyées en clair, elles ne sont jamais chiffrées. Le principe est le même que la signature d’un courriel avec le protocole PGP. Le propriétaire d’une zone possède une paire de clef qui lui permet de signer ses enregistrements. Cela permet d’une part de certifier que l’enregistrement est légitime, mais aussi de certifier de manière dynamique l’absence d’un domaine.

Le protocole utilise deux types de clefs :

  • Une clef signataire de zone (ou ZSK pour Zone Signing Key) : généralement petite (1024 bit par défaut) car elle doit être utilisée de nombreuses fois pour signer chaque enregistrement. Il est aussi bon de la changer souvent, tous les quelques mois par exemple.
  • Une clef signataire de clef (ou KSK pour Key Signing Key) : généralement grande car elle ne sert qu’à signer la ZSK.

Un enregistrement DS permet de déléguer la confiance d’une zone. Il contient le hash de la KSK de la zone fille. En connaissant ce hash, il est possible de vérifier et faire confiance à la KSK de la zone fille. On peut alors se servir de cette KSK pour vérifier la ZSK et lui faire confiance. On peut alors valider les domaines de la zone fille.

De cette manière, seule la clef de la racine est nécessaire à valider les différentes zones du DNS.

Enregistrements

  • DS : Delegation Signer. Équivalent de NS pour déléguer la signature d’une zone.

TODO

Génération des clefs

Pour générer une clef signataire de clef (Key Signing Key ou KSK), utilisez la commande suivante :

dnssec-keygen -f KSK -a RSASHA256 -b 2048 federez.net

Cela va créer deux fichiers du type Kfederez.net.+007+049632.key et Kfederez.net.+007+049632.private. Pour plus de simplicité par la suite, renommez-les en, par exemple, federez.ksk.key et federez.ksk.private

Pour générer la clef signataire de zone (Zone Signing Key ou ZSK), utilisez la commade suivante :

dnssec-keygen -a RSASHA256 -b 2048 federez.net

De même, renommez les fichiers avec un nom plus explicite.

Signature d’une zone

ajoutez en fin de fichier de zone :

$include /etc/bind/federez.zsk.key
$include /etc/bind/federez.ksk.key

Pour signer la zone federez.net., utilisez la commande suivante :

dnssec-signzone -e20480101000000 -p -t -g -k federez.ksk.key -o federez.net federez.net.zone federez.zsk.key

où 20480101000000 est au format AAAAMMJJHHMMSS. C’est la date d’expiration des signatures. Cela va créer un nouveau fichier de zone, federez.net.zone.signed, utilisable à la place de federez.net.zone

Enfin, pour déléguer une zone, pensez à déléguer les signatures avec un enregistrement DS, qui n’est pas généré par la commande précédente. Il suffit alors de configurer DNSSEC avec son registrar pour que les signatures deviennent valides.

Automatisation

Les outils disponibles dans le paquet opendnssec-tools (sous debian) permettent d’automatiser de nombreuses tâches liées au DNSSEC.

Cette section est incomplète.

Liens externes

doc/dnssec.1405618340.txt.gz · Dernière modification : 2014/07/17 19:32 de olivier.caillault

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki