Sto cercando di capire un modo per limitare l'accesso e anche di stabilire processi per evitare che tutti i membri del mio team compromettano il nostro intero sistema di produzione.
Abbiamo un team di 10 sviluppatori, 1 QA e 1 SA.
Tutto il nostro team ha accesso diretto all'intero DB di produzione per lo sviluppo e il supporto. Hanno anche accesso a tutti i nostri server Web di produzione per gli stessi motivi.
Il nostro sistema è un sistema ad alto volume e critico per oltre 1000 aziende negli Stati Uniti.
I membri del team hanno bisogno di accedere al DB di produzione per eseguire il debug e correggere i problemi con i dati. SA e alcuni membri del team hanno accesso ai server Web per distribuire / rilasciare nuove versioni di codice.
I problemi o i rischi comuni: Tutti i membri della nostra organizzazione possono potenzialmente: - Basta cancellare l'intero DB. - Esegui query stupide che eliminano il sistema. - Dati corrotti. - Rilasciare il nuovo codice a piacimento. - Avere accesso per vedere l'elenco completo dei clienti. - Avere accesso a informazioni sensibili.
I processi non sono sufficienti, devo anche essere in grado di applicarlo con tecnologia, registrazione, auditing, ecc.
Quindi quello che sto cercando è: - Pratiche comuni per i diversi scenari. - Idee, suggerimenti e strumenti per aiutare con questo.
Grazie.
p.s L'applicazione è apache, php, mysql source control in git, su ubuntu server il 99% su hardware di proprietà e autogestito in un luogo sicuro.