SOA Resource Record
SOA (Start of Authority) est une section importante de la définition de zone dans le système DNS. Elle contient d'importantes informations concernant la zone DNS à laquelle elle se rapporte, notamment concernant le transfert de zone. Le SOA-Record est spécifié dans la RFC 1035[1].
Arrière-plan
Normalement, les serveurs de noms DNS sont mis en place dans des clusters. La base de données au sein de ces clusters est synchronisée par le biais de transfert de zones. L'enregistrement SOA dans le fichier de zone contient des données pour contrôler le transfert, c'est le numéro de série et différents compteurs.
Il contient également les adresses e-mail de la personne responsable pour cette zone, ainsi que le nom du serveur principal. Habituellement, l'enregistrement SOA est situé dans la partie supérieure de la zone. Une zone sans enregistrement SOA ne respecte pas la norme, et n'est donc pas transférable.
Structure
- Nom
- Nom de la zone.
- IN
- Zone (habituellement IN pour internet).
- SOA
- L'abréviation pour le Start of Authority.
- Primaire
- Maître principal pour cette zone.
- Défini à quel serveur les mises à jour dynamiques doivent être envoyées.
- Adresse mail
- Mail du responsable de cette zone. Le
@
est remplacé par un.
. Les points avant les@
sont remplacés par\.
; par exemplejohn\.doe.example.com
pour l'adresse mailjohn.doe@example.com
. - Numéro De série
- Est augmenté à chaque changement. Convention commune : YYYYMMDDVV ; donne un indice sur le moment ou la zone a été mise à jour pour la dernière fois.
- Refresh
- Nombre de secondes après lequel les serveurs secondaires devraient demander le numéro de série du serveur principal, afin de détecter les changements de zone. Recommandation de RIPE pour les zones petites et stables : 86400 ≙ 24 heures[2].
- Retry
- Nombre de secondes après lequel les serveurs de noms secondaires doivent réessayer de demander le numéro de série du maître si le maître ne répond pas. Il doit être inférieur à Refresh. Recommandation de RIPE NCC pour les zones petites et stables : 7200 ≙ 2 heures.
- Expire
- Nombre de secondes après lequel les serveurs de noms secondaires devraient arrêter de répondre à une demande pour cette zone si le maître ne répond pas. Cette valeur doit être supérieure à la somme de Refresh et de Retry. Recommandation de RIPE NCC pour les zones petites et stables : 3600000 ≙ 1000 heures.
- TTL
- Le « Time to live » pour la mise en cache négatif. (Recommandation de RIPE NCC pour les petites et stable zones: 172800 ≙ 2 jours.) À l'origine ce champ avait pour but de donner un TTL minimum pour toutes les ressources de la zone et il était utilisé si un enregistrement n'avait pas de TTL spécifié. Cela a été rendu obsolète par la RFC 2308[3].
Exemple SOA Record dans BIND
@ IN SOA master.example.com. hostmaster.example.com. ( 2017030301 ; serial 3600 ; refresh 1800 ; retry 604800 ; expire 600 ) ; ttl
Changements de numéro de série
Deux méthodes existent :
- la première consiste à mettre le premier numéro de série à 1 et ce numéro est incrémenté à chaque changement ;
- le numéro de série contient l'année, le mois et le jour de la dernière modification, suivis par les deux chiffres du compteur (par exemple 2017030301 = , 1er changement à ce jour) ou, parfois, l'heure actuelle. Cette méthode est recommandée dans la RFC 1912[4] 2.2.
Références
- (en) Request for comments no 1035.
- « Recommendations for DNS SOA Values » : « These recommendations are aimed at small and stable DNS zones. »
- (en) M. Andrews, « Negative Caching of DNS Queries (DNS NCACHE) », Request for comments no 2308, .
- (en) Request for comments no 1912.