La sicurezza è un vero argomento per il controllo della versione centralizzata?

4

Sto cercando di capire se la sicurezza è una preoccupazione reale, o se la distribuzione fa effettivamente un lavoro migliore con la sicurezza. Vedi, l'accesso al repository principale potrebbe essere stratificato e gestito in modo inerente da una rete di fiducia, e potrebbe ancora avere una gestione centralizzata degli utenti che integri gli utenti da una LDAP / Active Directory, mentre il sistema di controllo della versione centralizzato si basa solo sul successivo. Con la distribuzione, l'accesso potrebbe anche essere concesso a meno utenti per repository in paesi diversi e mantenuto più facile.

Posso capire perché è facile pensare che avere stretto & la gestione centralizzata degli accessi a un repository di codice si traduce in sicurezza, tuttavia ciò non significa che non sia possibile accedere o ridistribuire il codice in altri modi. Ma c'è un vero argomento / caso d'uso / scenario per la sicurezza in cui il modello centralizzato è migliore di quello distribuito?.

Alcuni contesti : sto cercando di rendere il caso (con un white paper) alla mia azienda per passare a un DVCS (ho già identificato altri problemi risolti con successo dalla maggior parte dei DVCS) e la sicurezza è uno degli argomenti che mi aspetto di dover giustificare. La mia azienda è di mentalità aperta però; attualmente usano perforce e sono distribuiti geograficamente.

    
posta dukeofgaming 06.03.2012 - 22:28
fonte

2 risposte

6

Al contrario, un DCVS può essere molto più sicuro, ed ecco perché:

Mentre un determinato sviluppatore che ha codice sorgente in qualsiasi forma sulla propria workstation può fare qualsiasi cosa vogliano fare (rubarlo, condividerlo, postarlo su Facebook), devi affrontare il problema che all'esterno del controllo della versione. Quindi è lo stesso campo di gioco una volta estratta una copia di lavoro.

Quando si tratta di estrarre una copia funzionante, immagino che la sicurezza sia paragonabile. Usiamo SSH per tutti gli accessi a git , quindi è sicuro quanto git (gioco di parole).

Qui è dove sono diversi:

Se utilizzi il flusso di lavoro appropriato, nessuno, tranne i tuoi tecnici più fidati, ha accesso diretto al tuo repository principale. Gli sviluppatori regolari lavorano ... lavorano ... lavorano, quindi inviano una richiesta di pull al tecnico fidato, che estrarrà, revisionerà e sposterà nel repository principale.

Pensa a come i progetti open source, come Linux, gestiscono il loro flusso di lavoro in un ambiente senza fiducia. Se gli stessi concetti sono applicati al tuo flusso di lavoro DCVS, hai effettivamente una sicurezza di gran lunga migliore in merito a bug, falle di sicurezza o codice dannoso aggiunto al tuo prodotto.

    
risposta data 06.03.2012 - 23:04
fonte
4

Ci sono due aspetti della sicurezza: lettura e scrittura. Se si dispone delle autorizzazioni di lettura sul controllo del codice sorgente centralizzato, si dispone di autorizzazioni sufficienti per convertirlo in un repository DVCS di cui nessun altro è a conoscenza. Pertanto, la sicurezza dalla distribuzione non autorizzata è un lavaggio in entrambi i casi.

Sebbene in teoria il CVCS abbia controlli di autorizzazione solidi e dettagliati su ciò che può essere scritto nel repository, la realtà è che queste autorizzazioni diventano sempre più libere dal momento che le persone devono svolgere il proprio lavoro. Una volta concesso "temporaneamente", il permesso viene raramente rimosso.

La natura distribuita di DVCS significa che le persone hanno il potere di fare tutto ciò di cui hanno bisogno nel loro repo locale, rendendo più semplice per gli altri il controllo rigoroso di ciò che entra nel repository ufficiale. PQ può controllare un repository che nulla va a meno che non passi i test, mentre gli sviluppatori hanno libero dominio sul proprio dominio. Ad esempio, questa struttura consente a Linus Torvalds di approvare personalmente ogni singolo cambiamento che va nel kernel di Linux, sebbene molti di questi cambiamenti approvi in virtù della sua fiducia nei suoi luogotenenti.

In altre parole, la sicurezza DVCS è come la custodia di celle di prigione individuali, dove la sicurezza CVCS è simile a quella di un cortile di esercitazione. Più basso è il numero di persone che hanno accesso, più facile è il controllo.

    
risposta data 06.03.2012 - 23:03
fonte

Leggi altre domande sui tag