From 99bca920cb334b270c731ecb20d0eee4cb78a046 Mon Sep 17 00:00:00 2001 From: DevEnv nis2-agile Date: Thu, 11 Jun 2026 16:33:46 +0200 Subject: [PATCH] [DOCS] NIS2 piano TLS-DB socket->container: explainer grafico (HTML) Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/nis2/PIANO_TLS_CONTAINER.html | 147 +++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 docs/nis2/PIANO_TLS_CONTAINER.html diff --git a/docs/nis2/PIANO_TLS_CONTAINER.html b/docs/nis2/PIANO_TLS_CONTAINER.html new file mode 100644 index 0000000..e7e4438 --- /dev/null +++ b/docs/nis2/PIANO_TLS_CONTAINER.html @@ -0,0 +1,147 @@ + + + + + +NIS2 — Piano database privato + cifratura (socket → TCP) + + + +
+ +
+ Piano operativo · spiegato semplice +

NIS2 — Database privato + cifratura (TLS)

+

Dare a NIS2 il suo database, cifrato come gli altri prodotti. Stanotte 3 disservizi: ora sappiamo perché e c'è la strada che funziona. Metafora: casa condivisa vs stanza tutta tua.

+
+ +

1. Il prima, il problema, la soluzione + Lo stesso "motore" dell'app (i worker che servono le pagine), tre scenari +

+
+ +
+
● Oggi — funziona ma non cifrabile
+
+
🟦 App NIS2
+
⬇
+
corridoio interno (socket)
+
🏠 DB casa condivisa
(host MySQL)
+
+
Verde, ma il corridoio è dentro casa: niente da cifrare, e se ci provi crolla
+
+ +
+
✗ Tentativo — TCP verso la casa condivisa
+
+
🟦 App NIS2
+
⬇
+
esce in rete…
+
🚪 Cancello (gateway)
ti scambia per uno sconosciuto
+
⬇
+
🏠 DB host → ❌ 1045 respinto
+
+
Il "cancello" cambia l'identità → il DB ti respinge. È il guaio dei 3 disservizi.
+
+ +
+
✓ Soluzione — il database tutto suo
+
+
🟦 App NIS2
+
⬇
+
rete interna diretta · 🔒 cifrata
+
🚪➡🛏 Stanza accanto
DB privato nis2-db
+
+
Stessa rete, niente cancello → niente rifiuto. Qui il TLS si accende davvero. ✓ verificato dal worker reale
+
+ +
+ +

2. Chi fa cosa — i passi (tutti reversibili in 30 secondi) + Verde = già verificato funzionante dal vero motore dell'app +

+
+ Agile / VIGILE tocca il database + App (io) tocca il codice/config + Insieme verifica +
+
+
1
Agile

Backup

Copia di sicurezza prima di toccare qualsiasi cosa.

+
2
Agile

Riempire il database privato — migrando i dati veri dall'host

Oggi il container è vuoto (0 utenti). I dati reali (19 utenti, org Agile Technology, assessment…) sono nella casa condivisa. ⚠️ Migrare, NON ripartire da zero (altrimenti si perde tutto).

+
3
App (io)

Spostare l'app sul container, in TCP

Cambio una riga: DB_HOST = 172.21.0.4 (l'indirizzo numerico del container — non il nome, perché il motore dell'app non risolve i nomi).

+
4
Verifica

Login vero

Faccio un login reale + apro una dashboard. Deve rispondere normale (200/401), mai errore. Se va male → torno indietro in 30 secondi.

+
5
App (io)

Accendere la cifratura (TLS)

Attivo il flag + uso la CA del container (già quella giusta). Verifico di nuovo dal login reale che giri cifrato (TLSv1.3).

+
6
Agile

Mettere l'obbligo

Solo dopo il mio "TLS verde": REQUIRE SSL sull'utente del database. Da quel momento il non-cifrato è rifiutato.

+
7
App (io)

Staccare il vecchio aggancio + tenere la rete di sicurezza

NIS2 diventa indipendente come gli altri. Resta attivo il guard anti-disservizio già messo nel codice.

+
+ +

3. La decisione che serve da Agile

+
+ ⚠️ Migrare i dati, non ripartire da zero. Il database privato è vuoto; quello vero (host) ha 19 utenti e 60 tabelle reali — utenti, organizzazione Agile Technology, assessment, incidenti. "Ripartire puliti" significherebbe cancellarli. Per dati reali va fatta la copia (migrazione). La scelta è di Agile, perché i dati li tocca solo Agile. +
+ +

4. La regola d'oro

+
+ Verificare sempre dal vero motore dell'app (un login reale), mai dalle scorciatoie (pagina di stato, riga di comando, "a memoria"). Stanotte le scorciatoie hanno ingannato 3 volte: la riga di comando diceva "funziona" mentre l'app vera cadeva. +
+ +
+ In una riga: Agile copia i dati veri nel database privato di NIS2 → io sposto l'app lì (in TCP, con l'indirizzo numerico), accendo la cifratura e verifico col login vero → Agile mette l'obbligo. Risultato: NIS2 indipendente e cifrato come gli altri, senza più passare dal "cancello" che faceva cadere tutto. +
+ + + +
+ +