<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wikiold.home.tartarefr.eu/index.php?action=history&amp;feed=atom&amp;title=DNS%2FZonecheck</id>
	<title>DNS/Zonecheck - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wikiold.home.tartarefr.eu/index.php?action=history&amp;feed=atom&amp;title=DNS%2FZonecheck"/>
	<link rel="alternate" type="text/html" href="https://wikiold.home.tartarefr.eu/index.php?title=DNS/Zonecheck&amp;action=history"/>
	<updated>2026-07-07T01:25:30Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wikiold.home.tartarefr.eu/index.php?title=DNS/Zonecheck&amp;diff=195&amp;oldid=prev</id>
		<title>Didier : Page créée avec « = Zonecheck 3.0, avec tests DNSSEC =  Première rédaction de cet article le 22 Juin 2010  Le 22 juin, une nouvelle version de Zonecheck a été publiée, apportant notamment... »</title>
		<link rel="alternate" type="text/html" href="https://wikiold.home.tartarefr.eu/index.php?title=DNS/Zonecheck&amp;diff=195&amp;oldid=prev"/>
		<updated>2012-07-17T19:20:31Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « = Zonecheck 3.0, avec tests DNSSEC =  Première rédaction de cet article le 22 Juin 2010  Le 22 juin, une nouvelle version de Zonecheck a été publiée, apportant notamment... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Zonecheck 3.0, avec tests DNSSEC =&lt;br /&gt;
&lt;br /&gt;
Première rédaction de cet article le 22 Juin 2010&lt;br /&gt;
&lt;br /&gt;
Le 22 juin, une nouvelle version de Zonecheck a été publiée, apportant notamment les tests DNSSEC.&lt;br /&gt;
&lt;br /&gt;
Écrit en Ruby, Zonecheck est un logiciel de test de la configuration d&amp;#039;une zone DNS, pour voir si elle est correctement installée sur les serveurs de noms. Cette vérification nécessiterait à la main des dizaines d&amp;#039;appels à la commande dig, pour s&amp;#039;assurer que tout est correct. Zonecheck automatise le tout. D&amp;#039;une manière générale, tester doit être fait avec un logiciel car c&amp;#039;est une opération longue et fastidieuse, qu&amp;#039;un humain a peu de chances de mener jusqu&amp;#039;au bout correctement.&lt;br /&gt;
&lt;br /&gt;
Ainsi, je peux voir si mes serveurs de noms sont tous bons :&lt;br /&gt;
&lt;br /&gt;
 % zonecheck bortzmeyer.org&lt;br /&gt;
 ZONE  : bortzmeyer.org.&lt;br /&gt;
 NS &amp;lt;= : a.dns.gandi.net. [217.70.179.40]&lt;br /&gt;
 NS    : c.dns.gandi.net. [217.70.182.20]&lt;br /&gt;
 NS    : b.dns.gandi.net. [217.70.184.40]&lt;br /&gt;
 &lt;br /&gt;
        _____________________&lt;br /&gt;
      ,---------------------.|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;~~~~ |    avertissement    || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      `---------------------&amp;#039;&lt;br /&gt;
 a&amp;gt; Les serveurs de nom font tous partie du même AS&lt;br /&gt;
  | Conseil: ZoneCheck&lt;br /&gt;
  |   Afin d&amp;#039;éviter de perdre la connectivité avec les serveurs DNS&lt;br /&gt;
  | autoritaires en cas de problèmes de routage dans le Système Autonome,&lt;br /&gt;
  | il est conseillé d&amp;#039;héberger les serveurs sur différents AS.&lt;br /&gt;
  `----- -- -- - -  -&lt;br /&gt;
  :   Tous les serveurs de noms font partie du même Système Autonome (AS&lt;br /&gt;
  : numéro 29169), essayez d&amp;#039;en héberger certains sur un autre.&lt;br /&gt;
  `..... .. .. . .  .&lt;br /&gt;
 =&amp;gt; générique &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
 ==&amp;gt; SUCCÈS (mais 5 avertissement(s))&lt;br /&gt;
&lt;br /&gt;
Et, à quelques avertissements près, c&amp;#039;est bon.&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;installation de Zonecheck 3 nécessite la bibliothèque Ruby DNSruby qui ne semble pas exister en paquetage pour ma Debian, je l&amp;#039;ai donc installé à la main, avec RubyGems :&lt;br /&gt;
&lt;br /&gt;
 % sudo aptitude install rubygems # Si nécessaire&lt;br /&gt;
 % sudo gem install dnsruby&lt;br /&gt;
&lt;br /&gt;
(DNSruby remplace l&amp;#039;ancienne bibliothèque Nresolv, utilisée par Zonecheck 2, est permet notamment les tests DNSSEC.)&lt;br /&gt;
&lt;br /&gt;
Principale nouveauté de la version 3 : DNSSEC. Par défaut, Zonecheck 3 détecte tout seul si une zone est signée ou pas, mais les tests DNSSEC, dans ce cas, ne mènent qu&amp;#039;à des avertissements. Si on veut être sûr que DNSSEC est activé sur la zone, il faut utiliser l&amp;#039;option -s (ou --securedelegation) :&lt;br /&gt;
&lt;br /&gt;
 % zonecheck iis.se&lt;br /&gt;
 ...&lt;br /&gt;
 ==&amp;gt; SUCCESS (but 7 warning(s))&lt;br /&gt;
&lt;br /&gt;
Aucun message mais les tests DNSSEC ont été faits (simplement, Zonecheck n&amp;#039;avait rien à signaler). Si on veut imposer qu&amp;#039;ils réussissent :&lt;br /&gt;
&lt;br /&gt;
% zonecheck -s &amp;quot;&amp;quot; iis.se&lt;br /&gt;
...&lt;br /&gt;
==&amp;gt; SUCCESS (but 7 warning(s))&lt;br /&gt;
&lt;br /&gt;
Et sur une zone DNSSEC qui a des problèmes, cela donne quoi ? Comme beaucoup de domaines en .GOV, uspto.gov est configuré avec les pieds :&lt;br /&gt;
&lt;br /&gt;
 % zonecheck -s &amp;quot;&amp;quot; uspto.gov            &lt;br /&gt;
 ZONE  : uspto.gov&lt;br /&gt;
 NS &amp;lt;= : dns1.uspto.gov [151.207.240.50]&lt;br /&gt;
 NS    : dns2.uspto.gov [151.207.246.51]&lt;br /&gt;
 ...&lt;br /&gt;
        _____________&lt;br /&gt;
      ,-------------.|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;~~~~ |    fatal    || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      `-------------&amp;#039;&lt;br /&gt;
 f&amp;gt; [TEST supports EDNS]: DNS Timeout&lt;br /&gt;
 =&amp;gt; dns2.uspto.gov/151.207.246.51&lt;br /&gt;
 &lt;br /&gt;
 ==&amp;gt; FAILURE (and 3 warning(s))&lt;br /&gt;
&lt;br /&gt;
DNSSEC impose en effet EDNS (RFC 2671) et ce serveur ne répond pas. Que se passe t-il ? DNS timeout, nous dit Zonecheck. Vérifions avec dig :&lt;br /&gt;
&lt;br /&gt;
 % dig +dnssec @dns2.uspto.gov ANY uspto.gov       &lt;br /&gt;
 &lt;br /&gt;
 ; &amp;lt;&amp;lt;&amp;gt;&amp;gt; DiG 9.6-ESV-R1 &amp;lt;&amp;lt;&amp;gt;&amp;gt; +dnssec @dns1.uspto.gov ANY uspto.gov&lt;br /&gt;
 ; (1 server found)&lt;br /&gt;
 ;; global options: +cmd&lt;br /&gt;
 ;; connection timed out; no servers could be reached&lt;br /&gt;
&lt;br /&gt;
Le même serveur répond si on lui demande dig +dnssec @dns1.uspto.gov DNSKEY uspto.gov car la réponse, dans ce cas, est plus petite (moins de 1200 octets). Il y a donc clairement un problème de MTU à l&amp;#039;office des brevets états-uniens, qui plante tout client qui essaie de faire du DNSSEC avec eux (le problème leur a été signalé il y a des semaines mais la bureaucratie locale ne semble pas pressée de le résoudre).&lt;br /&gt;
&lt;br /&gt;
Zonecheck permet aussi d&amp;#039;indiquer la clé qu&amp;#039;on veut voir dans la zone (telle qu&amp;#039;elle est annoncée par le parent ou bien via une page Web sécurisée). Par exemple, si je sais que l&amp;#039;enregistrement DS (cf. RFC 4034, section 5) de frobbit.se est censé être 3E91111144999944301CD5E4E33692352C0BD024 :&lt;br /&gt;
&lt;br /&gt;
 %  zonecheck -s &amp;quot;DS:3E91111144999944301CD5E4E33692352C0BD024:SHA-1&amp;quot; frobbit.se&lt;br /&gt;
 ZONE  : frobbit.se&lt;br /&gt;
 NS &amp;lt;= : ns1.frobbit.se [208.79.80.118]&lt;br /&gt;
 NS    : ns.cafax.se [192.71.228.17]&lt;br /&gt;
 NS    : ns2.frobbit.se [85.30.129.39, 2A02:80:3FFE::39]&lt;br /&gt;
 ...&lt;br /&gt;
 w&amp;gt; The length of the key should be higher for this algorithm&lt;br /&gt;
  :   the key length is 1024 bits for the algorithm : RSA SHA 1&lt;br /&gt;
  `..... .. .. . .  .&lt;br /&gt;
 =&amp;gt; ns2.frobbit.se/85.30.129.39&lt;br /&gt;
 =&amp;gt; ns.cafax.se/192.71.228.17&lt;br /&gt;
 =&amp;gt; ns1.frobbit.se/208.79.80.118&lt;br /&gt;
 =&amp;gt; ns2.frobbit.se/2A02:80:3FFE::39&lt;br /&gt;
 &lt;br /&gt;
 ==&amp;gt; SUCCESS (but 13 warning(s))&lt;br /&gt;
&lt;br /&gt;
Et, à part que la clé est un peu courte, le domaine est bien signé comme indiqué chez son parent.&lt;br /&gt;
&lt;br /&gt;
On peut automatiser cette tâche de trouver le DS, chez le registre DLV (RFC 5074) de l&amp;#039;ISC par exemple. Ce petit script shell le fait :&lt;br /&gt;
&lt;br /&gt;
 dnssechashalgo=1&lt;br /&gt;
 dnssechashalgoname=SHA-1&lt;br /&gt;
 &lt;br /&gt;
 zonecheck-dlv() {&lt;br /&gt;
     if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
 	echo &amp;quot;Usage: $0 domain-name&amp;quot;&lt;br /&gt;
        return 1&lt;br /&gt;
     fi&lt;br /&gt;
     domain=$1&lt;br /&gt;
     sha1ds=$(dig +short DLV $domain.dlv.isc.org | awk &amp;quot;/ (3|5|7) +$dnssechashalgo / {print \$4}&amp;quot; | tail -n 1)&lt;br /&gt;
     if [ -z &amp;quot;$sha1ds&amp;quot; ]; then&lt;br /&gt;
 	echo &amp;quot;$domain does not seem to be in dlv.isc.org&amp;quot;&lt;br /&gt;
 	return 1&lt;br /&gt;
     fi&lt;br /&gt;
     zonecheck -s &amp;quot;DS:$sha1ds:$dnssechashalgoname&amp;quot; $domain&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Ce script peut être utilisé ainsi :&lt;br /&gt;
&lt;br /&gt;
 %  zonecheck-dlv   secure64.com  &lt;br /&gt;
 ZONE  : secure64.com&lt;br /&gt;
 NS &amp;lt;= : ns1.secure64.com [64.92.220.221]&lt;br /&gt;
 NS    : ns2.secure64.com [216.17.193.194]&lt;br /&gt;
 ...&lt;br /&gt;
 ==&amp;gt; SUCCESS (but 4 warning(s))&lt;br /&gt;
&lt;br /&gt;
D&amp;#039;autres zones ne sont pas aussi correctes, même sans DNSSEC. Voici un exemple des messages d&amp;#039;erreur :&lt;br /&gt;
&lt;br /&gt;
 % zonecheck zataz.com       &lt;br /&gt;
 ZONE  : zataz.com&lt;br /&gt;
 NS &amp;lt;= : ns1.eurodns.com [80.92.65.2]&lt;br /&gt;
 NS    : ns2.eurodns.com [80.92.67.140]&lt;br /&gt;
 &lt;br /&gt;
        _____________________&lt;br /&gt;
      ,---------------------.|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;~~~~ |    avertissement    || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      `---------------------&amp;#039;&lt;br /&gt;
 a&amp;gt; Les serveurs de nom font tous partie du même AS&lt;br /&gt;
  | Conseil: ZoneCheck&lt;br /&gt;
  |   Afin d&amp;#039;éviter de perdre la connectivité avec les serveurs DNS&lt;br /&gt;
  | autoritaires en cas de problèmes de routage dans le Système Autonome,&lt;br /&gt;
  | il est conseillé d&amp;#039;héberger les serveurs sur différents AS.&lt;br /&gt;
  `----- -- -- - -  -&lt;br /&gt;
  :   Tous les serveurs de noms font partie du même Système Autonome (AS&lt;br /&gt;
  : numéro 24611), essayez d&amp;#039;en héberger certains sur un autre.&lt;br /&gt;
  `..... .. .. . .  .&lt;br /&gt;
 =&amp;gt; générique&lt;br /&gt;
 &lt;br /&gt;
        _____________&lt;br /&gt;
      ,-------------.|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;~~~~ |    fatal    || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
      `-------------&amp;#039;&lt;br /&gt;
 f&amp;gt; L&amp;#039;adresse IP de l&amp;#039;enregistrement MX ne peut pas être résolue&lt;br /&gt;
  :   Le MX mailing.zataz.com représentant le nom du serveur ne possède&lt;br /&gt;
  : pas d&amp;#039;adresse IP.&lt;br /&gt;
  `..... .. .. . .  .&lt;br /&gt;
 =&amp;gt; ns1.eurodns.com/80.92.65.2&lt;br /&gt;
 &lt;br /&gt;
 ==&amp;gt; ÉCHEC (et 1 avertissement(s))&lt;br /&gt;
&lt;br /&gt;
Et, en effet, le serveur de courrier désigné n&amp;#039;existe pas :&lt;br /&gt;
&lt;br /&gt;
 % dig @ns1.eurodns.com MX zataz.com   &lt;br /&gt;
 ...&lt;br /&gt;
 ;; ANSWER SECTION:&lt;br /&gt;
 zataz.com.              3600    IN      MX      10 mail.zataz.com.&lt;br /&gt;
 zataz.com.              3600    IN      MX      20 mailing.zataz.com.&lt;br /&gt;
 ...&lt;br /&gt;
 &lt;br /&gt;
 % dig @ns1.eurodns.com A mailing.zataz.com &lt;br /&gt;
 ...&lt;br /&gt;
 ;; -&amp;gt;&amp;gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: NXDOMAIN, id: 49758&lt;br /&gt;
&lt;br /&gt;
À noter que Zonecheck sépare la politique (quels tests on fait et un résultat positif est-il obligatoire) du moteur de tests qui les applique. L&amp;#039;administrateur système peut éditer le profil des tests et retirer (ou rendre facultatif) certains tests, à volonté. Par exemple, par défaut, Zonecheck teste que les adresses IP des serveurs de noms ne sont pas des bogons mais, s&amp;#039;ils le sont, cela ne produit qu&amp;#039;un simple avertissement :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;check name=&amp;quot;ip_bogon&amp;quot;   severity=&amp;quot;w&amp;quot; category=&amp;quot;ip&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si on trouve ce test trop laxiste, il suffit de changer severity de &amp;#039;w&amp;#039; (warning) à &amp;#039;f&amp;#039; (fatal). Si, à l&amp;#039;inverse, on trouve ce test inutile ou tout simplement trop coûteux en ressources, on peut le désactiver complètement en retirant l&amp;#039;élément &amp;lt;check&amp;gt; du profil. C&amp;#039;est une caractéristique unique parmi les logiciels de tests DNS.&lt;br /&gt;
&lt;br /&gt;
Zonecheck est un logiciel libre sous licence GPL. Merci à Fabien Chabanne pour avoir pris en charge cette nouvelle version, et à Stéphane d&amp;#039;Alu pour le programme original.&lt;/div&gt;</summary>
		<author><name>Didier</name></author>
	</entry>
</feed>