Set-OPS-Public/roles/serveur_resolveur_site/defaults/main.yml

26 lines
1.3 KiB
YAML
Raw Normal View History

resolveur du site : le troisieme service prete pendant la jeunesse d un tenant Apres les paquets (serveur_cache_site) et le genome (serveur_forge_site), les NOMS. Meme patron : un installateur, un marqueur. CE QUE CA CORRIGE, mesure sur infra-pki-01, premiere machine a porter l autorite de Chezlepro : DNS BLOQUE un tenant resout chez lui, sa requete ne sort pas 443 sortant OK par adresse apt via le cache OK le mandataire resout a sa place apt s en sortait ; TOUT LE RESTE ETAIT AVEUGLE AUX NOMS. Versionner la cle de signature Smallstep a fait passer une tache et l echec s est deplace d un cran : le depot lui-meme devait etre joint par son nom. POURQUOI PAS L UNBOUND DE LA FRONTIERE : il tourne sur le boitier sans etre un service gere, et le plan du site l avait deja ecrit une fois — un processus n est pas un service. site-dns-01 est deploye par le moteur et verifie par le harnais. OU VIT LA DERIVATION : dans site_inventaire.py, qui connait le plan du site ET le registre des tenants. Le role tourne sur une machine qui n a aucune raison de lire la carte de l hebergeur — la derivation appartient a qui detient les deux sources. PIEGE DE FILTRE, ATTRAPE EN LE BRANCHANT : _supernets_voisins() EXCLUT l instance montee (personne n est son propre voisin). Le site sert TOUS ceux qu il heberge — y compris celui qu on deploie. Reutilise tel quel, il privait de resolution le seul tenant en cours de montage. On reutilise donc la DECOUVERTE partagee sans son filtre : deux recensements divergent, deux filtres non. Le marqueur verifie deux choses : que le resolveur ECOUTE, et que sa liste d autorisation ADMET reellement les tenants. Sans la seconde, la panne chez le locataire ressemblerait a un DNS mort alors que c est une ACL. make verifier : vert. make prouver : CONFORME, 55 OK, 0 echec, 0 saute. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
2026-08-30 12:37:33 -04:00
---
# LE RÉSOLVEUR DU SITE — le marqueur, pas l'installateur.
#
# `serveur_resolveur` pose Unbound et son ACL ; ce rôle dit que CE résolveur est celui que
# les écosystèmes du site interrogent pendant leur jeunesse, et déclare le flux qui le
# permet.
#
# La liste d'autorisation se dérive dans `scripts/site_inventaire.py`, qui connaît le plan
# du site ET le registre des tenants. On ne la redéclare pas ici : une seconde source
# finirait par diverger de la première, et la divergence se lirait « tout va bien ».
serveur_resolveur_site_port: "{{ serveur_resolveur_port | default(53) }}"
supervision : les huit derniers roles, et deux defauts que l epreuve a trouves Les 33 roles serveur_* declarent maintenant une sonde. Les huit qui manquaient sont ceux dont la verite ne ressemble pas a « ce service repond-il ». Quatre marqueurs du site : ce que tasks/main.yml verifie UNE FOIS au deploiement cesse d etre vrai sans que rien ne tombe. La racine du cache se retrouve chainee, la forge du genome repond en n ayant plus rien dedans, un locataire n est plus admis a resoudre, l isolation d un depot glisse. serveur_ops_site ne sert rien : il detient un pouvoir. La sonde verifie que la carte est la, que la voute du site est chiffree et que sa cle est en 0600 — sans lire le contenu d aucun des trois. serveur_icingaweb2 surveille la vitrine de la supervision elle-meme : si la console meurt, tout reste vert et l exploitant est aveugle. DEFAUT 1 — quatre gabarits qu Ansible aurait refuse de rendre. Jinja lit le {# de ${#tableau[@]} comme un debut de commentaire. Le depot connaissait le remede et l appliquait la ou quelqu un s etait fait prendre, nulle part ailleurs. P76 rend desormais chaque gabarit de role, avec les delimiteurs qu Ansible en tirerait — pas une recherche de motif. DEFAUT 2 — la doctrine promettait 54 greffons et citait check_pgsql. La flotte a monitoring-plugins-basic : 53, sans check_pgsql ni check_dns ni check_ldap. Le paquet qui les porte traine samba et snmp sur chaque machine. Un greffon absent sort en 127, qui n est pas un code Nagios. 21 controles negatifs sur les machines reelles du site. ansible-lint production 0/91, harnais 75 OK. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-14 15:43:52 -04:00
# LA SONDE « resolution-locataires ».
#
# LE NOM TEMOIN N'EST PAS UN NOM D'ICI. Demander un nom de la zone souveraine ne prouverait
# que l'autoritatif local ; c'est deja ce que fait la sonde `zones`. Un nom PUBLIC exerce
# le chemin entier — racine signee comprise — qui est exactement ce qu'un locataire vient
# chercher ici.
serveur_resolveur_site_sonde_nom: "deb.debian.org"
serveur_resolveur_site_sonde_config: "/etc/unbound/unbound.conf.d"
# L'ADRESSE OU LES LOCATAIRES FRAPPENT — pas 127.0.0.1, qui est deja couvert par la sonde
# `resolution` de `serveur_resolveur`. Une ecoute peut se deplacer sans que la boucle
# locale cesse de repondre.
serveur_resolveur_site_sonde_adresse: "{{ ansible_default_ipv4.address | default('127.0.0.1') }}"