Esta historia sucede en la empresa para la que estoy trabajando. El problema no era el software en sí … al menos principalmente. Tengo un colega Llamémoslo Sven. Y ahora les voy a contar la historia del día, cuando Sven eliminó todos los registros de clientes de la base de datos de producción.
¿Cómo pudo pasar eso? En primer lugar: Sven es un desarrollador muy experimentado que realmente conoce el sistema. Cuando vio algo de código en nuestra solución en la nube, asumió que había un agujero de seguridad, por lo que decidió probarlo en nuestro entorno de preparación: un entorno que se comporta como el entorno de producción, pero es solo para fines de prueba. Así que escribió una pequeña declaración sql que comenzó con “DROP TABLE …” Creo que sabes lo que eso significa y probé una inyección SQL. Y funcionó. El problema: tuvo mala suerte y utilizó la URL incorrecta, por lo que esta solicitud no se envió a la puesta en escena, sino al entorno de producción. La aplicación no funcionaba inmediatamente y una gran bola de lodo cayó sobre nuestro equipo de desarrolladores.
Afortunadamente, solo crearon un volcado de la base de datos unas horas antes, para que pudieran arreglar la base de datos muy rápido. De lo contrario, la compañía habría tenido una interrupción que tomaría mucho tiempo y nuestro equipo de mercado habría tenido mucho que explicar a nuestros clientes …
- ¿Qué es un buen software para administrar múltiples agendas con un grupo?
- ¿Qué ideas te han hecho un mejor ingeniero de software?
- ¿Qué podría haber sido una alternativa a los "archivos" tal como los conocemos hoy?
- ¿Qué es la prueba de caja blanca? ¿Por qué es necesario?
- ¿Qué tecnologías necesito saber para DevOps?
Incluso hoy, a los colegas les gusta hablar sobre “El día en que Sven eliminó la tabla de clientes”.