[DOCS] TLS-DB nis2: CUTOVER FATTO 2026-06-11 — app su container nis2-db (TCP+TLSv1.3, REQUIRE SSL)
Anomalia socket chiusa. App ora client TCP+TLS verso il proprio container nis2-db
(DB_HOST=172.21.0.4), dati migrati (19 utenti), Ssl_version=TLSv1.3, REQUIRE SSL enforced
(plain rifiutato 1045), verificato dal worker fpm reale (login Fattori 200, ARIA RAG ok).
Runbook + context aggiornati. Guard anti-outage gia' in 4548cc6.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
4548cc6ff2
commit
66d50cd2cf
@@ -1,5 +1,10 @@
|
||||
# TLS-in-transito DB — pre-equip NIS2 (VIGILE 2026-06-10)
|
||||
|
||||
> # ✅✅ FATTO — CUTOVER COMPLETATO 2026-06-11
|
||||
> NIS2 è ora **client TCP+TLS verso il suo container `nis2-db`** (come TRPG). Sequenza eseguita e verificata **dal worker fpm reale**:
|
||||
> 1. VIGILE ha **migrato** i dati host → container (copia esatta: 60 tab/19 utenti/max_id 392). 2. Switch `.env` **`DB_HOST=172.21.0.4`** (IP del container — NON `db`) + reload fpm. 3. **`Ssl_version=TLSv1.3`** (cipher TLS_AES_256_GCM_SHA384) + flag `.db_ssl_on` + CA container. 4. `ALTER USER 'nis2_user'@'%' REQUIRE SSL` sul container → **plain rifiutato (1045)**, app verde (login Fattori 200, ARIA RAG ok, api-status db:ok). 5. Guard anti-outage nel codice (commit `4548cc6`).
|
||||
> **Anomalia socket chiusa.** Resta (a cura VIGILE, quando confermata stabilità): decommission host (`DROP nis2_user@localhost` + archivio backup `/root/backups/nis2-migration-20260611/`). La parte qui sotto (decisione C / socket) è **storica/superata**.
|
||||
|
||||
> ✅ **DECISIONE 2026-06-10: opzione C (DEFER).** NIS2 resta 🔵 **escluso dall'enforce** / connessione **socket clear** (verde). Motivo: l'app fpm usa il MySQL host via **UNIX socket** = IPC locale, **nessun transito di rete da cifrare** → il TLS non aggiunge sicurezza reale. Scartate: A (`GRANT @'135.181.149.254'` = largo come `@'%'`, smell su prodotto di compliance) e B (fix NAT per-uid, rischioso). **Path pulito futuro** (finestra pianificata, con restart MySQL): aggiungere `172.21.0.1` al `bind_address` host + grant `nis2_user@'172.21.%'` + switch app `DB_HOST=172.21.0.1` + attivare il pre-equip — **validando dal path fpm (www-data), NON da CLI** (il source-bind-su-gateway per-uid può ripresentarsi anche su 172.21). Pre-equip codice già committato e pronto (`4d89b1e`).
|
||||
|
||||
> 🔴 **AGGIORNAMENTO 2026-06-10 (post-test reale): nis2 NON è TLS-izzabile così com'è.**
|
||||
|
||||
Reference in New Issue
Block a user