[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
@@ -2,6 +2,19 @@
|
||||
|
||||
> Il 2026-05-29 ci sono state DUE sessioni: **pomeriggio** e **mattina** (TRPG). Il 2026-05-30 sessione lunga: gap competitivi P1/P2/P3 + connettori + review multi-agente + fix.
|
||||
|
||||
## 2026-06-11 — ✅ CUTOVER TLS-DB FATTO: NIS2 su container nis2-db (TCP+TLS), anomalia socket chiusa
|
||||
|
||||
Dopo 3 outage notturni (TLS-su-socket), risolto definitivo con lo standard "come TRPG":
|
||||
- VIGILE ha **migrato** host→container `nis2-db` (copia esatta 60 tab/19 utenti/max_id 392; host intatto, backup `/root/backups/nis2-migration-20260611/`).
|
||||
- Io: `.env` **`DB_HOST=172.21.0.4`** (IP del container — fpm NON risolve `db`) + reload fpm (`docker exec nis2-app kill -USR2 1`) → **TCP verde** (login reale 401, container, 19 utenti). Poi `touch application/config/.db_ssl_on` (+ CA container già giusta) + reload → **`Ssl_version=TLSv1.3`** dal worker reale, login Fattori 200, ARIA RAG ok → **TLS verde**.
|
||||
- VIGILE: `ALTER USER 'nis2_user'@'%' REQUIRE SSL` sul container → **post-check verde**: plain no-SSL **rifiutato (1045)**, app 200/ok.
|
||||
- **Guard anti-outage** in `Database::sslOptions()` (commit `4548cc6`): salta SSL su connessione socket → riaccendere il flag su socket non può più causare outage.
|
||||
- Tecnica usata senza SSH continuo: edit file bind-mounted (`.env` posseduto da uid 1000, `application/config/`, `public/`) + diag serviti da `public/` via HTTPS + reload fpm via SSH host. **Regola d'oro confermata: verificare SEMPRE dal worker fpm reale (login), MAI da CLI/`docker exec`/api-status** (CLI dava falsi positivi: DB_HOST e source-IP divergono).
|
||||
- File d'ambiente (`.env`, `.db_ssl_on`, `db-ca.pem`) sono **gitignored** (corretto). Memoria `project_db_topology` aggiornata (ora: container via TCP+TLS).
|
||||
- ⏭️ Residuo VIGILE: decommission host (`DROP nis2_user@localhost`) quando confermata stabilità → NIS2 self-contained come TRPG.
|
||||
|
||||
---
|
||||
|
||||
## 2026-06-10 — TLS-DB pre-equip (VIGILE) + SCOPERTA split DB host/container
|
||||
|
||||
> Task da CLAUDE.md (cima, "VIGILE 2026-06-10"): pre-equip PHP-PDO/CA per TLS-in-transito DB, gated default-OFF, **senza** enforce (l'`ALTER USER` è di VIGILE). Eseguito con precisione chirurgica + 2 agenti background di review.
|
||||
|
||||
Reference in New Issue
Block a user