Historique des décommissionnements

L'infrastructure Indio a connu plusieurs vagues de décommissionnement et de reconstruction, notamment sur le périmètre SOC/SIEM. Cette page résume l'historique factuel et la procédure de nettoyage complet appliquée à chaque fois, pour référence en cas de nouveau décommissionnement.

Chronologie

flowchart TD
    A["2026-07-06<br/>Décommissionnement SOC/SIEM initial<br/>13 VM : misp/thehive/cortex/ELK×6/n8n/kafka×3"]
    A -->|"reconstruit le jour même,<br/>seg-soc + RPM Confluent"| A2["Kafka reconstruit"]
    A2 --> B["2026-07-07<br/>Round 2 : 21 VM<br/>supervision + data + SOC (Kafka/ELK)"]
    B --> C["2026-07-07<br/>+ 6 VM nues seg-service<br/>ocs/postfix×2/keycloak×2/glpi"]
    B --> D["2026-07-07<br/>+ FreeIPA détruit<br/>(bastion Guacamole conservé)"]
    C --> E["Redéploiements successifs :<br/>PostgreSQL, Zabbix/Grafana, SOC complet,<br/>GLPI/OCS, Postfix (07-17)"]
    D --> F["2026-07-11 : VM nues INDIDEN004/005<br/>2026-07-16 : install FreeIPA manuelle<br/>2026-07-17 : trust AD établi, HBAC actif"]
    G["2026-07-11<br/>Destruction incidente (hors procédure)<br/>vSAN File Service, effet de bord maintenance esxi-node02"]
    H["2026-07-14<br/>Simplification chirurgicale SOC<br/>ES 9→6, Logstash 3→2"]
    H --> I["2026-07-14<br/>MISP/TheHive/Cortex → VM nues<br/>installation manuelle prévue par l'exploitant"]

    style G stroke-dasharray: 3 3

Les deux branches issues du round du 2026-07-07 (nettoyage seg-service et FreeIPA) sont indépendantes l'une de l'autre ; l'incident du 07-11 (nœud pointillé) est distinct des vagues volontaires ci-dessus — voir la section dédiée plus bas.

Procédure de référence

Un décommissionnement "complet" (par opposition à un simple terraform destroy) couvre systématiquement :

  1. terraform destroy (ciblé si nécessaire pour éviter les effets de bord sur des ressources non liées) dans chaque projet concerné.
  2. Suppression des VM/interfaces/IP correspondantes dans NetBox via l'API (token temporaire provisionné puis révoqué).
  3. Retrait des entrées correspondantes dans /root/netbox/seed/populate.py (sinon un rejeu du script de seed recrée des VM fantômes).
  4. Retrait des lignes correspondantes dans /root/baseline/ansible/inventory.ini.
  5. Retrait des règles NSX/DFW devenues orphelines (groupes, services, security policies) qui référençaient les VM supprimées.
  6. Commit + push séparés par projet touché, en isolant toute modification préexistante non liée présente dans le même fichier.

2026-07-06 — Décommissionnement SOC/SIEM initial

13 VM détruites : misp, thehive, cortex, le cluster ELK (6 nœuds), n8n, kafka (3 nœuds). Nettoyage complet effectué (Terraform, NetBox, Ansible, DFW).

Kafka a été reconstruit le jour même, puis re-migré vers le vrai segment réseau seg-soc avec passage d'une installation tarball Apache à une installation par RPM Confluent officiel.

2026-07-07 — Décommissionnement supervision / data / SOC (round 2)

21 VM supplémentaires détruites sur trois segments :

  • seg-supervision : Zabbix, Grafana, syslog-ng.
  • seg-soc : Kafka (reconstruit la veille), rebuild ELK (jamais mis en service).
  • seg-data : PostgreSQL, MySQL.

Nettoyage complet effectué (Terraform, NetBox, populate.py, inventaire Ansible, DFW).

Dans la foulée, deux autres rounds de nettoyage ont eu lieu le même jour :

  • seg-service : 6 VM "nues" jamais mises en service (ocs, postfix ×2, keycloak ×2, glpi).
  • FreeIPA : les 2 nœuds FreeIPA détruits (le bastion Guacamole du même projet Terraform n'a pas été touché). Le trust AD et le conditional forwarder configurés manuellement côté Active Directory n'ont pas été nettoyés (hors périmètre IaC, non demandé) — situation reconstruite depuis, voir ci-dessous.

PostgreSQL, la supervision (Zabbix/Grafana) et Kafka/ELK ont ensuite été redéployés (voir les pages dédiées : PostgreSQL, Zabbix), de même que le SOC dans son ensemble (voir Vue d'ensemble SOC). GLPI et OCS Inventory ont également été redéployés depuis (voir GLPI, OCS Inventory NG), ainsi que Postfix le 2026-07-17 (code Terraform inchangé, voir Postfix). FreeIPA a lui aussi été reconstruit : VM nues redéployées le 2026-07-11 sur INDIDEN004/INDIDEN005 (nouveaux noms, mêmes IP que les originaux détruits), installation manuelle par l'exploitant le 2026-07-16, puis correction du realm Kerberos et établissement complet du trust AD par délégation DNS le 2026-07-17 (45/47 serveurs Linux enrôlés, HBAC SSH actif) — voir FreeIPA & trust AD. Le conditional forwarder mentionné ci-dessus comme jamais nettoyé a été remplacé dans la foulée par une vraie délégation de zone DNS, plus robuste.

2026-07-11 — Destruction incidente hors procédure (vSAN File Service)

À distinguer des vagues ci-dessus : il ne s'agit pas d'un décommissionnement demandé, mais d'un effet de bord d'une opération de maintenance plateforme. En préparant esxi-node02 pour NSX (host jamais initialisé comme transport node, bloquant la création de VM sur la moitié du cluster), le passage de l'hôte en mode maintenance complet a déclenché côté EAM (vim.eam) une désactivation automatique du vSAN File Service sur tout le cluster, détruisant au passage les 2 VM système vSAN File Service Node (1)/(2) (appliances auto-déployées par vSAN, hors Terraform/NetBox/Ansible — aucun nettoyage IaC applicable). Le service a depuis été réactivé et le partage NFS (file-node01) est de nouveau opérationnel (utilisé notamment par le pipeline syslog-ng, voir syslog-ng), avec une instabilité résiduelle sous écriture continue — voir Points de vigilance. Détail complet de l'incident : vSAN File Service.

2026-07-14 — Simplification du dimensionnement SOC

Réduction chirurgicale (et non destroy+rebuild) du cluster Elasticsearch (9 → 6 nœuds, fin du tiering hot/warm/ML) et de Logstash (3 → 2 nœuds).

MISP, TheHive et Cortex ont ensuite été redemandés en VM nue pour une installation manuelle prévue par l'exploitant — le code Ansible correspondant reste conservé sur GitLab mais n'est plus nécessairement celui appliqué en l'état sur ces VM. Voir MISP, TheHive, Cortex.

Enseignement retenu

Un segment réseau entièrement vidé de ses VM conserve son squelette NSX (zone, security policy par défaut) : seule la numérotation NNN redémarre à 001 sur confirmation explicite. Voir Convention de nommage.