Cle CSK ECDSA P-256 tiree dans la voute du locataire, importee par le role, DS calcule sans la machine. Refus de changer la cle ou de retirer la signature tant qu'un DS est publie. SOA-EDIT EPOCH : INCEPTION-EPOCH aurait laisse expirer les signatures du site. CAA sur chezlepro.ca, sonde des signatures au site, P18 deplie vault_dnssec_<zone>. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| defaults | ||
| handlers | ||
| meta | ||
| tasks | ||
| templates | ||
| README.md | ||
serveur_dns_public
Pour qui : l'hébergeur qui publie les noms de ses locataires sur Internet.
Le serveur DNS public du site. Il est secondaire de toutes les zones publiques des locataires qu'il héberge. Il ne porte aucune donnée à lui : le locataire écrit sa zone, le site la sert.
Le locataire écrit, le site sert
LOCATAIRE infra-dns-01 primaire caché de chezlepro.ca ─┐ NOTIFY
(autorite: primaire-cache) │ AXFR signé TSIG, tiré par le site
SITE site-dnspub-01 secondaire public ◄──────────────┘
- Le primaire reste chez le locataire. Quand il part, il emporte sa zone, et le site n'a qu'à cesser d'être secondaire. Écrire les zones au site ferait de l'hébergeur la source des données du client.
- La liste des zones se dérive de tous les locataires du site, dans
scripts/site_inventaire.py. Jamais une liste tenue à la main. - Uniquement
autorite: primaire-cache. Le rôle refuse une zone.internal: ce serveur répond à Internet.
Ce que l'épreuve de l'outil a appris (2026-09-16, PowerDNS 4.9.17)
Deux instances jetables, sept vérifications, avant d'écrire une ligne de ce rôle.
| Constat | Ce que le rôle en fait |
|---|---|
allow-axfr-ips et TSIG sont alternatifs, pas cumulatifs : une adresse listée obtient la zone sans signature |
le primaire n'autorise aucune adresse ; seule la clé ouvre le transfert |
allow-axfr-ips autorise la boucle locale par défaut |
un test négatif depuis la boucle locale n'en est pas un |
le backend bind seul ne stocke aucune métadonnée |
bind-dnssec-db porte les clés TSIG |
la syntaxe exige masters { ip:port; }; |
sans accolades, tout le fichier est refusé |
| le primaire notifie aussi les adresses de ses NS | le primaire restreint ses notifications au seul serveur public du site |
Durcissement
- Secondaire seulement :
secondary=yes,primary=no. - Aucun transfert sortant en phase 1 (
disable-axfr=yes). La réplication vers le site pair passera par le tunnel WireGuard, plus tard. - Notifications acceptées des seuls primaires déclarés.
version-string=anonymous: la version est la première chose qu'un balayage demande.security-poll-suffix=vide : PowerDNS interroge par défaut un domaine de l'éditeur à chaque démarrage. Un serveur souverain n'appelle pas un tiers.- Pas de récursion : PowerDNS Authoritative ne récurse pas — vérifié, il répond
REFUSED.
Ce que la phase 1 n'expose pas
Aucun flux depuis Internet. Le port 53 public viendra en phase 2, par la redirection
de la frontière — et seulement après DNSSEC signé chez le locataire, CAA, et la limitation
de débit des réponses. Le déclarer aujourd'hui dans meta/flux.yml ferait émettre au
devis une règle sur le WAN que personne n'aurait décidée.