# POL-OPS-STACK-001 — Conformité pile opérateur (C1–C5) — Exigences & preuves attendues **Version :** 1.1 **Date :** 26 janvier 2026 **Statut :** Obligatoire (référence vivante) **Portée :** Opérateurs (C1–C5), Gouvernance, Audit --- ## 1. Objet Définir les exigences minimales et les **preuves attendues** pour qu’un membre “Opérateur” soit considéré conforme à la **Pile opérateur de référence** (ADR-OPS-STACK-001). Cette politique est conçue pour produire une conformité **mécanique** : - des preuves standardisées, - indexées, - et vérifiables. --- ## 2. Exigences transversales (obligatoires) ### 2.1 Traçabilité (PR + ΔLog) - Toute modification doit être : - versionnée (Forgejo), - validée (PR), - expliquée (ΔLog), - reliée à une exécution (CI, OpenTofu, Ansible) si applicable. **Preuves :** - Liens PR + ΔLog - Logs d’exécution (CI / runner C5) - Tag/release si changement livré --- ### 2.2 Membrane & non-bypass - C5 (NGINX+ModSecurity) est **le** point d’entrée unique. - Aucun accès tenant direct vers C2/C3/C4. **Preuves :** - Export OPNsense + matrice de flux autorisés - Tests “saut de couche” (résultats + horodatage) - Logs NGINX/OPNsense démontrant la médiation --- ### 2.3 SSO & RBAC - Les portails exposés (Grafana, Icinga Web) sont accessibles via C5 et protégés par SSO (Keycloak). - Rôles séparés (ops, audit) documentés. **Preuves :** - Export Keycloak (realm/clients/roles) - Matrice rôles → permissions - Logs d’authentification (exemples) --- ### 2.4 Indexation des preuves - Les preuves doivent être déposées et indexées dans le dépôt `operator-stack/` selon un format stable. **Preuves :** - `evidence/00_Evidence_Index.md` à jour - Convention de nommage appliquée - Preuves datées par période (trimestre ou mois) --- ## 3. Exigences et preuves par couche ### 3.1 C1 — Proxmox VE / Ceph / TrueNAS **Exigences** - Proxmox VE : cluster opéré, accès admin restreint, inventaire maintenu. - Ceph : santé OK, réplication définie, capacité suivie. - TrueNAS : datasets/ACL + snapshots/rétention si utilisé pour landing zone / exports / backup. **Preuves minimales** - C1-E1 : inventaire Proxmox (nœuds, versions, ressources) - C1-E2 : état de santé Ceph + capacité - C1-E3 : test de restauration documenté pour un workload critique - C1-E4 : configuration TrueNAS pertinente (datasets/snapshots) si activée --- ### 3.2 C2 — OPNsense / PowerDNS Authoritative / WireGuard **Exigences** - OPNsense : segmentation par couche, “default deny”, logs activés. - PowerDNS : zones + délégations, ACL, traçabilité des changements. - WireGuard : accès ops/admin sécurisé, onboarding/offboarding maîtrisé. **Preuves minimales** - C2-E1 : export configuration OPNsense (versionné) + matrice de flux - C2-E2 : test “non-bypass / adjacent-only” (résultats + logs) - C2-E3 : inventaire DNS (zones/délégations) + ΔLog des changements - C2-E4 : preuves WireGuard (pairs autorisés + journal connexions + runbook) --- ### 3.3 C3 — Keycloak / OpenLDAP / Icinga / Prometheus / Grafana / Loki **Exigences** - Keycloak : SSO fonctionnel, RBAC, séparation ops/audit. - OpenLDAP : seulement si requis ; sauvegarde et contrôle d’accès. - Icinga2 + Web 2 + BPM : SLA/états auditables (vues auditeurs). - Prometheus + Alertmanager : collecte métriques et alerting. - Grafana : console unifiée (Prometheus + Loki). - Loki : logs centralisés, conventions de labels, rétention appliquée, séparation prouvable. **Preuves minimales** - C3-E1 : export Keycloak + matrice rôles→droits - C3-E2 : exports BPM (tableaux “auditeur” couvrant C1–C5) - C3-E3 : couverture checks Icinga + historique alertes/incidents - C3-E4 : targets Prometheus + règles Alertmanager + exemple d’alerte - C3-E5 : exports dashboards Grafana + sources de données - C3-E6 : conformité Loki (labels/rétention + requêtes d’exemple reproductibles) --- ### 3.4 C4 — Forgejo / Forgejo Actions (CI) / Harbor / Vault / Référentiels IaC **Exigences** - Forgejo : PR obligatoires, branches protégées, ADR/POL versionnés, ΔLog actif. - Forgejo Actions : CI de validation (build/test/scan/validation IaC), logs conservés. - Harbor : registry OCI avec RBAC, rétention, provenance (liens CI). - Vault : secrets centralisés, policies, audit log, rotation minimale. - Référentiels IaC : modules OpenTofu + playbooks/inventaires Ansible versionnés et revus. **Preuves minimales** - C4-E1 : règles repos (branch protection, PR rules) + exemples PR + ΔLog - C4-E2 : logs Forgejo Actions (CI) + politique pass/fail - C4-E3 : configuration Harbor (RBAC/rétention) + preuve d’artefacts publiés - C4-E4 : policies Vault + audit log + preuve “no secrets in repos” - C4-E5 : preuves IaC côté C4 : - format/lint (OpenTofu/Ansible), - `tofu plan` (ou équivalent) attaché aux PR, - artefacts de validation si utilisés --- ### 3.5 C5 — NGINX+ModSecurity / FastAPI / Unbound / Runner d’exécution IaC **Exigences** - NGINX + ModSecurity : point d’entrée unique, TLS, protections WAF, logs d’accès. - FastAPI : admission/quotas/politiques (au minimum), journalisation. - Unbound : DNS récursif tenants, ACL, forwarding contrôlé. - Runner d’exécution IaC (C5) : exécute les actions à privilèges (OpenTofu apply, Ansible) avec : - secrets fournis via Vault, - accès réseau minimal nécessaire, - traçabilité PR → exécution, - contrôle d’accès strict. **Preuves minimales** - C5-E1 : configurations versionnées NGINX + ModSecurity + preuve TLS (certs) - C5-E2 : logs NGINX démontrant la médiation (absence de bypass) - C5-E3 : FastAPI (OpenAPI, version, logs, contrôles admission/quotas) - C5-E4 : Unbound (ACL/forwarding) + logs + preuve “tenants ne parlent pas à C2” - C5-E5 : preuves exécution IaC côté C5 : - logs `plan/apply` OpenTofu, - logs Ansible, - identité d’exécution (qui/quoi/quand), - liens PR → job → exécution, - preuve de rollback/restore si applicable --- ## 4. Déclaration de non-conformité Une non-conformité est déclarée si : - un composant de la pile est absent, - les preuves minimales manquent ou ne sont pas indexées, - un bypass du pivot est possible, - les portails ne sont pas protégés par SSO via C5, - la traçabilité (PR/ΔLog) est absente, - l’exécution IaC n’est pas contrôlée via C5. Remédiation attendue : - incident/ticket (si votre ITSM existe), - ΔLog, - PR corrective, - preuves mises à jour et indexées. --- ## 5. ΔLog (à compléter au commit) - Politique : Conformité pile opérateur (C1–C5) + preuves attendues - Auteur(s) : \_________________\_ - Référence PR : \_________________\_ - Date d’entrée : \_________________\_