Alfonso Maruccia

Git, migliaia di siti dicono troppo

Uno sviluppatore identifica pių di 2.000 siti Web senza adeguate protezioni per la cartella .git, una cartella potenzialmente in grado di rivelare "segreti" su aziende, utenti e business telematici se gestita incorrettamente

Roma - Da un grande potere derivano grandi responsabilità, e nel caso di Git la responsabilità è degli sviluppatori di codice Web non particolarmente accorti che rischiano di compromettere un intero progetto o, peggio ancora, i dati sensibili degli utenti di un servizio telematico.

Il rischio, evidenziato dallo sviluppatore Jamie Brown, consiste nella gestione errata della cartella .git, creata dal tool di gestione e revisioning dei progetti software e contenente un gran numero di informazioni inerenti le modifiche al codice sorgente e non solo.

Una cartella .git può contenere dati sensibili quali credenziali di accesso FTP, chiavi API, login per database e altro ancora, denuncia Brown, e quel che è peggio un numero consistente di sviluppatori evita di proteggere adeguatamente la cartella permettendo in sostanza al pubblico di accedere ai succitati dati sensibili.
Dalle analisi di Brown risultano 2.402 siti Web con cartella .git pubblicamente accessibile su 1,5 milioni di domini controllati, lo 0,16 per cento del Web che include anche nomi parecchio noti come BBC e The Guardian, autorità governative, istituti educativi e organizzazioni non governative.

Particolarmente inquietante il rischio per le ONG, dice Brown, con un gruppo che si batte per i diritti umani nella cui cartella .git lo sviluppatore ha scovato tutte le informazioni (inclusi indirizzi fisici ed email) riguardanti i partecipanti a una campagna a favore dei diritti gay.

Alfonso Maruccia
Notizie collegate
5 Commenti alla Notizia Git, migliaia di siti dicono troppo
Ordina
  • ma chi è così fesso da piazzare la cartella del versionamento, che teoricamente esiste nell'ambiente di sviluppo (neanche in quello di test), in un ambiente di produzione?

    Quando pubblico un sito su un server non devo nemmeno pensare a questa cosa, perché la cartella .git di là non passa nemmeno!
    non+autenticato
  • - Scritto da: Luca
    > ma chi è così fesso da piazzare la cartella del
    > versionamento, che teoricamente esiste
    > nell'ambiente di sviluppo (neanche in quello di
    > test), in un ambiente di
    > produzione?
    >
    > Quando pubblico un sito su un server non devo
    > nemmeno pensare a questa cosa, perché la cartella
    > .git di là non passa
    > nemmeno!

    Molte strategie di deploy attuali passano per git. Il problema semmai è far coincidere la root del progetto con la docroot. Lì sta il problema
    -----------------------------------------------------------
    Modificato dall' autore il 03 agosto 2015 21.55
    -----------------------------------------------------------
  • - Scritto da: Luca

    > ma chi è così fesso da piazzare la cartella del
    > versionamento, che teoricamente esiste
    > nell'ambiente di sviluppo (neanche in quello di
    > test), in un ambiente di produzione?

    Provo a dare una risposta su quelle che potrebbero essere le ragioni per tenere l'intero repositori git sul server (noi non facciamo così): è molto semplice tornare indietro qualora qualcosa andasse storto e senza dover dipendere dagli sviluppatori. Anzi, supponendo che il repository sia tenuto aggiornato (da uno script?), ti basta un comando per il rilascio.

    Chiaramente, devi proteggere le directory .git, come altri file contenuti nel repository che magari non devono essere pubblicati. Aggiungo, qualsiasi cosa che si chiama .qualcosa andrebbe protetto.
    FDG
    10933
  • Per quanto proponi tu è meglio utilizzare un server di sviluppo centralizzato. Sui server di produzione IMHO ci dovrebbero andare solo le cose strettamente necessarie. Né di più né di meno. Ogni aggiunta in più è un possibile punto per un attacco da fuori.
    Non è professionale, IMHO, piazzare dati necessari per lo sviluppo su un server di produzione.
    non+autenticato
  • - Scritto da: FDG
    > - Scritto da: Luca
    >
    > > ma chi è così fesso da piazzare la cartella
    > del
    > > versionamento, che teoricamente esiste
    > > nell'ambiente di sviluppo (neanche in quello
    > di
    > > test), in un ambiente di produzione?
    >
    > Provo a dare una risposta su quelle che
    > potrebbero essere le ragioni per tenere l'intero
    > repositori git sul server (noi non facciamo
    > così): è molto semplice tornare indietro qualora
    > qualcosa andasse storto e senza dover dipendere
    > dagli sviluppatori. Anzi, supponendo che il
    > repository sia tenuto aggiornato (da uno
    > script?), ti basta un comando per il
    > rilascio.
    >
    > Chiaramente, devi proteggere le directory .git,
    > come altri file contenuti nel repository che
    > magari non devono essere pubblicati. Aggiungo,
    > qualsiasi cosa che si chiama .qualcosa andrebbe
    > protetto.

    Io non penserei nemmeno lontanamente di lasciare .git sui server di produzione.

    Se si vogliono veramente facility, si usano strumenti come Jenkins o Bamboo per il deploy che permettono anche il revert.

    L'altro è l'approccio di chi usa root con password per un accesso ssh.
    non+autenticato