Estoy tratando de encontrar una manera de limitar el acceso y también de establecer procesos para evitar que cualquiera y todos los miembros de mi equipo pongan en peligro todo nuestro sistema de producción.
Tenemos un equipo de 10 desarrolladores, 1 QA y 1 SA.
Todo nuestro equipo tiene acceso directo a toda nuestra base de datos de producción para desarrollo y soporte. También tienen acceso a todos nuestros servidores web de producción por las mismas razones.
Nuestro sistema es un sistema crítico de gran volumen para más de 1000 empresas en todo el EE. UU.
Los miembros del equipo necesitan acceso a la base de datos de producción para depurar y corregir problemas con los datos. SA y algunos miembros del equipo tienen acceso a servidores web para implementar / lanzar nuevas versiones de código.
Los problemas o riesgos comunes: Todos en nuestra organización pueden potencialmente: - Simplemente borra todo el DB. - Ejecutar consultas estúpidas tomando el sistema hacia abajo. - Datos corruptos. - Liberar nuevo código a voluntad. - Tener acceso para ver la lista completa de clientes. - Tener acceso a información sensible.
Los procesos no son suficientes, también necesito poder aplicarlos con tecnología, registro, auditoría, etc.
Entonces, lo que estoy buscando es: - Prácticas comunes para los distintos escenarios. - Ideas, tips y herramientas para ayudar con esto.
Gracias.
p.s La aplicación es apache, php, mysql source control en git, en servidores ubuntu 99% en hardware propio y autogestionado en una ubicación segura.