Claude
Skills
Sign in
Back

dns-zonefile-config

Included with Lifetime
$97 forever

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. Use when: **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...

Backend & APIs

What this skill does


# 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](https://www.cisco.com/c/en/us/support/docs/security/email-security-appliance/215360-best-practice-for-email-authentication.html)
- [DMARCLY Definitive Guide](https://dmarcly.com/blog/how-to-implement-dmarc-dkim-spf-to-stop-email-spoofing-phishing-the-definitive-guide)
- [Cloudflare Terraform Best Practices](https://developers.cloudflare.com/terraform/advanced-topics/best-practices/)
- [OVH Python API](https://github.com/ovh/python-ovh)

**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

1. **Configure l'authentification email** - SPF, DKIM, DMARC avec les bonnes valeurs
2. **Sécurise le domaine** - DNSSEC, CAA, protection certificats
3. **Optimise les TTL** - Valeurs recommandées par type de record
4. **Automatise via API** - OVH, Cloudflare, Terraform
5. **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:[email protected]  ; Rapports agrégés (XML)
- ruf=mailto:[email protected]  ; 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:[email protected]

→ Collecter les rapports, identifier tous les expéditeurs légitimes

## Étape 2: Quarantine (2-4 semaines)
v=DMARC1; p=quarantine; pct=10; rua=mailto:[email protected]

→ Tester sur 10% des emails, augmenter progressivement

## Étape 3: Quarantine 100%
v=DMARC1; p=quarantine; rua=mailto:[email protected]

## Étape 4: Reject (objectif final)
v=DMARC1; p=reject; rua=mailto:[email protected]; sp=reject
```

**Services de monitoring DMARC:**
- [DMARC Analyzer](https://www.dmarcanalyzer.com) (freemium)
- [Postmark DMARC](https://dmarc.postmarkapp.com) (gratuit)
- [EasyDMARC](https://easydmarc.com) (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

Related in Backend & APIs