Qué hacer primero si está editando manualmente files directamente en un server de producción sin copys de security

Me doy count de que esto es forraje para ser cerrado, pero estoy teniendo problemas para encontrar esta información en otro lugar, y estoy seguro de que otros también lo están.

El escenario:
Ha sido contratado para un equipo de desarrollo web que carece de todo tipo de "mejores prácticas" en su entorno. No hay control de versiones, no copys de security, el desarrollo se realiza usando un editor de text básico en el server de producción que está frente al público (solo hay uno, no parece tener ningún parche reciente del sistema operativo y usa una database instalada en el mismo server) ), etc.

Mi problema es que parece que no puedo encontrar ningún recurso de reference que me diga qué hacer si estuviera en este escenario. ¿Debo primero hacer una copy de security de la database? ¿Control de versiones? Comprobar si hay agujeros de security ¿Que viene despues? ¿Cuál sería el order lógico de los pasos si quisiera llevar esto a algún lugar significativo? Tal vez esta aplicación se podría beneficiar enormemente de la implementación (insert palabra de moda), pero parece que estoy a 50 pasos de ese objective, y ni siquiera sé cómo son esos 50 pasos.

En resumen, ¿cuál es un buen recurso para utilizar si quisiera abordar desde un entorno mínimo viable y progresivamente trabajar hacia algo más confiable, seguro, escalable, etc.? ¡Gracias!

Yo huiría de ese lugar … Sin embargo, si decides quedarte, te recomiendo que hables con el rest de tu equipo y pienses cuál será el resultado final. Pueden ser más receptivos de lo que piensas. Una vez que tenga un objective final, puede trabajar gradualmente hacia ese objective. Pero todos deben tener algo que decir al respecto.

Es difícil hacer recomendaciones sin conocer el entorno y la aplicación … pero lo intentaré.

Lo que haría: Asegúrate de que la producción esté respaldada regularmente y de que haya un plan de DR en funcionamiento. Base de datos, sitio (s) web, cualquier dependencia: todo lo que necesita para ejecutar la (s) aplicación (es) en un nuevo server. Asegurar copys de security fuera del sitio sería ideal.

Configure un entorno de escenario en un nuevo server. Si cree que la instancia de DB debe estar en su propio server (no en la networking), colóquela en su propio server.

Implemente cualquier sistema de control de versiones, cargue su código en él y despliéguelo en el nuevo entorno de escenario. Creo que Visual Studio Team Services es gratuito para hasta 5 usuarios. Si su equipo tiene más de 5 personas, haga que su compañía gaste el dinero. Pero la limitación de 5 usuarios debería estar bien para configurar una testing de concepto.

Coordine un corte para promover el entorno escénico a la producción. Esto se ocupa del server de producción que no ha sido parcheado … y puede verse comprometido.

Limpie el antiguo server de producción y utilícelo como escenario.

No importa qué tan malo sea el ambiente, puede ser reparado. Tomará time y será doloroso para todos los involucrados. Pero eso lo hace mucho más gratificante cuando terminas.