Qu’est-ce qu’un enregistrement TXT ?
Un enregistrement TXT stocke une chaîne de texte associée à un nom DNS. Il sert aujourd’hui à publier des politiques lisibles par machine, à vérifier un domaine et à configurer des services.
Utilisations courantes des enregistrements TXT
Les usages les plus fréquents concernent l’authentification des courriels, la validation de propriété et les paramètres spécifiques à une application.
Authentification des courriels
SPF autorise des serveurs d’envoi, DKIM publie une clé de vérification et DMARC définit une politique de traitement.
example.com. IN TXT "v=spf1 include:_spf.google.com ~all"
google._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0..."
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:[email protected]"
Vérification du domaine
Les services peuvent demander un jeton TXT pour confirmer que vous contrôlez le domaine.
example.com. IN TXT "google-site-verification=abc123..."
example.com. IN TXT "MS=ms12345678"
_dnsauth.example.com. IN TXT "validation-token-from-ca"
Autres applications
Des services de recherche, de gestion de clés ou d’intégration peuvent aussi publier leurs propres valeurs TXT.
example.com. IN TXT "facebook-domain-verification=xyz789"
_keybase.example.com. IN TXT "keybase-site-verification=..."
_app.example.com. IN TXT "config=value123"
Format d’un enregistrement TXT
Le nom, la classe IN, le type TXT et une ou plusieurs chaînes composent l’enregistrement. Respectez les limites de longueur du DNS.
Syntaxe de base
Une chaîne TXT simple peut contenir du texte ou une valeur structurée.
name IN TXT "text content here"
Plusieurs enregistrements TXT
Un domaine peut publier plusieurs enregistrements TXT pour des services différents. Évitez les doublons qui rendent la maintenance ambiguë.
example.com. IN TXT "v=spf1 include:_spf.google.com ~all"
example.com. IN TXT "google-site-verification=abc123"
example.com. IN TXT "facebook-domain-verification=xyz789"
Enregistrements TXT longs
Une valeur longue peut être répartie en chaînes de 255 octets que le résolveur concatène selon les règles DNS.
selector._domainkey.example.com. IN TXT (
"v=DKIM1; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."
"...long key continues..."
)
Vérifier les enregistrements TXT
Interrogez le domaine et les sous-domaines spécialisés, puis comparez les valeurs avec la documentation du service.
dig example.com TXT
; ANSWER SECTION:
example.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all"
dig _dmarc.example.com TXT
dig selector._domainkey.example.com TXT
curl "https://domscan.net/v1/health?domain=example.com"
# Returns hasTXT and email authentication status
Bonnes pratiques pour les enregistrements TXT
Documentez le propriétaire, l’objectif, la date d’ajout et le service qui dépend de chaque valeur.
Pour l’authentification des courriels
Gardez SPF, DKIM et DMARC cohérents, surveillez les recherches SPF et supprimez les politiques obsolètes.
Pour la vérification du domaine
Ne supprimez pas un jeton tant que le service l’utilise encore. Vérifiez régulièrement qu’il correspond au domaine attendu.
Pour les applications personnalisées
Utilisez des préfixes explicites, documentez le format et choisissez un TTL adapté à la fréquence des changements.
Considérations de sécurité
Les enregistrements TXT sont publics. N’y stockez jamais de secrets, de clés privées ou d’identifiants utilisables.
Divulgation d’informations
Une valeur TXT peut révéler des fournisseurs, des noms internes ou des paramètres d’intégration. Publiez uniquement ce qui est nécessaire.
# Bad - exposes internal info
example.com. TXT "internal-api-key=secret123"
Vulnérabilités SPF
Un SPF trop permissif peut autoriser l’usurpation de courriels. Examinez les mécanismes et les qualificatifs finaux.
# Bad - allows anyone to send
example.com. TXT "v=spf1 +all"
# Good - restrictive
example.com. TXT "v=spf1 include:_spf.google.com -all"
Résoudre les problèmes des enregistrements TXT
En cas d’échec, vérifiez la syntaxe, les guillemets, la concaténation, le TTL, la propagation et l’existence d’un enregistrement SPF concurrent.