Set-OPS-Public/wiki/Rôles.md

93 lines
5.4 KiB
Markdown
Raw Normal View History

# Les rôles, un par un
> **Généré** par `make fiches`. Ne pas éditer à la main : corriger la déclaration du rôle, puis régénérer.
> **Pour qui :** celui qui doit agir sur un rôle et veut savoir, avant de toucher quoi que ce soit, qui lui parle, ce qu'il rend et ce qu'il coûte.
Chaque fiche est construite depuis ce que le rôle **déclare lui-même** — `meta/flux.yml`, `meta/supervision.yml`, `meta/metriques.yml`, `meta/empreinte.yml`, `meta/authentification.yml`. Aucune n'est écrite à la main : soixante-huit pages rédigées seraient périmées avant la fin du mois.
**Une colonne vide est une information**, pas un trou dans la fiche. C'est la carte de ce qui reste à déclarer, tenue à jour toute seule.
| rôle | flux entrants | sonde | métriques |
|---|---|---|---|
| [`amorcage_acces`](Rôle-amorcage_acces) | — | — | — |
| [`apparmor`](Rôle-apparmor) | — | — | — |
| [`auditd`](Rôle-auditd) | — | — | — |
| [`chrony`](Rôle-chrony) | — | — | — |
| [`client_artefacts`](Rôle-client_artefacts) | — | — | — |
| [`client_backup`](Rôle-client_backup) | — | — | — |
| [`client_journal`](Rôle-client_journal) | 1 | 1 | — |
| [`client_metrique`](Rôle-client_metrique) | 1 | 1 | — |
| [`client_pki`](Rôle-client_pki) | — | 1 | — |
| [`client_resolveur`](Rôle-client_resolveur) | — | — | — |
| [`client_sante`](Rôle-client_sante) | — | 1 | — |
| [`client_smtp`](Rôle-client_smtp) | — | — | — |
| [`cloud_init`](Rôle-cloud_init) | — | — | — |
| [`cloud_init_retrait`](Rôle-cloud_init_retrait) | — | — | — |
| [`common_packages`](Rôle-common_packages) | — | — | — |
| [`core_dumps`](Rôle-core_dumps) | — | — | — |
| [`fail2ban_ssh`](Rôle-fail2ban_ssh) | — | — | — |
| [`hardening_packages`](Rôle-hardening_packages) | — | — | — |
| [`hosts_statiques`](Rôle-hosts_statiques) | — | — | — |
| [`journald`](Rôle-journald) | — | — | — |
| [`motd`](Rôle-motd) | — | — | — |
| [`nftables_baseline`](Rôle-nftables_baseline) | — | — | — |
| [`paquets_tiers`](Rôle-paquets_tiers) | — | — | — |
| [`qemu_guest_agent`](Rôle-qemu_guest_agent) | — | — | — |
| [`resoudre_annuaire`](Rôle-resoudre_annuaire) | — | — | — |
| [`resoudre_base`](Rôle-resoudre_base) | — | — | — |
| [`resoudre_idp`](Rôle-resoudre_idp) | — | — | — |
| [`resoudre_politique_mdp`](Rôle-resoudre_politique_mdp) | — | — | — |
| [`serveur_artefacts`](Rôle-serveur_artefacts) | 1 | 2 | — |
| [`serveur_backup`](Rôle-serveur_backup) | 1 | 1 | — |
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
| [`serveur_backup_site`](Rôle-serveur_backup_site) | 1 | 1 | — |
| [`serveur_cache_site`](Rôle-serveur_cache_site) | 1 | 1 | — |
| [`serveur_collabora`](Rôle-serveur_collabora) | 2 | 1 | — |
| [`serveur_debian`](Rôle-serveur_debian) | 3 | 2 | — |
| [`serveur_dns_public`](Rôle-serveur_dns_public) | 4 | 1 | — |
| [`serveur_dovecot`](Rôle-serveur_dovecot) | 3 | 1 | — |
| [`serveur_durci`](Rôle-serveur_durci) | — | 1 | — |
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
| [`serveur_forge_site`](Rôle-serveur_forge_site) | 1 | 1 | — |
| [`serveur_forgejo`](Rôle-serveur_forgejo) | 2 | 1 | — |
| [`serveur_grafana`](Rôle-serveur_grafana) | 1 | 1 | — |
| [`serveur_icinga`](Rôle-serveur_icinga) | 4 | 1 | — |
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
| [`serveur_icingaweb2`](Rôle-serveur_icingaweb2) | 1 | 1 | — |
| [`serveur_keycloak`](Rôle-serveur_keycloak) | 1 | 1 | — |
| [`serveur_loki`](Rôle-serveur_loki) | 4 | 2 | — |
| [`serveur_nextcloud`](Rôle-serveur_nextcloud) | 1 | 1 | — |
| [`serveur_nginx`](Rôle-serveur_nginx) | 4 | 1 | — |
| [`serveur_oauth2_proxy`](Rôle-serveur_oauth2_proxy) | 1 | 1 | — |
| [`serveur_openldap`](Rôle-serveur_openldap) | 2 | 1 | — |
| [`serveur_ops`](Rôle-serveur_ops) | 1 | 2 | — |
| [`serveur_ops_site`](Rôle-serveur_ops_site) | — | 3 | — |
| [`serveur_ops_tenant`](Rôle-serveur_ops_tenant) | 1 | 1 | — |
| [`serveur_postfix`](Rôle-serveur_postfix) | 2 | 1 | — |
| [`serveur_postgresql`](Rôle-serveur_postgresql) | 2 | 1 | oui |
| [`serveur_powerdns`](Rôle-serveur_powerdns) | 4 | 1 | — |
| [`serveur_prometheus`](Rôle-serveur_prometheus) | 1 | 1 | — |
| [`serveur_redis`](Rôle-serveur_redis) | 1 | 1 | — |
| [`serveur_resolveur`](Rôle-serveur_resolveur) | 2 | 1 | — |
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
| [`serveur_resolveur_site`](Rôle-serveur_resolveur_site) | 2 | 1 | — |
| [`serveur_rspamd`](Rôle-serveur_rspamd) | 2 | 1 | — |
| [`serveur_step_ca`](Rôle-serveur_step_ca) | 1 | 1 | — |
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
| [`serveur_web_dorsal`](Rôle-serveur_web_dorsal) | 1 | 1 | — |
| [`serveur_web_frontal`](Rôle-serveur_web_frontal) | 1 | 1 | — |
| [`ssh_baseline`](Rôle-ssh_baseline) | — | — | — |
| [`ssh_hardening`](Rôle-ssh_hardening) | — | — | — |
| [`sudo_ansible`](Rôle-sudo_ansible) | — | — | — |
| [`sysctl_hardening`](Rôle-sysctl_hardening) | — | — | — |
| [`systemd_ssh_auto`](Rôle-systemd_ssh_auto) | — | — | — |
| [`template_cleanup`](Rôle-template_cleanup) | — | — | — |
| [`unattended_upgrades`](Rôle-unattended_upgrades) | — | — | — |
## Ce qui reste à déclarer
Sur **69** rôles :
- **35** ne déclarent aucun flux entrant
- **31** ne déclarent aucune sonde
- **68** ne déclarent aucune métrique
Ces nombres ne sont pas tous des dettes : un rôle de durcissement n'a rien à exposer, et beaucoup de `client_*` n'ont aucun verdict à rendre. Mais un service qui porte de l'état et ne déclare rien mérite qu'on se demande pourquoi.