Skip to main content
  1. Concetti/

Change Management - CAB, Formal Approval

·7 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Mappa Globale
#

Cos'e il Change Management
#

Il change management e il processo formale che governa ogni modifica a sistemi, applicazioni e infrastruttura di un'organizzazione. Non si tratta solo di sicurezza: riguarda l'impatto delle modifiche sull'intera organizzazione, dal business alla compliance, dal rischio operativo alla continuita del servizio.

change-management-process.webp

Il principio base: ogni change porta valore ma anche rischio di disruption. Senza un processo formale, un aggiornamento non coordinato puo abbattere sistemi critici, creare configurazioni non sicure, o violare normative. Il change management trasforma il caos delle modifiche tecniche in un processo controllato, reversibile e documentato.

Dev parallel: Il change management e il processo aziendale di cui il tuo CI/CD pipeline e l'implementazione tecnica. Branch protection rules + required reviewers su GitHub sono il CAB tradotto in codice. terraform plan e l'impact analysis automatica. Un environment protection rule che richiede approvazione manuale prima del deploy in produzione e il formal approval process. Il rollback plan e il git revert - la differenza e che in production il rollback si pianifica PRIMA, non si improvvisa dopo.

Change Advisory Board (CAB)
#

Il CAB e il comitato che approva le modifiche prima che vadano in produzione. Non e un ostacolo burocratico: e la difesa organizzativa contro i change non coordinati che causano outage o violazioni.

flowchart TB
  REQ[Change Request\nSubmission]
  IMPACT[Impact Analysis\n+ Risk Assessment]
  CAB[CAB Review]
  DEC{Decision}
  APPROVE[Approved]
  REJECT[Rejected - Revise]
  BUILD[Build in Sandbox]
  TEST[Testing in Staging]
  WINDOW[Maintenance Window\n+ Deploy]
  MONITOR[Monitor Post-Deploy]
  DOC[Document + Close]

  REQ --> IMPACT --> CAB --> DEC
  DEC -->|Yes| APPROVE --> BUILD --> TEST --> WINDOW --> MONITOR --> DOC
  DEC -->|No| REJECT --> REQ
Ruolo CABResponsabilita
Change ManagerCoordina il processo, convoca il CAB
Change OwnerAccountability del change (non necessariamente chi lo esegue)
Technical ReviewerValuta rischi tecnici e dipendenze
Business StakeholderValuta impatto sul business
Security ReviewerValuta implicazioni di sicurezza

ECAB (Emergency CAB): per change urgenti che non possono aspettare il CAB ordinario. Processo piu rapido, spesso con un subset del CAB normale. In alcuni casi si applica retroapprovazione (il change viene eseguito, il CAB lo ratifica successivamente). Usato per patch critiche di sicurezza o fix di outage in corso.

Processo OABCTMD
#

Il processo completo di un change segue sette fasi sequenziali. La sequenza non e opzionale: saltare una fase invalida il processo e puo rendere il change inammissibile a fini audit.

FaseSiglaCosa succede
Owner AssignmentOSi assegna il responsabile del change (accountability)
ApprovalAIl CAB esamina e approva o respinge
BuildBIl change viene costruito in ambiente sandbox (isolato dalla produzione)
Change ExecutionCIl change viene eseguito nella maintenance window
TestingTVerifica in staging prima del deploy finale
MonitoringMMonitoraggio post-deploy per rilevare regressioni
DocumentationDIl change NON e chiuso finche la documentazione non e aggiornata

Tipi di Change
#

Esistono tre categorie di change con processi di approvazione diversi. La scelta del tipo non e a discrezione del tecnico: dipende da criteri oggettivi di rischio e urgenza.

TipoApprovazioneQuando si usaEsempio
NormalCAB completoQualsiasi change non urgente e non standardAggiornamento di una libreria applicativa
EmergencyECAB acceleratoChange urgente per ripristinare servizi o patchare vulnerabilita critichePatch per una RCE zero-day in produzione
StandardPre-approvatoChange a basso rischio, ripetitivo, con procedure documentateAggiunta di un account utente secondo procedura standard

I change standard vengono pre-approvati periodicamente dal CAB: quando un tipo di modifica e stato eseguito molte volte senza problemi e il rischio e ben compreso, il CAB puo autorizzarne l'esecuzione senza revisione caso per caso.

Elementi Obbligatori di ogni Change
#

Ogni change, indipendentemente dal tipo, deve includere cinque elementi fondamentali prima di essere considerato completo.

Backout Plan
#

Il backout plan e la procedura dettagliata per tornare allo stato operativo precedente se il change fallisce. E obbligatorio anche per i change che hanno superato tutti i test: il sandbox non riproduce mai esattamente la produzione.

flowchart TD
  DEPLOY[Deploy in Produzione]
  CHECK{Deploy riuscito?}
  OK[Monitoring continuato\nChange = chiuso]
  FAIL[Esecuzione Backout Plan]
  RESTORE[Restore allo stato precedente]
  VERIFY[Verifica funzionamento]
  REPORT[Report + root cause\ndel fallimento]

  DEPLOY --> CHECK
  CHECK -->|Si| OK
  CHECK -->|No| FAIL --> RESTORE --> VERIFY --> REPORT

Un backout plan efficace contiene: checkpoint chiari per decidere se eseguire il rollback, procedura passo-passo per il restore, criteri di successo del rollback, chi e autorizzato a decidere il rollback, tempo massimo prima di decidere.

Maintenance Window
#

La maintenance window e lo slot temporale - tipicamente off-hours - in cui i change vengono eseguiti. Tutti gli stakeholder la conoscono in anticipo, il che permette di consolidare piu change nella stessa finestra riducendo le comunicazioni.

Change Freeze: periodi in cui nessun change e permesso, indipendentemente dall'urgenza. Esempi classici:

  • Periodo natalizio (ambienti retail)
  • Periodo di audit finanziario
  • Settimane pre-lancio prodotto
  • Giorni vicini a scadenze regolamentari importanti

Separazione dei Ruoli
#

Un principio fondamentale del change management e che chi sviluppa non puo approvare il deploy in produzione del proprio lavoro. Questo previene sia gli errori involontari (blind spots) sia le modifiche malevole non supervisionate.

RuoloPuo svilupparePuo approvarePuo deployare
DeveloperSiNo (il proprio lavoro)No
Change Manager / CABNoSiNo
OperationsNoNoSi (dopo approvazione)

Dev parallel: E la stessa logica di "non puoi fare merge della tua PR". In GitHub con branch protection, il required reviewer non puo essere l'autore del PR. Il CAB e quel reviewer elevato a processo aziendale formale con implicazioni audit e compliance.

Documentazione e Version Control
#

Il change non e considerato chiuso finche la documentazione non riflette lo stato post-change. Questo include diagrammi di architettura, runbook, configurazioni, e il change log stesso.

Version Control nel change management: sistemi come Git tracciano le versioni correnti del codice e delle configurazioni. Il VCS deconflict le modifiche parallele e permette di tornare a versioni precedenti. Punto critico: il VCS NON e un sistema di backup - e tracking delle versioni con deconflicting.

Config drift detection: AWS Config, Azure Policy e simili confrontano continuamente lo stato reale delle risorse con quello atteso (dichiarato nel repo IaC). Se la configurazione live diverge, scatta un alert. E il controllo detective che compensa la tendenza umana a saltare la documentazione.

Implicazioni Tecniche
#

Ogni change ha conseguenze tecniche che devono essere gestite attivamente per prevenire disservizi non previsti.

AreaCosa fareEsempio
Security controls updateAggiornare firewall rules, ACL, allow listNuovo server richiede nuova regola in ingresso
Dependency trackingMappare sistemi downstream che dipendono dall'elemento modificatoModifica al DB: tutti i servizi che lo interrogano devono essere notificati
Downtime communicationComunicare la finestra di indisponibilita con anticipo (tipicamente 72h)Email a tutti i reparti prima della maintenance
Restricted activitiesBloccare attivita incompatibili con il change in corsoFreeze inserimenti nel sistema finanziario per 48h durante upgrade
Scope expansionRi-approvare qualsiasi modifica non prevista nel change originaleAggiornare il firmware del firewall ha richiesto prima aggiornare il management software: due change, non uno

Legacy Applications nel Change Management
#

Le applicazioni legacy (non piu supportate dal vendor) richiedono attenzione speciale perche l'organizzazione diventa il proprio team di supporto.

SituazioneApproccio
App non patchabileAllow list: blocca tutto, esegue SOLO processi approvati
App con comportamento impredittibileDeny list: blocca solo il noto-malevolo
Sistema EOL criticoIsolamento di rete + compensating controls

Ticketing e Tracciabilita
#

Ogni change ha un ticket che documenta l'intero ciclo di vita. Il ticket contiene:

  • Descrizione del change e motivazione (justification)
  • Risk assessment: cosa puo andare storto, impatto stimato
  • Rollback plan con procedura dettagliata
  • Approval record con firma del CAB
  • Test results dall'ambiente di staging
  • Finestra di esecuzione pianificata
  • Stato post-change e verifica del successo

Il ticketing e lo strumento che rende il change management verificabile in sede di audit. Un auditor che chiede "mostrami tutti i change degli ultimi 6 mesi" deve ricevere un elenco completo con tutto il tracciato.

Dev parallel: In Jira o ServiceNow, il change ticket e la pull request elevata a livello di processo aziendale. Non contiene solo il codice, ma tutto il contesto: perche il change, chi lo ha approvato, come tornare indietro, quando e avvenuto. Un PR senza descrizione e senza test e un change senza ticket - accettabile in un progetto personale, inaccettabile in produzione.

Related