Git diff para alertar hacks

Estamos usando Git para control de fuente y Beanstalkapp.com como nuestro repository remoto. Con Beanstalk, podemos implementar en nuestra count de Rackspace Cloud Sites a través de sftp (no son compatibles con SSH). Si bien esto funciona bien, necesitamos cierta security de que nuestros sitios no se actualizan sin nuestro conocimiento (hacks) directamente en el server. Sé que podemos hacer un hash de todos los directorys / files para ver si hay algún cambio, pero estoy buscando una forma más robusta de identificar qué ha cambiado. He creado el siguiente enfoque, que creo que puede mejorarse con personas con más experiencia …

Lo siguiente sería en una secuencia de commands de shell en la máquina local y ejecutar cada hora a través de cron:

  • Crear una nueva "copy de security" de la twig de Git
  • Cambie a Branch usando "git checkout backup"
  • Use SFTP para download todos los files
  • Agregar files a la twig "git add –all"
  • Confirmar files para hacer una copy de security de la twig "git commit -m 'process de copy de security'"
  • Diff branches "git diff master..backup"
  • Correo electrónico resultados si se encuentran diferencias.
  • Volver a la twig principal

Es una idea interesante, una puede hacer esto sin crear una twig. En su máquina local:

  • Echa un vistazo a la twig que supuestamente se desplegará
  • Descargue los files actualmente desplegados del server a un directory temporal en la máquina local
  • ejecuta el command diff para comparar los files extraídos con los files descargados del server

Por supuesto, generar un hash es más simple, pero si alguien tiene acceso a nuestros files de server, entonces pueden cambiar el progtwig que genera el hash.