Perché la fine del ciclo di vita di Drupal 7 è un grosso problema?
Non è una novità che Drupal 7 si stia avvicinando alla sua fine del ciclo di vita - spostata al 1 novembre 2023 dopo una prima previsione fissata a novembre 2022 - e sembra sempre meno probabile di giorno in giorno che venga esteso ulteriormente.
Si è parlato molto di ciò che serve per passare al "Drupal moderno", ma poco si è detto su come sarà effettivamente essere ancora responsabile di un sito Drupal 7 e della sua sicurezza dopo quella data.
Fidati del processo
Drupal ha avuto a lungo una reputazione stellare per la sicurezza e sarebbe facile pensare che fosse dovuto al fatto che è open-source. Direi che il livello di sicurezza offerto dalla base di codice di Drupal è un prodotto del suo processo di sicurezza. Il Drupal Security Team è responsabile della valutazione dei problemi di sicurezza per il "core" di Drupal e i moduli "contribute", mobilitando gli sviluppatori, nel modo più efficiente possibile, per creare correzioni e ottenere informazioni sulla vulnerabilità, e mettere a disposizione degli utenti la relativa correzione.
Quando Drupal 7 raggiungerà il suo fine vita, il suo codice sarà ancora open-source, ma non beneficerà di nessuna delle strutture o dei processi che sono stati costruiti per portare Drupal dove si trova ora. Sarà un po' come vivere in una città di frontiera senza infrastrutture o aiuto disponibile quando qualcosa inevitabilmente va storto. Sarà una questione di quando non se. Questo non è ciò che un responsabile della sicurezza di un sito web vuole sentire.
Processo di sicurezza di Drupal
Ricordiamo quali sono i passaggi principali quando si scopre una vulnerabilità in una versione supportata di Drupal.
- Scopri una vulnerabilità di sicurezza nel core di Drupal o in un modulo fornito.
- Segnali la vulnerabilità al Drupal Security Team.
- Il Drupal Security Team valuta il problema e, se confermato, contatta gli sviluppatori interessati in privato. Questo è importante in modo che sia possibile creare una correzione prima che la vulnerabilità venga resa pubblica.
- Il Drupal Security Team si coordina con gli sviluppatori per garantire che il problema sia stato risolto.
- Quando il problema è stato risolto e sono state create nuove versioni, il Drupal Security Team pubblica la vulnerabilità e la sua correzione. Gli utenti Drupal devono solo preoccuparsi di seguire gli annunci del team di sicurezza per rimanere aggiornati sulle vulnerabilità e le relative correzioni.
La vita dopo la fine della vita
L' annuncio del termine del supporto di sicurezza originale del 2019 descrive in dettaglio cosa sarà diverso quando Drupal 7 raggiungerà la fine del ciclo di vita:
Exploit zero-day
«Il Drupal Security Team non fornirà più supporto o avvisi di sicurezza per Drupal 7 core o moduli, temi o altri progetti. I rapporti sulle vulnerabilità di Drupal 7 potrebbero diventare pubblici creando exploit zero-day.»
I processi di sicurezza sopra descritti non esisteranno per Drupal 7. Il team di sicurezza non accetterà più né valuterà i rapporti per Drupal 7, non coordinerà/pubblicherà le correzioni o pubblicherà il loro rilascio. Sarà sempre più probabile che le vulnerabilità vengano divulgate pubblicamente prima che le correzioni vengano identificate e pubblicate.
Nessun annuncio attendibile
«Fornire sicurezza richiede molto di più della semplice pubblicazione di una patch su Drupal.org. Centinaia di migliaia di persone si affidano al team di sicurezza di Drupal per notificare loro le vulnerabilità note. Il team di sicurezza coordina gli annunci nei cicli di rilascio e valuta se le correzioni sono pronte per il rilascio con diversi giorni di anticipo.»
Anche se uno sviluppatore è così gentile da pubblicare una correzione per una vulnerabilità, non verrà fatto alcun annuncio ufficiale. Dovrai identificare e controllare da solo eventuali divulgazioni e correzioni di sicurezza.
- Questa vulnerabilità è reale?
- Questa patch risolve effettivamente un problema reale o potrebbe creare una nuova vulnerabilità?
- Mi fido della persona che condivide questa patch?
Queste sono solo alcune delle domande che dovrai porti in un mondo senza supporto ufficiale di sicurezza.
Nessun impegno o rilascio
«Non ci saranno più core commit per Drupal 7.»
Non ci saranno ulteriori commit o rilasci pacchettizzati per Drupal 7. Quando viene divulgata una vulnerabilità, sarai responsabile di trovare o creare una correzione e quindi di tracciare e applicare le tue patch di sicurezza. Man mano che aggiungi più patch nel tempo, sarai responsabile di assicurarti che le patch continuino ad applicarsi correttamente in caso di conflitti tra una o più di esse.
Nessun supporto della comunità
«Drupal 7 non sarà più supportato dalla comunità in generale.»
Quanti team là fuori hanno un membro che è un esperto in un'area della base di codice del core di Drupal? Quanti hanno esperti in ogni area? La vivace comunità open source di Drupal rende non necessario avere un esperto in ogni area quando si lavora con una versione supportata. Tutti noi possiamo trarre vantaggio dall'esperienza degli altri contribuendo al tempo stesso nelle nostre aree di competenza.
Dopo il termine del supporto ogni team sarà da solo per identificare, controllare o persino creare correzioni per sottosistemi Drupal vari come moduli, autenticazione utente, database, memorizzazione nella cache, temi e così via. Il Drupal Security Team, composto da 30 talentuosi volontari, non sarà più di aiuto ei loro contributi non saranno facilmente riproducibili. Anche con uno staff di ingegneri dedicati, questo è un pesante fardello da portare per qualsiasi team, figuriamoci per uno piccolo.
Adesso cosa?
La fine della storia rimane la stessa. Dobbiamo migrare da Drupal 7 prima che entri nella fase di fine vita. Si parlerà di questo argomento e delle opzioni disponibili per i team ancora su Drupal 7 durante il webinar The Risks You Face Staying on Drupal 7 il 12 aprile 2023.
(Traduzione e adattamento da Chromatic )