Set-OPS-Public/roles/nftables_baseline/tasks/main.yml
Daniel Allaire f05f505b88 Reconstruction propre : orchestrateur ordonné, registre des flux + pare-feu
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>
2026-07-07 03:08:09 -04:00

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