Come il più diffuso CMS al mondo concili “apertura” e sicurezza

Drupal è un progetto software, enorme sotto qualsiasi aspetto, con migliaia di sviluppatori che scrivono codice, sviluppando siti web ad applicazioni. Si tratta di uno dei più grandi progetti open source al mondo, accanto a Linux, Apache e Mozilla. Questo articolo aiuta a spiegare l'importante lavoro del team di sicurezza di Drupal.

Chi ha bisogno di protezione e perché?

Drupal in oltre 15 anni si è notevolmente irrobustito, e oggi è alla base dei siti web di centinaia di migliaia di aziende, governi, università, ed altre organizzazioni in tutto il mondo. Sviluppare codice per Drupal ora, significa scrivere codice che potrebbe essere utilizzato in ognuno di queste tipologie di siti. Sia che provenga da appassionati hobbisti o da professionisti a tempo pieno, il codice di Drupal deve soddisfare i requisiti di sicurezza molto rigorosi di banche, operatori sanitari e governi, mantenendosi un passo avanti a coloro che cercano di violare tali sistemi.

Sicurezza e open source vanno di pari passo

Il processo di sicurezza di Drupal ha bisogno di essere condotto con rapidità e discrezione per risolvere i problemi prima che diventino ampiamente conosciuti e sfruttati. Tuttavia, sicurezza e open source vanno di pari passo - questo può rappresentare una sorpresa per coloro che ritengono una formula vincente la "security by obscurity" (la sicurezza perché non faccio vedere il codice). Nascondersi dietro concessione di licenze proprietarie o codice compilato e sperare che nessuno si accorga che le falle di sicurezza non sono state affrontate è una ricetta per il disastro. Avere il tuo codice aperto a chiunque può portare notevoli miglioramenti di sicurezza: chiunque può trovare e risolvere un problema. Lavorare con una comunità di migliaia di sviluppatori moltiplica le prestazioni. Gli esperti di sicurezza dei governi del mondo e delle più grandi aziende esaminano periodicamente il codice base di Drupal e lo hanno giudicato sufficientemente sicuro per le loro applicazioni strategiche.

Il lavoro inizia prima che sorga un problema di sicurezza

Il codice insicuro di solito è viziato fin dall'inizio. Ci sono buone pratiche che gli sviluppatori devono seguire per stroncare sul nascere la stragrande maggioranza dei problemi di sicurezza. Per questo motivo, il team di sicurezza di Drupal capeggia instancabilmente gli sforzi in atto per educare e aiutare la comunità Drupal ad evitare l'insorgere di problemi di sicurezza. Tengono presentazioni e svolgono formazione durante gli eventi e le conferenze della comunità Drupal, svolgono webinar, scrivono documentazione on line gratuita, e gestiscono un gruppo pubblico per discutere dei problemi relativi alla sicurezza di Drupal.
 

Il processo di rilascio di sicurezza

  1. Scoperta una vulnerabilità nel codice. I cacciatori di bug sono ovunque! Chiunque può individuare e segnalare un problema di sicurezza alla squadra, incluso lo stesso team, i manutentori del modulo, tutta la vasta comunità di Drupal, i ricercatori interessati alla sicurezza in Drupal, e voi. Per segnalare un problema, leggete e seguite Come segnalare un problema di sicurezza http://drupal.org/node/101494 su drupal.org.
  2. Problema segnalato privatamente Team per la Sicurezza. Le questioni di sicurezza devono essere trattati in modo confidenziale. L'unica eccezione è quando una vulnerabilità per essere pericolosa richiede autorizzazioni o accessi avanzati - ad esempio, la capacità di gestire i filtri o utenti. In questi casi, il Team per la Sicurezza incoraggia i manutentori del modulo a risolvere questi problemi pubblicamente perché non rappresentano una minaccia di per sé e rafforzano ulteriormente il sistema una volta risolti. Vedere la Drupal Security Advisory Policy http://drupal.org/security-advisory-policy per ulteriori dettagli.
  3. Problema analizzato, valutato l'impatto potenziale su tutte le versioni di Drupal supportate. Ci sono due serie di “major release” (7.x, 10.x, ecc) supportate in qualsiasi momento. Si dovrebbe sempre aggiornare alla versione più recente della serie che si sta utilizzando. Vedere Scelta di una versione di Drupal http://drupal.org/documentation/version-info per ulteriori dettagli.
  4. Se la minaccia è effettiva, il Team per la Sicurezza viene mobilitato per l'analisi, e viene inviata una notifica al gestore (maintainer) del progetto.
  5. Il maintainer risolve problema. Il Team per la Sicurezza fornisce il supporto. Manutentori, tester e altre parti interessate hanno accesso al problema in un privato e sicuro “issue tracker” per collaborare nel trovare una soluzione.
  6. Correzioni riviste e discusse. I passaggi da 4 a 6 vengono ripetuti fino a quando il Team per la Sicurezza e il manutentore del modulo sono soddisfatti e il problema della sicurezza è stato risolto.
  7. Le patch del codice vengono create e testate. Il nuovo codice è testato per assicurarsi che non presenti altri problemi di protezione o danneggi il modulo in questione.
  8. Le nuove e corrette versioni vengono messe a disposizione su Drupal.org
  9. L'avviso di sicurezza viene scritto e pubblicato tramite il sito web, newsletter, RSS, Twitter, social media, ecc. Iscriviti alla Newsletter sulla sicurezza di Drupal su Drupal.org. Segui @ drupalsecurity su Twitter. Segui i feed RSS per i moduli del core: http://drupal.org/security/rss.xml e i moduli aggiuntivi http://drupal.org/security/contrib/rss.xml
  10. Le nuove versioni sono distribuite su tutti i siti. Il report "Aggiornamenti disponibili" (su admin/reports/updates in Drupal 7.x e 10.x) sul vostro sito Drupal vi dirà se il vostro sistema e i moduli aggiuntivi sono aggiornati, vi darà i link per il download e le note di rilascio per le nuove versioni. Gli aggiornamenti non sono automatici e devono essere effettuati regolarmente per mantenere il vostro codice aggiornato e il vostro sito più sicuro possibile.
     

Traduzione e adattamento da: https://www.acquia.com/blog/keeping-drupal-secure (pagina non più online)