DNS Zonefile Configuration
Configurez correctement vos zones DNS pour l'email deliverability (SPF, DKIM, DMARC), la sécurité (DNSSEC, CAA), et l'automatisation (OVH API, Cloudflare, Terraform), basé sur les best practices 2024-2025.
When to Use This Skill
- Configurer l'authentification email - SPF, DKIM, DMARC pour éviter le spam folder
- Sécuriser un domaine - DNSSEC, CAA records, protection contre le spoofing
- Automatiser la gestion DNS - OVH API, Cloudflare API, Terraform
- Débugger des problèmes DNS - dig, nslookup, MXToolbox
- Migrer ou configurer un nouveau domaine - Setup complet from scratch
Methodology Foundation
Sources:
- Cisco Email Authentication Best Practices
- DMARCLY Definitive Guide
- Cloudflare Terraform Best Practices
- OVH Python API
Why This Matters: Depuis février 2024, Google et Yahoo exigent SPF, DKIM et DMARC pour les envois bulk. Sans configuration correcte, vos emails finissent en spam. Les expéditeurs authentifiés ont 2.7x plus de chances d'atteindre l'inbox.
What Claude Does vs What You Decide
| Claude Does | You Decide | |-------------|------------| | Structures sales frameworks | Deal strategy | | Suggests discovery questions | Relationship approach | | Creates proposal templates | Pricing decisions | | Identifies objection patterns | Negotiation tactics | | Analyzes deal dynamics | Final deal terms |
What This Skill Does
- Configure l'authentification email - SPF, DKIM, DMARC avec les bonnes valeurs
- Sécurise le domaine - DNSSEC, CAA, protection certificats
- Optimise les TTL - Valeurs recommandées par type de record
- Automatise via API - OVH, Cloudflare, Terraform
- Diagnostique les problèmes - Outils et troubleshooting
Instructions
Step 1: Comprendre la Structure de Zone
## Anatomie d'un Fichier de Zone
$ORIGIN example.com. ; Le domaine de base
$TTL 3600 ; TTL par défaut (1 heure)
; SOA Record (Start of Authority)
@ IN SOA ns1.example.com. admin.example.com. (
2024012801 ; Serial (YYYYMMDDNN)
7200 ; Refresh (2h)
3600 ; Retry (1h)
1209600 ; Expire (2 semaines)
3600 ; Minimum TTL (1h)
)
; Nameservers
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
; A Records
@ IN A 203.0.113.10
www IN A 203.0.113.10
mail IN A 203.0.113.20
; CNAME Records
blog IN CNAME www.example.com.
; MX Records (priorité croissante = préférence décroissante)
@ IN MX 10 mail.example.com.
@ IN MX 20 mail-backup.example.com.
; TXT Records (SPF, DKIM, DMARC, etc.)
@ IN TXT "v=spf1 ..."
Step 2: Email Authentication - SPF
SPF (Sender Policy Framework) - Déclare quels serveurs peuvent envoyer des emails pour votre domaine.
## SPF Record Syntax
v=spf1 [mechanisms] [qualifier]all
Mechanisms:
- ip4:203.0.113.0/24 ; Autoriser une plage IP
- ip6:2001:db8::/32 ; IPv6
- a ; Autoriser l'IP du record A du domaine
- mx ; Autoriser les serveurs MX
- include:_spf.google.com ; Inclure le SPF d'un autre domaine
- exists:%{i}.spf.example.com ; Macro avancée
Qualifiers:
- +all ; PASS (dangereux, jamais utiliser)
- -all ; FAIL (hard fail)
- ~all ; SOFTFAIL (recommandé)
- ?all ; NEUTRAL
Best Practices SPF:
## SPF - Règles Critiques
1. UN SEUL record SPF par domaine
❌ Plusieurs records = tous invalides
2. Utiliser ~all (softfail), pas -all (hardfail)
→ Permet à DMARC d'évaluer aussi DKIM
3. Maximum 10 DNS lookups
→ include:, a, mx, ptr comptent comme lookups
→ ip4/ip6 ne comptent pas
→ Utiliser des macros SPF si limite atteinte
4. Éviter les gros blocs CIDR
→ Préférer des IPs spécifiques aux /16 ou /8
Exemples SPF courants:
## SPF pour Google Workspace
v=spf1 include:_spf.google.com ~all
## SPF pour Microsoft 365
v=spf1 include:spf.protection.outlook.com ~all
## SPF pour OVH Mail
v=spf1 include:mx.ovh.com ~all
## SPF multi-services (Google + Mailchimp + Sendgrid)
v=spf1 include:_spf.google.com include:servers.mcsv.net include:sendgrid.net ~all
## SPF avec IP dédiée
v=spf1 ip4:203.0.113.10 include:_spf.google.com ~all
Step 3: Email Authentication - DKIM
DKIM (DomainKeys Identified Mail) - Signature cryptographique des emails.
## Structure DKIM
Record Name: [selector]._domainkey.example.com
Record Type: TXT
Value: v=DKIM1; k=rsa; p=[public_key]
Exemple:
google._domainkey.example.com TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."
Best Practices DKIM:
## DKIM - Règles Critiques
1. Un sélecteur différent par service
→ google._domainkey pour Google Workspace
→ mailchimp._domainkey pour Mailchimp
→ sendgrid._domainkey pour Sendgrid
2. Rotation des clés tous les 6 mois
→ Réduit le risque de compromission
3. Clé RSA 2048 bits minimum
→ 1024 bits est obsolète
4. Un sélecteur par tiers
→ Permet de révoquer sans impacter la production
Génération DKIM par service:
| Service | Où trouver la clé DKIM | |---------|------------------------| | Google Workspace | Admin Console → Apps → Google Workspace → Gmail → Authenticate email | | Microsoft 365 | Microsoft 365 Defender → Email → DKIM | | Mailchimp | Settings → Domain → View Setup Instructions | | Sendgrid | Settings → Sender Authentication → Domain Authentication | | Brevo | Settings → Senders & IP → Domains |
Step 4: Email Authentication - DMARC
DMARC (Domain-based Message Authentication) - Politique qui dit aux serveurs quoi faire si SPF/DKIM échouent.
## Structure DMARC
Record Name: _dmarc.example.com
Record Type: TXT
Value: v=DMARC1; p=[policy]; [options]
Policies:
- p=none ; Monitoring only (étape 1)
- p=quarantine ; Mettre en spam si échec
- p=reject ; Rejeter si échec (étape finale)
Options courantes:
- rua=mailto:dmarc@example.com ; Rapports agrégés (XML)
- ruf=mailto:dmarc@example.com ; Rapports forensics (détaillés)
- pct=100 ; Pourcentage d'emails concernés
- sp=reject ; Politique pour sous-domaines
- adkim=r ; Alignement DKIM (r=relaxed, s=strict)
- aspf=r ; Alignement SPF (r=relaxed, s=strict)
Progression DMARC recommandée:
## Étape 1: Monitoring (2-4 semaines)
v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com
→ Collecter les rapports, identifier tous les expéditeurs légitimes
## Étape 2: Quarantine (2-4 semaines)
v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc-reports@example.com
→ Tester sur 10% des emails, augmenter progressivement
## Étape 3: Quarantine 100%
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com
## Étape 4: Reject (objectif final)
v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; sp=reject
Services de monitoring DMARC:
- DMARC Analyzer (freemium)
- Postmark DMARC (gratuit)
- EasyDMARC (freemium)
Step 5: Security - DNSSEC & CAA
DNSSEC - Signe cryptographiquement les réponses DNS pour éviter le spoofing.
## Activer DNSSEC
Chez OVH:
1. Manager → Domaine → Zone DNS → DNSSEC
2. Activer → OVH génère les clés automatiquement
Chez Cloudflare:
1. DNS → Settings → DNSSEC
2. Enable DNSSEC → Copier le DS record
3. Ajouter le DS record chez le registrar
Vérification:
$ dig +dnssec example.com
→ Doit montrer RRSIG records
CAA Records - Limite quelles CA peuvent émettre des certificats SSL.
## Structure CAA
Record Type: CAA
Flags: 0
Tag: