Pointer le domaine vers le serveur (DNS Infomaniak)

Ton domaine et son www répondent avec le VPS en IPv4 et IPv6, seul Let's Encrypt (et ZeroSSL si tu veux) peut émettre des certificats pour lui, et personne ne peut envoyer d'email en son nom — ou ta boîte Infomaniak continue de marcher, avec DMARC en plus. Des clics dans le Manager, des vérifications avec dig.

débutant~20 min de manipulation
#dns#infomaniak#caa#dmarc#spf#dnssec#ipv6

Pas encore validée de bout en bout — sois le premier.Signaler un problème

Brouillon — pas encore exécuté de bout en bout. Cette page est écrite mais son auteur ne l'a pas encore déroulée sur une vraie machine. Des commandes peuvent être fausses : lis avant de lancer, et dis-nous ce qui casse.

En un coup d'œilQui répond, et quoi
Infomaniak
OVH
?A · AAAA ?HTTPS (next page)reads CAA
Un visiteurhttps://
RésolveurISP · 1.1.1.1 · 9.9.9.9
Zone DNSns11 / ns12.infomaniak.ch
Ton VPS
Let's EncryptACME CA

Le résolveur d'un visiteur demande à la zone Infomaniak où vit ${DOMAIN} et reçoit les adresses du VPS. La même zone dit aux autorités de certification qui peut émettre pour le domaine, et aux serveurs de mail si un message en son nom est authentique.

Le VPS a une adresse ; il faut maintenant que le domaine y mène. Cette page modifie la zone DNS de dans le Manager Infomaniak : le nom nu (, sans rien devant) et www pointent vers le serveur, un enregistrement à la fois, un enregistrement CAA dit quelles autorités de certification ont le droit d'émettre pour le domaine, et les enregistrements email soit verrouillent le domaine contre l'usurpation, soit protègent la boîte que tu as déjà. Tout se vérifie depuis le portable avec dig. Le certificat lui-même arrive à la page suivante, et il ne peut être émis qu'une fois ce DNS en place.

Avant de commencer

Il te faut un accès au Manager Infomaniak (manager.infomaniak.com), l'IPv4 et l'IPv6 du serveur (page « Commander le VPS chez OVH ») saisies dans le panneau des valeurs, le résultat du test ping -6 de la page « Sécuriser le serveur dans la première heure » (il décide de l'enregistrement AAAA), et un terminal sur le portable. dig est déjà installé sur macOS.

Vérification
$dig +short NS  | sort
Retour attendu
ns11.infomaniak.ch.
ns12.infomaniak.ch.

Faire l'état des lieux de la zone

Ouvre manager.infomaniak.com → Domaines → clique sur → Zone DNS dans le menu de gauche. Note chaque enregistrement sur le nom nu (Source vide, ou @) ou sur www, et chaque enregistrement MX et TXT.

Sur un domaine tout juste acheté, la liste ne montre souvent que deux lignes NS (ns11.infomaniak.ch et ns12.infomaniak.ch) : rien à garder. Les lignes NS n'ont pas de bouton de modification : c'est normal, Infomaniak les gère.

Tu peux lister la même chose depuis le portable, en interrogeant directement le serveur d'Infomaniak :

Mac
$for t in A AAAA MX TXT CAA; do dig +noall +answer $t @ns11.infomaniak.ch; done
$dig +noall +answer www. @ns11.infomaniak.ch

Baisser le TTL (seulement si des enregistrements existent déjà)

Si la zone ne contient que les lignes NS, saute cette étape : tu crées directement chaque enregistrement ci-dessous avec un TTL de 5 min.

Sinon, pour chaque enregistrement du nom nu ou de www que tu vas changer, modifie-le et mets son TTL à 5 min (300 secondes). Attends ensuite que l'ancien TTL s'écoule (souvent une heure) avant le vrai changement.

Créer les enregistrements

Voici tout ce que cette page crée. Chaque ligne du tableau est un enregistrement, et a sa propre sous-étape plus bas.

#Type à choisirSourceValeurSeulement si
1A(vide)
2AAAA(vide)ping -6 a répondu à la page 3
3CNAMEwww
4CAA(vide)Flag 0, Tag issue, letsencrypt.org
5CAA(vide)Flag 0, Tag issue, sectigo.comZeroSSL autorisé dans le panneau
6TXT(vide)v=spf1 -all
7DMARC(fixée par le formulaire)v=DMARC1; p=reject; pct=100

Chaque enregistrement se crée de la même façon, dans Zone DNS :

  1. Clique sur Ajouter un enregistrement.
  2. Choisis le type dans la liste.
  3. Clique sur Suivant.
  4. Remplis les champs donnés dans la sous-étape, avec le TTL à 5 min.
  5. Clique sur Enregistrer, puis vérifie que la nouvelle ligne apparaît dans la liste de la zone avant de passer au suivant.

Le champ Source, c'est ce qui se met devant le domaine. Laissé vide, il désigne le domaine lui-même, , sans rien devant : c'est ce qu'il te faut pour chaque enregistrement ici, sauf www.

Le nom nu vers le serveur (A)

Ajouter un enregistrement → A → Suivant → Source : laisse vide → adresse : → TTL 5 min → Enregistrer.

Si un enregistrement A existe déjà sur le nom nu, modifie-le (n'en ajoute pas un second) pour qu'il pointe vers .

Le serveur d'Infomaniak lui-même répond tout de suite, sans attendre la moindre propagation :

Vérification
$dig +short A  @ns11.infomaniak.ch
Retour attendu

IPv6 (AAAA), seulement si ping -6 a répondu

À la page « Sécuriser le serveur dans la première heure », ping -6 depuis le serveur a répondu ou non.

  • Il a répondu : Ajouter un enregistrement → AAAA → Suivant → Source : laisse vide → adresse : → TTL 5 min → Enregistrer.
  • Il n'a pas répondu : ne crée rien, et supprime tout AAAA déjà présent sur le nom nu.
Mac
$dig +short AAAA @ns11.infomaniak.ch

La réponse est si tu as créé l'enregistrement, rien sinon.

www (CNAME)

Les gens tapent www. devant un domaine par réflexe ; ici www n'est qu'une redirection vers , que Caddy met en place à la page suivante.

Supprime d'abord tout enregistrement A ou AAAA sur www, puis : Ajouter un enregistrement → CNAME → Suivant → Source : www → cible : → TTL 5 min → Enregistrer.

Dans la liste de la zone, la nouvelle ligne affiche le service « Domain Connect » : c'est normal, rien à changer.

CAA pour Let's Encrypt

Ajouter un enregistrement → CAA → Suivant → Source : laisse vide → Flag : 0 → Tag : issue → Valeur : letsencrypt.org → TTL 5 min → Enregistrer.

CAA pour ZeroSSL

Un second enregistrement CAA, séparé du premier : une valeur par enregistrement. sectigo.com est le nom sous lequel les certificats ZeroSSL sont émis.

Ajouter un enregistrement → CAA → Suivant → Source : laisse vide → Flag : 0 → Tag : issue → Valeur : sectigo.com → TTL 5 min → Enregistrer.

Mac
$dig +short CAA @ns11.infomaniak.ch
Une ligne par enregistrement CAA : 0 issue "letsencrypt.org" et 0 issue "sectigo.com".

Pas de mail : SPF (TXT)

Rien n'envoie ni ne reçoit de mail pour ce domaine : publie-le. Les serveurs de réception rejettent alors tout ce qui prétend venir de .

Sinon, supprime les MX d'Infomaniak restés en place et tout TXT qui commence par v=spf1 : un domaine ne doit avoir qu'un seul enregistrement SPF.

Le Manager n'a pas de type « SPF » : un SPF est un enregistrement TXT. Dans la liste des types, SSHFP est juste à côté et n'a rien à voir (il publie les empreintes SSH d'un serveur).

Ajouter un enregistrement → TXT → Suivant → Source : laisse vide → valeur : v=spf1 -all → TTL 5 min → Enregistrer.

Pas de mail : DMARC

Le Manager a un type DMARC dédié : prends-le plutôt que de taper le TXT à la main.

Ajouter un enregistrement → DMARC → Suivant → garde la politique sur reject → TTL 5 min → Enregistrer.

Il écrit v=DMARC1; p=reject; pct=100 sur _dmarc.. Dans la liste de la zone, la ligne s'affiche en « TXT (DMARC) » avec le service « Messagerie » : c'est normal.

Extras facultatifs

La page marche sans ces trois enregistrements, et le script de vérification ne fait que noter leur absence. Ajoute-les si tu veux fermer toutes les portes.

  • CAA iodef : CAA → Source vide → Flag 0 → Tag iodef → Valeur mailto: suivi de , sans espace. Si la liste des Tags ne propose pas iodef, passe.
  • MX nul : MX → Source vide → priorité 0 → cible . (un point seul).
  • Révocation DKIM : TXT → Source *._domainkey → valeur v=DKIM1; p=.

Vérifier depuis le portable

D'abord le serveur d'Infomaniak lui-même : il montre la zone dès que tu as cliqué sur Enregistrer, sans délai de propagation.

Mac
$dig +short A @ns11.infomaniak.ch
$dig +short CNAME www. @ns11.infomaniak.ch
$dig +short TXT @ns11.infomaniak.ch
$dig +short TXT _dmarc. @ns11.infomaniak.ch

Demande ensuite à deux résolveurs publics ce que le monde voit maintenant. Le premier essai peut montrer les anciennes réponses tant que l'ancien TTL n'est pas écoulé.

Vérification
$dig +short A  @1.1.1.1
Retour attendu
Vérification
$dig +short CNAME www. @1.1.1.1
Retour attendu
.
Vérification
$dig +short CAA  @1.1.1.1 | grep letsencrypt | tr -d '\042'
Retour attendu
0 issue letsencrypt.org
Vérification
$dig +short TXT _dmarc. @1.1.1.1 | tr -d '\042' | cut -d';' -f1
Retour attendu
v=DMARC1

Si tu as créé l'AAAA, il répond aussi :

Mac
$dig +short AAAA @1.1.1.1

Refais-les avec @9.9.9.9 à la place de @1.1.1.1 : deux résolveurs d'opérateurs différents qui sont d'accord, c'est bon signe pour la propagation.

Si dig montre encore l'ancienne adresse

Par ordre de probabilité :

  • L'ancien TTL n'est pas encore écoulé. Interroge Infomaniak directement avec @ns11.infomaniak.ch : si la nouvelle valeur y apparaît, la zone est correcte et l'attente règle le reste.
  • Ton Mac a gardé l'ancienne réponse en cache (sans @serveur). Vide-le avec sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder.
  • Deux enregistrements existent sur le même nom : l'ancien a été complété au lieu d'être remplacé. Relis la zone.
  • @ns11.infomaniak.ch montre l'ancienne valeur : la modification n'a pas été enregistrée (Enregistrer), ou tu as modifié la zone d'un autre domaine.
  • dig affiche des lignes qui commencent par \# pour le CAA : le dig de macOS est trop ancien pour décoder ce type. brew install bind en installe un récent.

Activer DNSSEC

Dans le Manager, ouvre → DNSSEC → active. Infomaniak génère les clés, signe la zone et transmet l'enregistrement DS au registre de l'extension.

L'enregistrement DS peut mettre quelques heures, parfois jusqu'à 48, pour atteindre le registre. Ensuite, un résolveur validant marque ses réponses comme authentifiées (le drapeau ad) :

Vérification
$dig +dnssec +noall +comments A  @1.1.1.1 | grep -o 'flags: qr rd ra ad'
Retour attendu
flags: qr rd ra ad

Reverse DNS chez OVH (facultatif)

Fais en sorte que l'IP du serveur réponde quand on la cherche à l'envers. Dans l'espace client OVH : Network → IP publiques → ... à côté de → Modifier le reverse → . Fais de même pour si elle est listée.

Remonter le TTL

Une fois les vérifications passées et le site fonctionnel à la page suivante, passe le TTL des enregistrements créés ou modifiés à 1 h (3600 secondes).

Terminé

et www mènent au VPS (en IPv6 aussi si ping -6 a répondu), et seules les autorités que tu as listées peuvent émettre des certificats pour eux. Le mail qui prétend venir du domaine est rejeté. La zone est signée.

Page suivante : Servir le site avec Caddy et HTTPS. Caddy demande le certificat pour les deux noms à son premier démarrage, ce qui ne marche que parce que ce DNS est en place.

Tout a fonctionné ?

Si tu as suivi cette page jusqu'au bout sur une vraie machine, dis-le. Ta validation est datée et enregistre ta stack : le prochain lecteur sur le même chemin sait que ça marche toujours.

Cette copie est en lecture seule. Pour dire que ça marche, ou que ça ne marche pas, ouvre une issue

Seuls tes choix de stack sont enregistrés, jamais tes valeurs. Le pseudo reste sur ce navigateur.