Extensión / herramienta recomendada para verificar las modificaciones del archivo principal?

16

Cuando actualizo los sitios de Joomla a la última versión, siempre tengo un pequeño pánico en caso de que el sitio que estoy actualizando, creado en el pasado por algún desarrollador malintencionado (es decir, yo, hace 6 años), tenga cambios en las características archivos principales de Joomla.

En un mundo ideal, podría evitar este potencial coronario si tuviera una extensión o herramienta que:

  • Conoce todos los archivos principales de Joomla incluidos en cada versión de Joomla
  • Compara cada archivo en mi instalación de Joomla con los archivos fuente maestros de Joomla en Github o donde sea (incluso algo así como una comparación de hash MD5)
  • Si difieren, inicie una herramienta de diferencias para encontrar las diferencias y marcarlas para su revisión.
  • Si son lo mismo, excelentes cosas, no se requiere acción
  • Genere un informe al final que detalle los resultados del proceso anterior.

He encontrado esta extensión que hace la mayor parte de lo anterior, pero no se ha actualizado desde J2.5.7 o en absoluto para J3.X, así que eso está fuera.

En mi empresa, utilizamos MyJoomla para realizar 'auditorías' completas del sitio de Joomla (una larga lista de verificación de las mejores prácticas y correcciones para los sitios de Joomla) de vez en cuando, parte de lo cual es una 'Comprobación de integridad de los archivos principales'. Sin embargo, este servicio tiene una tarifa de suscripción mensual y todo lo que realmente quiero comprobar es si algún archivo ha sido pirateado antes de realizar una actualización.

¿Alguien sabe de alguna otra solución? Además de 'no hackear archivos principales', hasta hace muy poco no había otra forma de realizar ciertas tareas sin un montón de trabajo adicional, a menudo no remunerado.

codinghands
fuente
1
Myjoomla.com proporciona una herramienta excelente que ayudará a las modificaciones principales de Joomla.
github.com/btoplak/Joomla-Anti-Malware-Scan-Script--JAMSS- JAMS - que escanea a través de todos los archivos e identifica posibles hacks, así como las fechas de los cambios de archivos
iamrobert

Respuestas:

11

No puedo imaginar una herramienta mejor que git . Esta es una gran herramienta para rastrear los cambios que realiza en el código (si está haciendo alguno), es el sistema utilizado por Joomla para contribuir con el código (que es algo increíble), ¡y este es su propósito!

El flujo de trabajo es bastante simple y debería permitirle estar bastante libre de preocupaciones:

  1. Haga una copia de seguridad de su sitio web de joomla (lo que estaba haciendo antes de todos modos, ¿verdad?)
  2. Configure la copia de respaldo localmente.
  3. Ejecutar git initen la carpeta raíz de la copia local. Luego corre git add --ally git commit. Esto toma una instantánea del código tal como está ahora.
  4. Tome el parche que coincida con su versión actual de Joomla.
  5. Instale ese parche sobre su copia local.
  6. Ejecute git diffy verá una lista de todas las diferencias en los archivos entre lo que está ejecutando y los archivos principales.

Reconozco que esta es una respuesta bastante "de desarrollo" y que no todos quieren usar git en la línea de comando. Si usa una GUI de Git (como el cliente de Github), puede omitir el último paso, ya que la GUI generalmente le mostrará la diferencia automáticamente.

En última instancia, recomiendo este método, ya que te enseña una habilidad que te ayudará si codificas y contribuyes a Joomla y mantiene todas las comprobaciones a nivel local, ¡para que no tengas que preocuparte por enviar tu código a otro sitio web o servicio!

David Fritsch
fuente
Me gusta este método, pero generalmente el mantenimiento es una tarea ingrata que estoy tratando de hacer que el tiempo sea insignificante (por lo tanto, pagamos por MyJoomla). Sin embargo, puedo comenzar a hacer esto, así que gracias.
codinghands
1
Si. Esto se vuelve mucho más rápido si ya está usando git para controlar y rastrear el desarrollo del sitio, ¡lo cual recomiendo encarecidamente! Aunque eso no ayuda a admitir sitios antiguos, usar git será fácil, por lo que puede usarlo de esta manera rápidamente.
David Fritsch
Aunque Git es popular, no siempre es el mejor, así que me gustaría generalizar la respuesta : elija un software de control de revisiones que funcione para usted.
miroxlav
Estoy intentando modificar y / o clonar una extensión que viene como parte de una plantilla de terceros y que anula com_content. Primero, necesito realizar ingeniería inversa, por lo que espero que esta solución me ayude a encontrar archivos modificados y adicionales (aunque puede haber muchos, necesito una buena herramienta y metodología). Espero que esta solución funcione para eso :-)
NivF007
5

Esta es una extensión de la respuesta de FFrewin. Akeeba también produce una herramienta gratuita llamada SiteDiff. Le permite comparar 2 sitios que han sido respaldados con Akeebabackup (también hay una versión gratuita de eso).

Para que esto funcione, tendría que tener 2 copias de seguridad. Una copia de seguridad sería de su sitio (digamos que era la versión 2.5.19). Para la otra copia de seguridad, necesitará instalar una copia nueva de Joomla 2.5.19 y luego hacer una copia de seguridad de esa instalación. A continuación, compare las dos copias de seguridad con la herramienta SiteDiff.

Un problema con este método es que tendrá más archivos en la copia de seguridad de su sitio que su nueva instalación. Los archivos adicionales aparecerán como diferencias, posiblemente haciendo que sea difícil discernir los cambios centrales del resto del 'ruido'.

Esforzarse más
fuente
3

http://audit-fs.co.za/ tiene una herramienta gratuita llamada Audit_FS que muestra archivos modificados de Joomla y / o posiblemente archivos corruptos de Joomla.

Como herramienta de seguridad básica, Audit_FS está diseñado para realizar auditorías solo de sus archivos Joomla! ®, así como también para verificar sus permisos de archivos y directorios. No verifica ningún cambio o piratería en los registros de su base de datos ni verifica ningún archivo de extensiones que pueda haber instalado. El informe de auditoría también ignorará .htaccess, robots.xt, configuration.php, configuration.php-dist y copyright.php.

Ricardo
fuente
2

No conozco ninguna extensión que no sea la que mencionaste, que se detiene en algún lugar de J2.5.

Mi forma de manejar esto es mediante el uso de aplicaciones de escritorio para la comparación de archivos / carpetas y comparo el sitio en cuestión con su versión original de Joomla. Yo personalmente uso el DiffMerge en Mac.

Otra utilidad que conozco que podría ayudarlo a realizar un seguimiento de los archivos pirateados / modificados en sus sitios es Admin Tools pro. Proporciona la herramienta de escáner php. Pero prácticamente este es para sitios que ha desarrollado y escaneado después del lanzamiento, y para ayudarlo a descubrir cualquier archivo infectado después de los intentos de piratería.

FFrewin
fuente