Check-Host.cc

Vérificateur Start of Authority (SOA)

L'enregistrement SOA (Start of Authority) agit comme le cœur administratif de toute zone DNS. C'est un enregistrement obligatoire ; sans un SOA valide, le domaine cesse d'exister sur la table de routage mondiale. Le payload SOA dicte les paramètres opérationnels de base pour le domaine, établissant quel serveur est la source définitive de vérité, qui le gère, et les mécanismes de synchronisation stricts qui dictent comment les serveurs de noms secondaires et redondants répliquent les données de la zone.

Le numéro de série de la zone et la réplication d'état

L'entier le plus critique dans le payload SOA est le numéro de série (Serial Number). Par convention dans l'industrie, il est souvent formaté comme un horodatage (par exemple, 2023102401 pour la première modification le 24 octobre 2023). Chaque fois qu'un administrateur modifie un enregistrement A, MX ou TXT, ce numéro de série doit être incrémenté. Les serveurs de noms secondaires (esclaves) interrogent (poll) régulièrement le serveur principal. S'ils détectent un numéro de série supérieur à celui stocké dans leur cache local, cela déclenche immédiatement un transfert de zone AXFR ou IXFR pour récupérer les tables de routage mises à jour. Si le serial n'est pas incrémenté lors d'une modification, les serveurs secondaires ne se synchroniseront jamais, ce qui entraînera des réponses DNS fracturées et incohérentes.

Minuteurs administratifs : Refresh, Retry et Expire

L'enregistrement SOA définit trois minuteurs spécifiques qui régissent la résilience de la zone :

  • Refresh : L'intervalle (en secondes) que les serveurs secondaires attendent avant d'interroger le serveur principal pour des changements de serial.
  • Retry : Si le serveur principal est hors ligne lors d'une interrogation, cela définit combien de temps le serveur secondaire attend avant de réessayer.
  • Expire : Le temps maximum absolu pendant lequel un serveur secondaire continuera de servir les enregistrements mis en cache si le serveur principal se déconnecte définitivement. Une fois ce délai atteint, le serveur secondaire cesse de répondre aux requêtes, coupant effectivement le domaine pour éviter de servir des données gravement obsolètes.

Mise en cache négative et TTL minimum

Un paramètre de l'enregistrement SOA fréquemment mal compris est la valeur du TTL minimum. Historiquement utilisé pour définir une durée de mise en cache de base, la RFC 2308 a réutilisé cet entier exclusivement pour la mise en cache négative (Negative Caching). Si un utilisateur interroge un sous-domaine qui n'existe pas (par exemple, fake.example.com), le serveur faisant autorité répond avec une erreur NXDOMAIN. Le résolveur utilise le TTL minimum du SOA pour déterminer exactement combien de temps mettre en cache cet échec. Une valeur faible évite des pannes prolongées si un administrateur corrige rapidement une faute de frappe, tandis qu'une valeur élevée protège le serveur faisant autorité contre les attaques DDoS interrogeant des sous-domaines aléatoires inexistants.