Rend l'écosystème reconstructible en une commande (create+deploy idempotent) et ajoute la couche « accès » (nftables least-privilege) au zéro-confiance. Orchestrateur (phase 2) : - docs/couches-deploiement.yml : registre des couches (socle → pki → services → apps → agents) - scripts/orchestrer.py : tri par couche + topo intra-couche (graphe) → playbooks/site.yml ordonné - Makefile : site / deployer-tout / flotte-creer / reconstruire / myDay (+ gardes CONFIRMER) - docs/dependances-groupes.yml : graphe complété (keycloak→openldap, dovecot, postfix, icingaweb2, nextcloud) Audit codé-en-dur (phase 1b) : labels/slug OIDC dérivés de l'intrant `organisation` (serveur_forgejo/grafana/nextcloud) — le moteur ne porte plus de nom de tenant. Registre des flux réseau (phase 0) : - meta/flux.yml pour tous les rôles (29 rôles, 63 flux ; schéma + matrice validés) - scripts/resoudre_flux.py : matrice d'audit (docs/registre-flux.md) + rulesets nftables résolus par hôte - roles/nftables_baseline : déploie le ruleset résolu (moindre-privilège) quand activé, sinon repli Correctifs : détection du coffre Vault (chemin production → inventaire réellement résolu). Outillage : make wiki-publier (publication du wiki pédagogique dans Forgejo). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
---
|
|
- name: Installer nftables
|
|
ansible.builtin.apt:
|
|
name: nftables
|
|
state: present
|
|
|
|
- name: Vérifier la présence du ruleset résolu (généré par make flux)
|
|
ansible.builtin.stat:
|
|
path: "{{ nftables_baseline_ruleset_genere }}"
|
|
delegate_to: localhost
|
|
become: false
|
|
changed_when: false
|
|
register: nftables_baseline_ruleset_stat
|
|
|
|
- name: Déployer le ruleset nftables résolu (moindre privilège, généré)
|
|
ansible.builtin.copy:
|
|
src: "{{ nftables_baseline_ruleset_genere }}"
|
|
dest: /etc/nftables.conf
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload nftables
|
|
when:
|
|
- nftables_baseline_enabled | bool
|
|
- nftables_baseline_ruleset_stat.stat.exists
|
|
|
|
- name: Déployer la configuration nftables Set-OPS (gabarit plat — repli)
|
|
ansible.builtin.template:
|
|
src: nftables.conf.j2
|
|
dest: /etc/nftables.conf
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload nftables
|
|
when:
|
|
- nftables_baseline_enabled | bool
|
|
- not nftables_baseline_ruleset_stat.stat.exists
|
|
|
|
- name: Activer nftables si demandé
|
|
ansible.builtin.systemd:
|
|
name: nftables
|
|
enabled: true
|
|
state: started
|
|
when: nftables_baseline_enabled | bool
|
|
|
|
- name: Désactiver nftables si demandé
|
|
ansible.builtin.systemd:
|
|
name: nftables
|
|
enabled: false
|
|
state: stopped
|
|
when: not (nftables_baseline_enabled | bool)
|
|
failed_when: false
|