[DOCS] OUTGOING→AgileHub/VIGILE: richiesta enforce TLS REQUIRE SSL su nis2_user (pre-equip PHP-CA fatto, de-rischiato)
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
2552062c48
commit
93b21eeb43
@@ -0,0 +1,32 @@
|
|||||||
|
# NIS2 → AgileHub/VIGILE — Richiesta: enforce TLS `REQUIRE SSL` su `nis2_user`
|
||||||
|
|
||||||
|
> **Da**: NIS2 (product-side) · **A**: VIGILE / AgileHub (infra DB/TLS) · **Data**: 2026-06-16
|
||||||
|
> **Tema**: migrazione TLS-in-transito DB per-utente (std `ANALISI_TLS_DB_STRUTTURALE_E_CENSIMENTO_2026_06_10`).
|
||||||
|
> **Tipo**: richiesta di coordinamento (azione DB di vostra competenza). **Asincrona** — nessuna urgenza bloccante.
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
La **parte di competenza del prodotto è COMPLETA**: l'app NIS2 si connette al DB **già in TLS 1.3** con CA file (pre-equip PHP-CA fatto). Manca solo l'**enforce server-side** su `nis2_user`, che CLAUDE.md indica come azione **coordinata con VIGILE**. Richiediamo di eseguirlo nella vostra finestra.
|
||||||
|
|
||||||
|
## Azione richiesta (lato DB `nis2-db`)
|
||||||
|
```sql
|
||||||
|
ALTER USER 'nis2_user'@'%' REQUIRE SSL;
|
||||||
|
FLUSH PRIVILEGES;
|
||||||
|
```
|
||||||
|
- Rollback immediato se necessario: `ALTER USER 'nis2_user'@'%' REQUIRE NONE;`
|
||||||
|
|
||||||
|
## Perché è SICURO (de-rischiato lato prodotto)
|
||||||
|
Verificato il 2026-06-16 dal worker reale:
|
||||||
|
- L'app si connette con **`cipher=TLS_AES_256_GCM_SHA384`** (TLS 1.3) — sia host php-fpm (prod) sia container.
|
||||||
|
- PDO configurato con **`PDO::MYSQL_ATTR_SSL_CA`** (`application/config/db-ca.pem`) + `MYSQL_ATTR_SSL_VERIFY_SERVER_CERT=false` (CA host self-signed → canale cifrato, no verifica hostname). Guard anti-outage: il TLS si applica solo a connessioni TCP (`DB_HOST=172.21.0.4`), non a socket.
|
||||||
|
- `SHOW GRANTS FOR CURRENT_USER()` su `nis2_user@%` → **NON** presenta ancora `REQUIRE SSL` (solo TLS client-side). Quindi l'enforce è l'unico passo mancante e **non impatta l'app** (già conforme).
|
||||||
|
|
||||||
|
## ⚠️ Da verificare lato vostro PRIMA dell'enforce
|
||||||
|
`nis2_user` è `@'%'` (qualsiasi host). Prima di `REQUIRE SSL` accertarsi che **NON esistano altri consumer** che si connettono come `nis2_user` **senza** TLS (cron/backup/tool esterni): andrebbero in errore. Lato prodotto risultano TLS sia il front (host php-fpm) sia i CLI nel container `nis2-app` (stessa `database.php`). Se ci sono altri client a vostra conoscenza, equipaggiarli col CA prima.
|
||||||
|
|
||||||
|
## Contesto / riferimenti
|
||||||
|
- CLAUDE.md (testata): *"QUESTO PRODOTTO — stato/azione: DA FARE (pre-equip PHP-CA): nis2_user. Coordinare con VIGILE per enforce; il CA file è obbligatorio (non basta un flag)."* → **pre-equip ora FATTO**.
|
||||||
|
- Topologia DB: container `nis2-db` via TCP+TLS, `DB_HOST=172.21.0.4` (cutover 2026-06-11). 19 utenti già migrati con REQUIRE SSL; `nis2_user` è tra i residui.
|
||||||
|
- Canale: i MS AgileHub (4213/4211) non sono raggiungibili dal devenv NIS2 (000) → uso il canale doc `OUTGOING_TO_AGILEHUB` (come da pattern bidirezionale esistente).
|
||||||
|
|
||||||
|
## Conferma di ritorno gradita
|
||||||
|
Una riga in un `INCOMING_FROM_AGILEHUB_*` (o al boot del prossimo prompt NIS2) quando l'enforce è applicato, così aggiorniamo lo stato in CLAUDE.md / memoria da "DA FARE" a "DONE".
|
||||||
Reference in New Issue
Block a user