From 59205d05fb68c00feed3590badce164d0582c21e Mon Sep 17 00:00:00 2001 From: DevEnv nis2-agile Date: Sun, 31 May 2026 08:07:38 +0200 Subject: [PATCH] [FEAT] Gap Analysis estesa ai requisiti ACN (specifiche di base 164179/2025) Allinea il PRODOTTO alla guida/normativa portando la compliance dal livello 10 misure Art.21 al livello operativo dei requisiti ACN (Framework Nazionale 2025). - Migrazione 031: acn_requirements (catalogo) + org_acn_requirement_status (stato per-org) - Seed da Allegati 1-2 ACN (fonte certa, parsing verificato): 87 importanti + 116 essenziali = 203 requisiti reali - AuditController: acnRequirements (GET, per entity_type org: importanti 87 / essenziali 116, summary per funzione GV/ID/PR/DE/RS/RC, % compliance) + updateAcnRequirement (PUT stato+evidenza) - Route audit/acnRequirements GET/PUT - guida.html: fix refuso cap-5 (residuo 'otto categorie...no' -> '10 categorie x 8, quattro modalita') E2E prod: org importante -> 87 req; PUT implemented -> compliance aggiornata. Co-Authored-By: Claude Opus 4.8 (1M context) --- application/controllers/AuditController.php | 94 + docs/nis2/allegati_acn/acn_requirements.json | 1630 ++++++++++++++++++ docs/sql/031_acn_requirements.sql | 49 + public/index.php | 2 + scripts/seed_acn_requirements.php | 25 + 5 files changed, 1800 insertions(+) create mode 100644 docs/nis2/allegati_acn/acn_requirements.json create mode 100644 docs/sql/031_acn_requirements.sql create mode 100644 scripts/seed_acn_requirements.php diff --git a/application/controllers/AuditController.php b/application/controllers/AuditController.php index 7b3e252..37a7048 100644 --- a/application/controllers/AuditController.php +++ b/application/controllers/AuditController.php @@ -470,4 +470,98 @@ class AuditController extends BaseController 'recent_evidence' => $recent, ]); } + + // ══════════════════════════════════════════════════════════════════════ + // REQUISITI ACN (specifiche di base, Determina 164179/2025) + // Gap Analysis a livello requisiti: 87 (importanti) / 116 (essenziali). + // ══════════════════════════════════════════════════════════════════════ + + /** Mappa entity_type org (essential/important/...) -> entity catalogo ACN. */ + private function acnEntityFor(int $orgId): string + { + $org = Database::fetchOne('SELECT entity_type FROM organizations WHERE id = ?', [$orgId]); + // I soggetti essenziali hanno il set esteso (116). Tutti gli altri (importanti o + // non classificati) usano il set base importanti (87). + return ($org && ($org['entity_type'] ?? '') === 'essential') ? 'essenziale' : 'importante'; + } + + /** + * GET /api/audit/acnRequirements + * Requisiti ACN applicabili all'org (per entity_type) con stato + sommario per funzione. + */ + public function acnRequirements(): void + { + $this->requireOrgAccess(); + $orgId = $this->getCurrentOrgId(); + $entity = $this->acnEntityFor($orgId); + + $rows = Database::fetchAll( + "SELECT r.id, r.function_name, r.subcategory, r.subcategory_text, r.req_index, r.requirement, + COALESCE(s.status,'not_started') AS status, s.evidence_note, s.updated_at + FROM acn_requirements r + LEFT JOIN org_acn_requirement_status s + ON s.requirement_id = r.id AND s.organization_id = ? + WHERE r.entity = ? + ORDER BY r.subcategory, r.req_index", + [$orgId, $entity] + ); + + $summary = ['not_started'=>0,'in_progress'=>0,'implemented'=>0,'not_applicable'=>0]; + $byFunc = []; + foreach ($rows as $r) { + $st = $r['status']; + if (isset($summary[$st])) $summary[$st]++; + $f = $r['function_name']; + if (!isset($byFunc[$f])) $byFunc[$f] = ['total'=>0,'implemented'=>0]; + $byFunc[$f]['total']++; + if ($st === 'implemented') $byFunc[$f]['implemented']++; + } + $total = count($rows); + $applicable = $total - $summary['not_applicable']; + $compliance = $applicable > 0 ? (int) round($summary['implemented'] * 100 / $applicable) : 0; + + $this->jsonSuccess([ + 'entity' => $entity, + 'total' => $total, + 'summary' => $summary, + 'by_function' => $byFunc, + 'compliance_percent'=> $compliance, + 'requirements' => $rows, + 'source' => 'Determina ACN 164179/2025, Allegati 1-2 (Framework Nazionale 2025)', + ]); + } + + /** + * PUT /api/audit/acnRequirements/{id} + * Aggiorna lo stato di un requisito ACN per l'org. Body: { status, evidence_note? } + */ + public function updateAcnRequirement(int $id): void + { + $this->requireOrgRole(['org_admin', 'compliance_manager', 'auditor']); + $orgId = $this->getCurrentOrgId(); + $entity = $this->acnEntityFor($orgId); + + // Il requisito deve appartenere al set applicabile all'org + $req = Database::fetchOne('SELECT id FROM acn_requirements WHERE id = ? AND entity = ?', [$id, $entity]); + if (!$req) { + $this->jsonError('Requisito non trovato o non applicabile a questa organizzazione', 404, 'NOT_FOUND'); + } + + $status = $this->getParam('status'); + $valid = ['not_started','in_progress','implemented','not_applicable']; + if (!in_array($status, $valid, true)) { + $this->jsonError('Stato non valido', 422, 'INVALID_STATUS'); + } + $note = $this->getParam('evidence_note'); + + Database::query( + 'INSERT INTO org_acn_requirement_status (organization_id, requirement_id, status, evidence_note, updated_by) + VALUES (?,?,?,?,?) + ON DUPLICATE KEY UPDATE status=VALUES(status), evidence_note=VALUES(evidence_note), + updated_by=VALUES(updated_by), updated_at=NOW()', + [$orgId, $id, $status, $note, $this->getCurrentUserId()] + ); + $this->logAudit('acn_requirement_updated', 'acn_requirement', $id, ['status' => $status]); + $this->jsonSuccess(['id' => $id, 'status' => $status], 'Requisito aggiornato'); + } } diff --git a/docs/nis2/allegati_acn/acn_requirements.json b/docs/nis2/allegati_acn/acn_requirements.json new file mode 100644 index 0000000..e10d950 --- /dev/null +++ b/docs/nis2/allegati_acn/acn_requirements.json @@ -0,0 +1,1630 @@ +{ + "importante": [ + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.OC-4", + "subcategory_text": "Gli obiettivi, le capacità e i servizi critici dai quali gli stakeholder dipendono o che", + "req_index": 1, + "requirement": "È mantenuto un elenco aggiornato dei sistemi informativi e di rete rilevanti." + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.RM-03", + "subcategory_text": "Le attività e gli esiti della gestione del rischio di cybersecurity sono parte", + "req_index": 1, + "requirement": "Nell'ambito dei processi di gestione del rischio del soggetto NIS e nel rispetto delle" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.RR-02", + "subcategory_text": "I ruoli, le responsabilità e i correlati poteri relativi alla gestione del rischio di", + "req_index": 1, + "requirement": "È definita, approvata dagli organi di amministrazione e direttivi, e resa nota alle" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.RR-02", + "subcategory_text": "I ruoli, le responsabilità e i correlati poteri relativi alla gestione del rischio di", + "req_index": 2, + "requirement": "È mantenuto un elenco aggiornato del personale dell'organizzazione di cui al punto 1" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.RR-02", + "subcategory_text": "I ruoli, le responsabilità e i correlati poteri relativi alla gestione del rischio di", + "req_index": 3, + "requirement": "All’interno dell’organizzazione per la sicurezza informatica di cui al punto 1, sono inclusi" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.RR-02", + "subcategory_text": "I ruoli, le responsabilità e i correlati poteri relativi alla gestione del rischio di", + "req_index": 4, + "requirement": "I ruoli e le responsabilità di cui al punto 1 sono riesaminati e, se opportuno, aggiornati" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.RR-04", + "subcategory_text": "La cybersecurity è incluso nelle pratiche delle risorse umane.", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, il personale autorizzato ad accedervi è" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.RR-04", + "subcategory_text": "La cybersecurity è incluso nelle pratiche delle risorse umane.", + "req_index": 2, + "requirement": "Gli amministratori di sistema dei sistemi informativi e di rete sono individuati previa" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.RR-04", + "subcategory_text": "La cybersecurity è incluso nelle pratiche delle risorse umane.", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.PO-01", + "subcategory_text": "La politica per la gestione del rischio di cybersecurity è stabilita in base al contesto", + "req_index": 1, + "requirement": "Sono adottate e documentate politiche di sicurezza informatica per almeno i seguenti" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.PO-01", + "subcategory_text": "La politica per la gestione del rischio di cybersecurity è stabilita in base al contesto", + "req_index": 2, + "requirement": "Per gli ambiti di cui al punto 1 sono incluse almeno le politiche in relazione ai requisiti" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.PO-01", + "subcategory_text": "La politica per la gestione del rischio di cybersecurity è stabilita in base al contesto", + "req_index": 3, + "requirement": "Le politiche di cui al punto 1 sono approvate dagli organi di amministrazione e direttivi." + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.PO-02", + "subcategory_text": "La politica per la gestione del rischio di cybersecurity è revisionata, aggiornata,", + "req_index": 1, + "requirement": "Le politiche di cui alla misura GV.PO-01 sono riesaminate e, se opportuno, aggiornate" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.PO-02", + "subcategory_text": "La politica per la gestione del rischio di cybersecurity è revisionata, aggiornata,", + "req_index": 2, + "requirement": "Ai fini del riesame di cui al punto 1, è verificata almeno la conformità delle politiche di" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.SC-01", + "subcategory_text": "Sono stabiliti e accettati dagli stakeholder dell'organizzazione il programma, la", + "req_index": 1, + "requirement": "In merito all’affidamento di forniture con potenziali impatti sulla sicurezza dei sistemi" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.SC-02", + "subcategory_text": "I ruoli e le responsabilità in materia di cybersecurity per fornitori, clienti e partner", + "req_index": 1, + "requirement": "Nell'ambito dell'organizzazione per la sicurezza informatica di cui alla misura GV.RR-02," + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.SC-02", + "subcategory_text": "I ruoli e le responsabilità in materia di cybersecurity per fornitori, clienti e partner", + "req_index": 2, + "requirement": "Il personale di cui al punto 1 avente specifici ruoli e responsabilità è incluso nell’elenco di" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.SC-04", + "subcategory_text": "I fornitori sono noti e prioritizzati in base alla criticità.", + "req_index": 1, + "requirement": "È mantenuto un inventario aggiornato dei fornitori, le cui forniture hanno un potenziale" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.SC-05", + "subcategory_text": "I requisiti per affrontare i rischi di cybersecurity nella catena di", + "req_index": 1, + "requirement": "Fatte salve motivate e documentate ragioni normative o tecniche, i requisiti di sicurezza di" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.SC-07", + "subcategory_text": "I rischi posti da un fornitore, dai suoi prodotti e servizi e da altre terze parti sono", + "req_index": 1, + "requirement": "Nell’ambito della valutazione del rischio di cui alla misura ID.RA-05, è valutato e" + }, + { + "entity": "importante", + "function": "Governance", + "subcategory": "GV.SC-07", + "subcategory_text": "I rischi posti da un fornitore, dai suoi prodotti e servizi e da altre terze parti sono", + "req_index": 2, + "requirement": "È verificata periodicamente e documentata la conformità delle forniture ai requisiti di cui" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.AM-01", + "subcategory_text": "Sono mantenuti gli inventari dell'hardware gestito dall'organizzazione.", + "req_index": 1, + "requirement": "È mantenuto un inventario aggiornato degli apparati fisici (hardware) che compongono i" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.AM-02", + "subcategory_text": "Sono mantenuti gli inventari del software, dei servizi e dei sistemi gestiti", + "req_index": 1, + "requirement": "È mantenuto un inventario aggiornato dei servizi, dei sistemi e delle applicazioni software" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.AM-04", + "subcategory_text": "Sono mantenuti gli inventari dei servizi erogati dai fornitori.", + "req_index": 1, + "requirement": "È mantenuto un inventario aggiornato dei servizi informatici erogati dai fornitori, ivi" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.RA-01", + "subcategory_text": ". Le vulnerabilità negli asset sono identificate, confermate e registrate.", + "req_index": 1, + "requirement": "Le informazioni di cui al punto 1 della misura ID.RA-08 sono utilizzate per identificare" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.RA-05", + "subcategory_text": "Minacce, vulnerabilità, probabilità e impatti sono utilizzati per comprendere il", + "req_index": 1, + "requirement": "In accordo al piano di gestione dei rischi per la sicurezza informatica di cui alla misura" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.RA-05", + "subcategory_text": "Minacce, vulnerabilità, probabilità e impatti sono utilizzati per comprendere il", + "req_index": 2, + "requirement": "La valutazione del rischio di cui al punto 1 è eseguita a intervalli pianificati e comunque" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.RA-05", + "subcategory_text": "Minacce, vulnerabilità, probabilità e impatti sono utilizzati per comprendere il", + "req_index": 3, + "requirement": "La valutazione del rischio cui al punto 1 è approvata dagli organi di amministrazione e" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.RA-06", + "subcategory_text": "Le risposte al rischio sono scelte, prioritizzate, pianificate, monitorate e", + "req_index": 1, + "requirement": "È definito, documentato, eseguito e monitorato un piano di trattamento del rischio che" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.RA-06", + "subcategory_text": "Le risposte al rischio sono scelte, prioritizzate, pianificate, monitorate e", + "req_index": 2, + "requirement": "Qualora per motivate e documentate ragioni normative o tecniche non siano attuati i" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.RA-06", + "subcategory_text": "Le risposte al rischio sono scelte, prioritizzate, pianificate, monitorate e", + "req_index": 3, + "requirement": "Il piano di cui al punto 1, ivi compresa l’accettazione di eventuali rischi residui, è" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.RA-08", + "subcategory_text": "Sono stabiliti processi per la ricezione, l'analisi e la risposta alle divulgazioni di", + "req_index": 1, + "requirement": "Sono monitorati almeno i canali di comunicazione del CSIRT Italia, nonché di eventuali" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.RA-08", + "subcategory_text": "Sono stabiliti processi per la ricezione, l'analisi e la risposta alle divulgazioni di", + "req_index": 2, + "requirement": "Le vulnerabilità, ivi comprese quelle identificate ai sensi della misura ID.RA-01, sono" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.RA-08", + "subcategory_text": "Sono stabiliti processi per la ricezione, l'analisi e la risposta alle divulgazioni di", + "req_index": 3, + "requirement": "È definito, attuato, aggiornato e documentato un piano di gestione delle vulnerabilità che" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.RA-08", + "subcategory_text": "Sono stabiliti processi per la ricezione, l'analisi e la risposta alle divulgazioni di", + "req_index": 4, + "requirement": "Il piano di cui al punto 3 è approvato dagli organi di amministrazione e direttivi." + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.IM-01", + "subcategory_text": "Sono identificati miglioramenti in esito alle valutazioni.", + "req_index": 1, + "requirement": "In accordo agli esiti del riesame di cui al punto 1 della misura GV.PO-02, è definito," + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.IM-01", + "subcategory_text": "Sono identificati miglioramenti in esito alle valutazioni.", + "req_index": 2, + "requirement": "Gli organi di amministrazione e direttivi sono informati mediante apposite relazioni" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.IM-04", + "subcategory_text": "I piani di risposta agli incidenti e gli altri piani di cybersecurity che impattano le", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti è definito, attuato, aggiornato e" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.IM-04", + "subcategory_text": "I piani di risposta agli incidenti e gli altri piani di cybersecurity che impattano le", + "req_index": 2, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti è definito, attuato, aggiornato e" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.IM-04", + "subcategory_text": "I piani di risposta agli incidenti e gli altri piani di cybersecurity che impattano le", + "req_index": 3, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti è definito, attuato, aggiornato e" + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.IM-04", + "subcategory_text": "I piani di risposta agli incidenti e gli altri piani di cybersecurity che impattano le", + "req_index": 4, + "requirement": "I piani di cui ai punti 1, 2 e 3 sono approvati dagli organi di amministrazione e direttivi." + }, + { + "entity": "importante", + "function": "Identificazione", + "subcategory": "ID.IM-04", + "subcategory_text": "I piani di risposta agli incidenti e gli altri piani di cybersecurity che impattano le", + "req_index": 5, + "requirement": "I piani di cui ai punti 1, 2 e 3 sono riesaminati e, se opportuno, aggiornati periodicamente" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-01", + "subcategory_text": "Le identità e le credenziali degli utenti, dei servizi e dell'hardware autorizzati sono", + "req_index": 1, + "requirement": "Tutte le utenze, ivi incluse quelle con privilegi amministrativi e quelle utilizzate per" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-01", + "subcategory_text": "Le identità e le credenziali degli utenti, dei servizi e dell'hardware autorizzati sono", + "req_index": 2, + "requirement": "Le credenziali (ad esempio nome utente e password) relative alle utenze sono robuste e" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-01", + "subcategory_text": "Le identità e le credenziali degli utenti, dei servizi e dell'hardware autorizzati sono", + "req_index": 3, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono verificate periodicamente le utenze" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-01", + "subcategory_text": "Le identità e le credenziali degli utenti, dei servizi e dell'hardware autorizzati sono", + "req_index": 4, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-03", + "subcategory_text": "Utenti, servizi e hardware sono autenticati.", + "req_index": 1, + "requirement": "Le modalità di autenticazione delle utenze per accedere ai sistemi informativi e di rete sono" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-03", + "subcategory_text": "Utenti, servizi e hardware sono autenticati.", + "req_index": 2, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti e in accordo agli esiti della valutazione" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-03", + "subcategory_text": "Utenti, servizi e hardware sono autenticati.", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-05", + "subcategory_text": "I permessi, i diritti e le autorizzazioni di accesso sono definiti in una politica,", + "req_index": 1, + "requirement": "I permessi sono assegnati alle utenze in accordo ai principi del minimo privilegio e della" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-05", + "subcategory_text": "I permessi, i diritti e le autorizzazioni di accesso sono definiti in una politica,", + "req_index": 2, + "requirement": "È assicurata la completa distinzione tra utenze con e senza privilegi amministrativi degli" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-05", + "subcategory_text": "I permessi, i diritti e le autorizzazioni di accesso sono definiti in una politica,", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-06", + "subcategory_text": "L'accesso fisico agli asset è gestito, monitorato e applicato in misura appropriata", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, l’accesso fisico è protetto." + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AA-06", + "subcategory_text": "L'accesso fisico agli asset è gestito, monitorato e applicato in misura appropriata", + "req_index": 2, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AT-01", + "subcategory_text": "Il personale è sensibilizzato e formato in modo da possedere le conoscenze e le", + "req_index": 1, + "requirement": "È definito, attuato, aggiornato e documentato un piano di formazione in materia di" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AT-01", + "subcategory_text": "Il personale è sensibilizzato e formato in modo da possedere le conoscenze e le", + "req_index": 2, + "requirement": "Il piano di formazione di cui al punto 1 è approvato dagli organi di amministrazione e" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.AT-01", + "subcategory_text": "Il personale è sensibilizzato e formato in modo da possedere le conoscenze e le", + "req_index": 3, + "requirement": "È mantenuto un registro aggiornato recante l'elenco dei dipendenti che hanno ricevuto la" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.DS-01", + "subcategory_text": "La riservatezza, l'integrità e la disponibilità dei dati a riposo (data-at-rest) sono", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti e in accordo agli esiti della valutazione" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.DS-01", + "subcategory_text": "La riservatezza, l'integrità e la disponibilità dei dati a riposo (data-at-rest) sono", + "req_index": 2, + "requirement": "Fatte salve e documentate ragioni normative o tecniche, è disabilitata l'auto esecuzione dei" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.DS-01", + "subcategory_text": "La riservatezza, l'integrità e la disponibilità dei dati a riposo (data-at-rest) sono", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.DS-02", + "subcategory_text": "La riservatezza, l'integrità e la disponibilità dei dati in transito (data-in-transit)", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, ivi inclusi quelli di comunicazione" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.DS-02", + "subcategory_text": "La riservatezza, l'integrità e la disponibilità dei dati in transito (data-in-transit)", + "req_index": 2, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.DS-11", + "subcategory_text": "I backup dei dati sono creati, protetti, mantenuti e verificati.", + "req_index": 1, + "requirement": "In accordo alle esigenze di continuità operativa e di ripristino in caso di disastro individuate" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.DS-11", + "subcategory_text": "I backup dei dati sono creati, protetti, mantenuti e verificati.", + "req_index": 2, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.PS-02", + "subcategory_text": "Il software è mantenuto, sostituito e rimosso in base al rischio.", + "req_index": 1, + "requirement": "Fatte salve motivate e documentate ragioni normative o tecniche, è installato" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.PS-02", + "subcategory_text": "Il software è mantenuto, sostituito e rimosso in base al rischio.", + "req_index": 2, + "requirement": "Fatte salve motivate e documentate ragioni normative o tecniche, sono installati, senza" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.PS-02", + "subcategory_text": "Il software è mantenuto, sostituito e rimosso in base al rischio.", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.PS-04", + "subcategory_text": "I registri di log sono generati e resi disponibili per il monitoraggio continuo.", + "req_index": 1, + "requirement": "Tutti gli accessi eseguiti da remoto e quelli effettuati con utenze con privilegi" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.PS-04", + "subcategory_text": "I registri di log sono generati e resi disponibili per il monitoraggio continuo.", + "req_index": 2, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono conservati in modo sicuro, e" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.PS-04", + "subcategory_text": "I registri di log sono generati e resi disponibili per il monitoraggio continuo.", + "req_index": 3, + "requirement": "In accordo agli esiti della valutazione rischio di cui alla misura ID.RA-05, sono definite e" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.PS-04", + "subcategory_text": "I registri di log sono generati e resi disponibili per il monitoraggio continuo.", + "req_index": 4, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.PS-06", + "subcategory_text": "Le pratiche di sviluppo sicuro del software sono integrate e le loro prestazioni sono", + "req_index": 1, + "requirement": "Sono adottate e documentate pratiche di sviluppo sicuro del codice nello sviluppo del" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.IR-01", + "subcategory_text": "Le reti e gli ambienti sono protetti dall'accesso logico e dall'uso non autorizzati.", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono definite e documentate le eventuali" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.IR-01", + "subcategory_text": "Le reti e gli ambienti sono protetti dall'accesso logico e dall'uso non autorizzati.", + "req_index": 2, + "requirement": "È mantenuto un elenco aggiornato dei sistemi informativi e di rete ai quali è possibile" + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.IR-01", + "subcategory_text": "Le reti e gli ambienti sono protetti dall'accesso logico e dall'uso non autorizzati.", + "req_index": 3, + "requirement": "Sono presenti, aggiornati, mantenuti e configurati i sistemi perimetrali, quali firewall." + }, + { + "entity": "importante", + "function": "Protezione", + "subcategory": "PR.IR-01", + "subcategory_text": "Le reti e gli ambienti sono protetti dall'accesso logico e dall'uso non autorizzati.", + "req_index": 4, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Rilevazione", + "subcategory": "DE.CM-01", + "subcategory_text": "Le reti e i servizi di rete sono monitorati per individuare eventi potenzialmente", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono presenti, aggiornati, mantenuti e" + }, + { + "entity": "importante", + "function": "Rilevazione", + "subcategory": "DE.CM-01", + "subcategory_text": "Le reti e i servizi di rete sono monitorati per individuare eventi potenzialmente", + "req_index": 2, + "requirement": "Sono definiti e documentati i livelli di servizio attesi (SL) dei servizi e delle attività del" + }, + { + "entity": "importante", + "function": "Rilevazione", + "subcategory": "DE.CM-01", + "subcategory_text": "Le reti e i servizi di rete sono monitorati per individuare eventi potenzialmente", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Rilevazione", + "subcategory": "DE.CM-09", + "subcategory_text": "L'hardware e il software di elaborazione, gli ambienti di runtime e i loro dati sono", + "req_index": 1, + "requirement": "Fatte salve motivate e documentate ragioni normative o tecniche, sono presenti, aggiornati," + }, + { + "entity": "importante", + "function": "Rilevazione", + "subcategory": "DE.CM-09", + "subcategory_text": "L'hardware e il software di elaborazione, gli ambienti di runtime e i loro dati sono", + "req_index": 2, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "importante", + "function": "Risposta", + "subcategory": "RS.MA-01", + "subcategory_text": "Il piano di risposta agli incidenti è eseguito in coordinamento con le terze parti", + "req_index": 1, + "requirement": "È definito, attuato, aggiornato e documentato un piano per la gestione degli incidenti di" + }, + { + "entity": "importante", + "function": "Risposta", + "subcategory": "RS.MA-01", + "subcategory_text": "Il piano di risposta agli incidenti è eseguito in coordinamento con le terze parti", + "req_index": 2, + "requirement": "Il piano di cui al punto 1 è approvato dagli organi di amministrazione e direttivi." + }, + { + "entity": "importante", + "function": "Risposta", + "subcategory": "RS.MA-01", + "subcategory_text": "Il piano di risposta agli incidenti è eseguito in coordinamento con le terze parti", + "req_index": 3, + "requirement": "Il piano di cui al punto 1 è riesaminato e, se opportuno, aggiornato periodicamente e" + }, + { + "entity": "importante", + "function": "Risposta", + "subcategory": "RS.CO-02", + "subcategory_text": "Gli stakeholder interni ed esterni sono informati degli incidenti.", + "req_index": 1, + "requirement": "In accordo al piano per la gestione degli incidenti di cui alla misura RS.MA-01, sono" + }, + { + "entity": "importante", + "function": "Risposta", + "subcategory": "RS.CO-02", + "subcategory_text": "Gli stakeholder interni ed esterni sono informati degli incidenti.", + "req_index": 2, + "requirement": "Sono documentate e adottate procedure per informare il pubblico sugli incidenti occorsi," + }, + { + "entity": "importante", + "function": "Ripristino", + "subcategory": "RC.RP-01", + "subcategory_text": "La parte del piano di risposta agli incidenti relativa al rispristino viene eseguita", + "req_index": 1, + "requirement": "Nell'ambito del piano per la gestione degli incidenti di cui alla misura RS.MA-01, sono" + } + ], + "essenziale": [ + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.OC-4", + "subcategory_text": "Gli obiettivi, le capacità e i servizi critici dai quali gli stakeholder dipendono o che", + "req_index": 1, + "requirement": "È mantenuto un elenco aggiornato dei sistemi informativi e di rete rilevanti." + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.RM-03", + "subcategory_text": "Le attività e gli esiti della gestione del rischio di cybersecurity sono parte", + "req_index": 1, + "requirement": "Nell'ambito dei processi di gestione del rischio del soggetto NIS e nel rispetto delle" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.RR-02", + "subcategory_text": "I ruoli, le responsabilità e i correlati poteri relativi alla gestione del rischio di", + "req_index": 1, + "requirement": "È definita, approvata dagli organi di amministrazione e direttivi, e resa nota alle" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.RR-02", + "subcategory_text": "I ruoli, le responsabilità e i correlati poteri relativi alla gestione del rischio di", + "req_index": 2, + "requirement": "È mantenuto un elenco aggiornato del personale dell'organizzazione di cui al punto 1" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.RR-02", + "subcategory_text": "I ruoli, le responsabilità e i correlati poteri relativi alla gestione del rischio di", + "req_index": 3, + "requirement": "All’interno dell’organizzazione per la sicurezza informatica di cui al punto 1, sono inclusi" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.RR-02", + "subcategory_text": "I ruoli, le responsabilità e i correlati poteri relativi alla gestione del rischio di", + "req_index": 4, + "requirement": "I ruoli e le responsabilità di cui al punto 1 sono riesaminati e, se opportuno, aggiornati" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.RR-04", + "subcategory_text": "La cybersecurity è inclusa nelle pratiche delle risorse umane.", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, il personale autorizzato ad accedervi è" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.RR-04", + "subcategory_text": "La cybersecurity è inclusa nelle pratiche delle risorse umane.", + "req_index": 2, + "requirement": "Gli amministratori di sistema dei sistemi informativi e di rete sono individuati previa" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.RR-04", + "subcategory_text": "La cybersecurity è inclusa nelle pratiche delle risorse umane.", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.RR-04", + "subcategory_text": "La cybersecurity è inclusa nelle pratiche delle risorse umane.", + "req_index": 4, + "requirement": "In accordo agli esiti della valutazione del rischio di cui alla misura ID.RA-05, sono definiti" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.RR-04", + "subcategory_text": "La cybersecurity è inclusa nelle pratiche delle risorse umane.", + "req_index": 5, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.PO-01", + "subcategory_text": "La politica per la gestione del rischio di cybersecurity è stabilita in base al contesto", + "req_index": 1, + "requirement": "Sono adottate e documentate politiche di sicurezza informatica per almeno i seguenti" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.PO-01", + "subcategory_text": "La politica per la gestione del rischio di cybersecurity è stabilita in base al contesto", + "req_index": 2, + "requirement": "Per gli ambiti di cui al punto 1 sono incluse almeno le politiche in relazione ai requisiti" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.PO-01", + "subcategory_text": "La politica per la gestione del rischio di cybersecurity è stabilita in base al contesto", + "req_index": 3, + "requirement": "Le politiche di cui al punto 1 sono approvate dagli organi di amministrazione e direttivi." + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.PO-02", + "subcategory_text": "La politica per la gestione del rischio di cybersecurity è revisionata, aggiornata,", + "req_index": 1, + "requirement": "Le politiche di cui alla misura GV.PO-01 sono riesaminate e, se opportuno, aggiornate" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.PO-02", + "subcategory_text": "La politica per la gestione del rischio di cybersecurity è revisionata, aggiornata,", + "req_index": 2, + "requirement": "Ai fini del riesame di cui al punto 1, è verificata almeno la conformità delle politiche di" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.PO-02", + "subcategory_text": "La politica per la gestione del rischio di cybersecurity è revisionata, aggiornata,", + "req_index": 3, + "requirement": "È mantenuto un registro aggiornato contenente gli esiti del riesame di cui al punto 1." + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.SC-01", + "subcategory_text": "Sono stabiliti e accettati dagli stakeholder dell'organizzazione il programma, la", + "req_index": 1, + "requirement": "In merito all’affidamento di forniture con potenziali impatti sulla sicurezza dei sistemi" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.SC-01", + "subcategory_text": "Sono stabiliti e accettati dagli stakeholder dell'organizzazione il programma, la", + "req_index": 2, + "requirement": "Per i requisiti di sicurezza di cui al punto 1, lettera b), sono considerati, ove applicabile," + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.SC-02", + "subcategory_text": "I ruoli e le responsabilità in materia di cybersecurity per fornitori, clienti e partner", + "req_index": 1, + "requirement": "Nell'ambito dell'organizzazione per la sicurezza informatica di cui alla misura GV.RR-02," + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.SC-02", + "subcategory_text": "I ruoli e le responsabilità in materia di cybersecurity per fornitori, clienti e partner", + "req_index": 2, + "requirement": "Il personale di cui al punto 1 avente specifici ruoli e responsabilità è incluso nell’elenco di" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.SC-04", + "subcategory_text": "I fornitori sono noti e prioritizzati in base alla criticità.", + "req_index": 1, + "requirement": "È mantenuto un inventario aggiornato dei fornitori, le cui forniture hanno un potenziale" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.SC-05", + "subcategory_text": "I requisiti per affrontare i rischi di cybersecurity nella catena di", + "req_index": 1, + "requirement": "Fatte salve motivate e documentate ragioni normative o tecniche, i requisiti di sicurezza di" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.SC-07", + "subcategory_text": "I rischi posti da un fornitore, dai suoi prodotti e servizi e da altre terze parti sono", + "req_index": 1, + "requirement": "Nell’ambito della valutazione del rischio di cui alla misura ID.RA-05, è valutato e" + }, + { + "entity": "essenziale", + "function": "Governance", + "subcategory": "GV.SC-07", + "subcategory_text": "I rischi posti da un fornitore, dai suoi prodotti e servizi e da altre terze parti sono", + "req_index": 2, + "requirement": "È verificata periodicamente e documentata la conformità delle forniture ai requisiti di cui" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.AM-01", + "subcategory_text": "Sono mantenuti gli inventari dell'hardware gestito dall'organizzazione.", + "req_index": 1, + "requirement": "È mantenuto un inventario aggiornato degli apparati fisici (hardware) che compongono i" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.AM-02", + "subcategory_text": "Sono mantenuti gli inventari del software, dei servizi e dei sistemi gestiti", + "req_index": 1, + "requirement": "È mantenuto un inventario aggiornato dei servizi, dei sistemi e delle applicazioni software" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.AM-03", + "subcategory_text": "Sono mantenute le rappresentazioni delle comunicazioni di rete, dei flussi di dati", + "req_index": 1, + "requirement": "È mantenuto un inventario aggiornato dei flussi di rete tra i sistemi informativi e di rete" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.AM-04", + "subcategory_text": "Sono mantenuti gli inventari dei servizi erogati dai fornitori.", + "req_index": 1, + "requirement": "È mantenuto un inventario aggiornato dei servizi informatici erogati dai fornitori, ivi" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-01", + "subcategory_text": ". Le vulnerabilità negli asset sono identificate, confermate e registrate.", + "req_index": 1, + "requirement": "Le informazioni di cui al punto 1 della misura ID.RA-08 sono utilizzate per identificare" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-01", + "subcategory_text": ". Le vulnerabilità negli asset sono identificate, confermate e registrate.", + "req_index": 2, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, in accordo al piano di gestione delle" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-01", + "subcategory_text": ". Le vulnerabilità negli asset sono identificate, confermate e registrate.", + "req_index": 3, + "requirement": "Le attività di cui al punto 2 sono documentate tramite apposite relazioni che contengono" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-05", + "subcategory_text": "Minacce, vulnerabilità, probabilità e impatti sono utilizzati per comprendere il", + "req_index": 1, + "requirement": "In accordo al piano di gestione dei rischi per la sicurezza informatica di cui alla misura" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-05", + "subcategory_text": "Minacce, vulnerabilità, probabilità e impatti sono utilizzati per comprendere il", + "req_index": 2, + "requirement": "La valutazione del rischio di cui al punto 1 è eseguita a intervalli pianificati e comunque" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-05", + "subcategory_text": "Minacce, vulnerabilità, probabilità e impatti sono utilizzati per comprendere il", + "req_index": 3, + "requirement": "La valutazione del rischio cui al punto 1 è approvata dagli organi di amministrazione e" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-05", + "subcategory_text": "Minacce, vulnerabilità, probabilità e impatti sono utilizzati per comprendere il", + "req_index": 4, + "requirement": "La valutazione del rischio di cui al punto 1 è effettuata considerando almeno le minacce" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-06", + "subcategory_text": "Le risposte al rischio sono scelte, prioritizzate, pianificate, monitorate e", + "req_index": 1, + "requirement": "È definito, documentato, eseguito e monitorato un piano di trattamento del rischio che" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-06", + "subcategory_text": "Le risposte al rischio sono scelte, prioritizzate, pianificate, monitorate e", + "req_index": 2, + "requirement": "Qualora per motivate e documentate ragioni normative o tecniche non siano attuati i" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-06", + "subcategory_text": "Le risposte al rischio sono scelte, prioritizzate, pianificate, monitorate e", + "req_index": 3, + "requirement": "Il piano di cui al punto 1, ivi compresa l’accettazione di eventuali rischi residui, è" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-08", + "subcategory_text": "Sono stabiliti processi per la ricezione, l'analisi e la risposta alle divulgazioni di", + "req_index": 1, + "requirement": "Sono monitorati almeno i canali di comunicazione del CSIRT Italia, nonché di eventuali" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-08", + "subcategory_text": "Sono stabiliti processi per la ricezione, l'analisi e la risposta alle divulgazioni di", + "req_index": 2, + "requirement": "Le vulnerabilità, ivi comprese quelle identificate ai sensi della misura ID.RA-01, sono" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-08", + "subcategory_text": "Sono stabiliti processi per la ricezione, l'analisi e la risposta alle divulgazioni di", + "req_index": 3, + "requirement": "È definito, attuato, aggiornato e documentato un piano di gestione delle vulnerabilità che" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-08", + "subcategory_text": "Sono stabiliti processi per la ricezione, l'analisi e la risposta alle divulgazioni di", + "req_index": 4, + "requirement": "Il piano di cui al punto 3 è approvato dagli organi di amministrazione e direttivi." + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.RA-08", + "subcategory_text": "Sono stabiliti processi per la ricezione, l'analisi e la risposta alle divulgazioni di", + "req_index": 5, + "requirement": "Ai fini di cui al punto 1, sono monitorati anche i canali dei fornitori del software ritenuto" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.IM-01", + "subcategory_text": "Sono identificati miglioramenti in esito alle valutazioni.", + "req_index": 1, + "requirement": "In accordo agli esiti del riesame di cui al punto 1 della misura GV.PO-02, è definito," + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.IM-01", + "subcategory_text": "Sono identificati miglioramenti in esito alle valutazioni.", + "req_index": 2, + "requirement": "Gli organi di amministrazione e direttivi sono informati mediante apposite relazioni" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.IM-01", + "subcategory_text": "Sono identificati miglioramenti in esito alle valutazioni.", + "req_index": 3, + "requirement": "È definito, attuato, aggiornato e documentato un piano per la valutazione dell'efficacia" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.IM-01", + "subcategory_text": "Sono identificati miglioramenti in esito alle valutazioni.", + "req_index": 4, + "requirement": "Gli organi di amministrazione e direttivi sono informati mediante apposite relazioni" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.IM-04", + "subcategory_text": "I piani di risposta agli incidenti e gli altri piani di cybersecurity che impattano le", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti è definito, attuato, aggiornato e" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.IM-04", + "subcategory_text": "I piani di risposta agli incidenti e gli altri piani di cybersecurity che impattano le", + "req_index": 2, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti è definito, attuato, aggiornato e" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.IM-04", + "subcategory_text": "I piani di risposta agli incidenti e gli altri piani di cybersecurity che impattano le", + "req_index": 3, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti è definito, attuato, aggiornato e" + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.IM-04", + "subcategory_text": "I piani di risposta agli incidenti e gli altri piani di cybersecurity che impattano le", + "req_index": 4, + "requirement": "I piani di cui ai punti 1, 2 e 3 sono approvati dagli organi di amministrazione e direttivi." + }, + { + "entity": "essenziale", + "function": "Identificazione", + "subcategory": "ID.IM-04", + "subcategory_text": "I piani di risposta agli incidenti e gli altri piani di cybersecurity che impattano le", + "req_index": 5, + "requirement": "I piani di cui ai punti 1, 2 e 3 sono riesaminati e, se opportuno, aggiornati periodicamente" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-01", + "subcategory_text": "Le identità e le credenziali degli utenti, dei servizi e dell'hardware autorizzati sono", + "req_index": 1, + "requirement": "Tutte le utenze, ivi incluse quelle con privilegi amministrativi e quelle utilizzate per" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-01", + "subcategory_text": "Le identità e le credenziali degli utenti, dei servizi e dell'hardware autorizzati sono", + "req_index": 2, + "requirement": "Le credenziali (ad esempio nome utente e password) relative alle utenze sono robuste e" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-01", + "subcategory_text": "Le identità e le credenziali degli utenti, dei servizi e dell'hardware autorizzati sono", + "req_index": 3, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono verificate periodicamente le utenze" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-01", + "subcategory_text": "Le identità e le credenziali degli utenti, dei servizi e dell'hardware autorizzati sono", + "req_index": 4, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-03", + "subcategory_text": "Utenti, servizi e hardware sono autenticati.", + "req_index": 1, + "requirement": "Le modalità di autenticazione delle utenze per accedere ai sistemi informativi e di rete sono" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-03", + "subcategory_text": "Utenti, servizi e hardware sono autenticati.", + "req_index": 2, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti e in accordo agli esiti della valutazione" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-03", + "subcategory_text": "Utenti, servizi e hardware sono autenticati.", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-05", + "subcategory_text": "I permessi, i diritti e le autorizzazioni di accesso sono definiti in una politica,", + "req_index": 1, + "requirement": "I permessi sono assegnati alle utenze in accordo ai principi del minimo privilegio e della" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-05", + "subcategory_text": "I permessi, i diritti e le autorizzazioni di accesso sono definiti in una politica,", + "req_index": 2, + "requirement": "È assicurata la completa distinzione tra utenze con e senza privilegi amministrativi degli" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-05", + "subcategory_text": "I permessi, i diritti e le autorizzazioni di accesso sono definiti in una politica,", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-06", + "subcategory_text": "L'accesso fisico agli asset è gestito, monitorato e applicato in misura appropriata", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, l’accesso fisico è protetto." + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AA-06", + "subcategory_text": "L'accesso fisico agli asset è gestito, monitorato e applicato in misura appropriata", + "req_index": 2, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AT-01", + "subcategory_text": "Il personale è sensibilizzato e formato in modo da possedere le conoscenze e le", + "req_index": 1, + "requirement": "È definito, attuato, aggiornato e documentato un piano di formazione in materia di" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AT-01", + "subcategory_text": "Il personale è sensibilizzato e formato in modo da possedere le conoscenze e le", + "req_index": 2, + "requirement": "Il piano di formazione di cui al punto 1 è approvato dagli organi di amministrazione e" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AT-01", + "subcategory_text": "Il personale è sensibilizzato e formato in modo da possedere le conoscenze e le", + "req_index": 3, + "requirement": "È mantenuto un registro aggiornato recante l'elenco dei dipendenti che hanno ricevuto la" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AT-02", + "subcategory_text": ". Gli individui che ricoprono ruoli specializzati sono sensibilizzati e formati in", + "req_index": 1, + "requirement": "Il piano di cui alla misura PR.AT-01 prevede una formazione dedicata al personale con" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.AT-02", + "subcategory_text": ". Gli individui che ricoprono ruoli specializzati sono sensibilizzati e formati in", + "req_index": 2, + "requirement": "È mantenuto un registro aggiornato recante l'elenco dei dipendenti che hanno ricevuto la" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.DS-01", + "subcategory_text": "La riservatezza, l'integrità e la disponibilità dei dati a riposo (data-at-rest) sono", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti e in accordo agli esiti della valutazione" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.DS-01", + "subcategory_text": "La riservatezza, l'integrità e la disponibilità dei dati a riposo (data-at-rest) sono", + "req_index": 2, + "requirement": "Fatte salve e documentate ragioni normative o tecniche, è disabilitata l'auto esecuzione dei" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.DS-01", + "subcategory_text": "La riservatezza, l'integrità e la disponibilità dei dati a riposo (data-at-rest) sono", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.DS-02", + "subcategory_text": "La riservatezza, l'integrità e la disponibilità dei dati in transito (data-in-transit)", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, ivi inclusi quelli di comunicazione" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.DS-02", + "subcategory_text": "La riservatezza, l'integrità e la disponibilità dei dati in transito (data-in-transit)", + "req_index": 2, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.DS-11", + "subcategory_text": "I backup dei dati sono creati, protetti, mantenuti e verificati.", + "req_index": 1, + "requirement": "In accordo alle esigenze di continuità operativa e di ripristino in caso di disastro individuate" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.DS-11", + "subcategory_text": "I backup dei dati sono creati, protetti, mantenuti e verificati.", + "req_index": 2, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.DS-11", + "subcategory_text": "I backup dei dati sono creati, protetti, mantenuti e verificati.", + "req_index": 3, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, è assicurata la riservatezza e l’integrità" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.DS-11", + "subcategory_text": "I backup dei dati sono creati, protetti, mantenuti e verificati.", + "req_index": 4, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, è verificata periodicamente" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.DS-11", + "subcategory_text": "I backup dei dati sono creati, protetti, mantenuti e verificati.", + "req_index": 5, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-01", + "subcategory_text": "Sono stabilite e applicate pratiche di gestione della configurazione.", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono definite, e documentate in un" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-01", + "subcategory_text": "Sono stabilite e applicate pratiche di gestione della configurazione.", + "req_index": 2, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-02", + "subcategory_text": "Il software è mantenuto, sostituito e rimosso in base al rischio.", + "req_index": 1, + "requirement": "Fatte salve motivate e documentate ragioni normative o tecniche, è installato" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-02", + "subcategory_text": "Il software è mantenuto, sostituito e rimosso in base al rischio.", + "req_index": 2, + "requirement": "Fatte salve motivate e documentate ragioni normative o tecniche, sono installati, senza" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-02", + "subcategory_text": "Il software è mantenuto, sostituito e rimosso in base al rischio.", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-02", + "subcategory_text": "Il software è mantenuto, sostituito e rimosso in base al rischio.", + "req_index": 4, + "requirement": "Fatte salve motivate e documentate ragioni normative o tecniche e in accordo agli esiti" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-02", + "subcategory_text": "Il software è mantenuto, sostituito e rimosso in base al rischio.", + "req_index": 5, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-03", + "subcategory_text": "L'hardware è mantenuto, sostituito e rimosso in base al rischio.", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono adottate e documentate procedure" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-03", + "subcategory_text": "L'hardware è mantenuto, sostituito e rimosso in base al rischio.", + "req_index": 2, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono mantenuti uno o più registri delle" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-04", + "subcategory_text": "I registri di log sono generati e resi disponibili per il monitoraggio continuo.", + "req_index": 1, + "requirement": "Tutti gli accessi eseguiti da remoto e quelli effettuati con utenze con privilegi" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-04", + "subcategory_text": "I registri di log sono generati e resi disponibili per il monitoraggio continuo.", + "req_index": 2, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono conservati in modo sicuro, e" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-04", + "subcategory_text": "I registri di log sono generati e resi disponibili per il monitoraggio continuo.", + "req_index": 3, + "requirement": "In accordo agli esiti della valutazione rischio di cui alla misura ID.RA-05, sono definite e" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-04", + "subcategory_text": "I registri di log sono generati e resi disponibili per il monitoraggio continuo.", + "req_index": 4, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.PS-06", + "subcategory_text": "Le pratiche di sviluppo sicuro del software sono integrate e le loro prestazioni sono", + "req_index": 1, + "requirement": "Sono adottate e documentate pratiche di sviluppo sicuro del codice nello sviluppo del" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.IR-01", + "subcategory_text": "Le reti e gli ambienti sono protetti dall'accesso logico e dall'uso non autorizzati.", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono definite e documentate le eventuali" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.IR-01", + "subcategory_text": "Le reti e gli ambienti sono protetti dall'accesso logico e dall'uso non autorizzati.", + "req_index": 2, + "requirement": "È mantenuto un elenco aggiornato dei sistemi informativi e di rete ai quali è possibile" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.IR-01", + "subcategory_text": "Le reti e gli ambienti sono protetti dall'accesso logico e dall'uso non autorizzati.", + "req_index": 3, + "requirement": "Sono presenti, aggiornati, mantenuti e configurati i sistemi perimetrali, quali firewall." + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.IR-01", + "subcategory_text": "Le reti e gli ambienti sono protetti dall'accesso logico e dall'uso non autorizzati.", + "req_index": 4, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.IR-03", + "subcategory_text": "Sono implementati meccanismi per soddisfare i requisiti di resilienza in situazioni", + "req_index": 1, + "requirement": "In accordo agli esiti della valutazione del rischio di cui alla misura ID.RA-05, sono" + }, + { + "entity": "essenziale", + "function": "Protezione", + "subcategory": "PR.IR-03", + "subcategory_text": "Sono implementati meccanismi per soddisfare i requisiti di resilienza in situazioni", + "req_index": 2, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Rilevazione", + "subcategory": "DE.CM-01", + "subcategory_text": "Le reti e i servizi di rete sono monitorati per individuare eventi potenzialmente", + "req_index": 1, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono presenti, aggiornati, mantenuti e" + }, + { + "entity": "essenziale", + "function": "Rilevazione", + "subcategory": "DE.CM-01", + "subcategory_text": "Le reti e i servizi di rete sono monitorati per individuare eventi potenzialmente", + "req_index": 2, + "requirement": "Sono definiti e documentati i livelli di servizio attesi (SL) dei servizi e delle attività del" + }, + { + "entity": "essenziale", + "function": "Rilevazione", + "subcategory": "DE.CM-01", + "subcategory_text": "Le reti e i servizi di rete sono monitorati per individuare eventi potenzialmente", + "req_index": 3, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Rilevazione", + "subcategory": "DE.CM-01", + "subcategory_text": "Le reti e i servizi di rete sono monitorati per individuare eventi potenzialmente", + "req_index": 4, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, sono utilizzati strumenti di analisi e" + }, + { + "entity": "essenziale", + "function": "Rilevazione", + "subcategory": "DE.CM-01", + "subcategory_text": "Le reti e i servizi di rete sono monitorati per individuare eventi potenzialmente", + "req_index": 5, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, ai fini di cui al punto 1, sono monitorati" + }, + { + "entity": "essenziale", + "function": "Rilevazione", + "subcategory": "DE.CM-01", + "subcategory_text": "Le reti e i servizi di rete sono monitorati per individuare eventi potenzialmente", + "req_index": 6, + "requirement": "Per almeno i sistemi informativi e di rete rilevanti, ai fini di cui al punto 1, sono definiti," + }, + { + "entity": "essenziale", + "function": "Rilevazione", + "subcategory": "DE.CM-01", + "subcategory_text": "Le reti e i servizi di rete sono monitorati per individuare eventi potenzialmente", + "req_index": 7, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Rilevazione", + "subcategory": "DE.CM-09", + "subcategory_text": "L'hardware e il software di elaborazione, gli ambienti di runtime e i loro dati sono", + "req_index": 1, + "requirement": "Fatte salve motivate e documentate ragioni normative o tecniche, sono presenti, aggiornati," + }, + { + "entity": "essenziale", + "function": "Rilevazione", + "subcategory": "DE.CM-09", + "subcategory_text": "L'hardware e il software di elaborazione, gli ambienti di runtime e i loro dati sono", + "req_index": 2, + "requirement": "Nel rispetto delle politiche di cui alla misura GV.PO-01, sono adottate e documentate le" + }, + { + "entity": "essenziale", + "function": "Risposta", + "subcategory": "RS.MA-01", + "subcategory_text": "Il piano di risposta agli incidenti è eseguito in coordinamento con le terze parti", + "req_index": 1, + "requirement": "È definito, attuato, aggiornato e documentato un piano per la gestione degli incidenti di" + }, + { + "entity": "essenziale", + "function": "Risposta", + "subcategory": "RS.MA-01", + "subcategory_text": "Il piano di risposta agli incidenti è eseguito in coordinamento con le terze parti", + "req_index": 2, + "requirement": "Il piano di cui al punto 1 è approvato dagli organi di amministrazione e direttivi." + }, + { + "entity": "essenziale", + "function": "Risposta", + "subcategory": "RS.MA-01", + "subcategory_text": "Il piano di risposta agli incidenti è eseguito in coordinamento con le terze parti", + "req_index": 3, + "requirement": "Il piano di cui al punto 1 è riesaminato e, se opportuno, aggiornato periodicamente e" + }, + { + "entity": "essenziale", + "function": "Risposta", + "subcategory": "RS.CO-02", + "subcategory_text": "Gli stakeholder interni ed esterni sono informati degli incidenti.", + "req_index": 1, + "requirement": "In accordo al piano per la gestione degli incidenti di cui alla misura RS.MA-01, sono" + }, + { + "entity": "essenziale", + "function": "Risposta", + "subcategory": "RS.CO-02", + "subcategory_text": "Gli stakeholder interni ed esterni sono informati degli incidenti.", + "req_index": 2, + "requirement": "Sono documentate e adottate procedure per informare il pubblico sugli incidenti occorsi," + }, + { + "entity": "essenziale", + "function": "Ripristino", + "subcategory": "RC.RP-01", + "subcategory_text": "La parte del piano di risposta agli incidenti relativa al rispristino viene eseguita", + "req_index": 1, + "requirement": "Nell'ambito del piano per la gestione degli incidenti di cui alla misura RS.MA-01, sono" + }, + { + "entity": "essenziale", + "function": "Ripristino", + "subcategory": "RC.CO-03", + "subcategory_text": "Le attività di ripristino e i progressi nel ripristino delle capacità operative sono", + "req_index": 1, + "requirement": "Sono adottate e documentate procedure per comunicare alle parti interne interessate, ivi" + } + ] +} \ No newline at end of file diff --git a/docs/sql/031_acn_requirements.sql b/docs/sql/031_acn_requirements.sql new file mode 100644 index 0000000..39e7753 --- /dev/null +++ b/docs/sql/031_acn_requirements.sql @@ -0,0 +1,49 @@ +-- ============================================================================ +-- Migration 031 - Requisiti ACN (specifiche di base, Determina 164179/2025) +-- ---------------------------------------------------------------------------- +-- Porta la Gap Analysis dal livello "10 misure Art.21" al livello operativo +-- dei requisiti ACN (Framework Nazionale 2025): 87 per soggetti importanti, +-- 116 per essenziali. Additiva: nuove tabelle, non tocca compliance_controls. +-- +-- acn_requirements = catalogo globale (fonte: Allegati 1-2 ACN) +-- org_acn_requirement_status = stato di implementazione per organizzazione +-- +-- Idempotente. mysql -h localhost nis2_agile_db -e "source docs/sql/031_acn_requirements.sql" +-- ============================================================================ + +CREATE TABLE IF NOT EXISTS acn_requirements ( + id INT NOT NULL AUTO_INCREMENT, + entity ENUM('importante','essenziale') NOT NULL, + function_name VARCHAR(40) NOT NULL COMMENT 'Governance/Identificazione/Protezione/Rilevazione/Risposta/Ripristino', + subcategory VARCHAR(20) NOT NULL COMMENT 'Codice sottocategoria framework, es. GV.OC-4', + subcategory_text TEXT NULL, + req_index INT NOT NULL COMMENT 'Numero del requisito entro la sottocategoria', + requirement TEXT NOT NULL COMMENT 'Testo del requisito (fonte: Allegato ACN)', + art21_letter CHAR(1) NULL COMMENT 'Mapping indicativo a Art.21.2 (a..j), opzionale', + created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (id), + UNIQUE KEY uq_acn_req (entity, subcategory, req_index), + KEY idx_acn_entity (entity), + KEY idx_acn_func (function_name) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci + COMMENT='Catalogo requisiti specifiche di base ACN (Determina 164179/2025, Allegati 1-2)'; + +CREATE TABLE IF NOT EXISTS org_acn_requirement_status ( + id INT NOT NULL AUTO_INCREMENT, + organization_id INT NOT NULL, + requirement_id INT NOT NULL, + status ENUM('not_started','in_progress','implemented','not_applicable') NOT NULL DEFAULT 'not_started', + evidence_note TEXT NULL, + updated_by INT NULL, + updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (id), + UNIQUE KEY uq_org_req (organization_id, requirement_id), + KEY idx_oar_org (organization_id), + KEY idx_oar_req (requirement_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci + COMMENT='Stato di implementazione dei requisiti ACN per organizzazione'; + +-- ROLLBACK: +-- DROP TABLE IF EXISTS org_acn_requirement_status; +-- DROP TABLE IF EXISTS acn_requirements; diff --git a/public/index.php b/public/index.php index 4ce7e79..48cc88f 100644 --- a/public/index.php +++ b/public/index.php @@ -320,6 +320,8 @@ $actionMap = [ 'GET:iso27001Mapping' => 'getIsoMapping', 'GET:nistCsfMapping' => 'getNistCsfMapping', 'GET:controlsMonitoring' => 'controlsMonitoring', + 'GET:acnRequirements' => 'acnRequirements', + 'PUT:acnRequirements/{subId}' => 'updateAcnRequirement', 'GET:executiveReport' => 'executiveReport', 'GET:relevantSystemsRegister' => 'relevantSystemsRegister', 'GET:export' => 'export', diff --git a/scripts/seed_acn_requirements.php b/scripts/seed_acn_requirements.php new file mode 100644 index 0000000..ca72e52 --- /dev/null +++ b/scripts/seed_acn_requirements.php @@ -0,0 +1,25 @@ +