web-dev-qa-db-fra.com

Extension / outil recommandé pour vérifier les modifications apportées au fichier principal?

Lors de la mise à jour des sites Joomla vers la dernière version, je suis toujours pris de panique au cas où le site que je mets à jour, construit par le passé par un développeur malhonnête (c'est-à-dire moi, il y a 6 ans), modifie les fonctionnalités ("hacks"). fichiers Joomla de base.

Dans un monde idéal, je pourrais éviter ce potentiel coronarien en ayant une extension ou un outil qui:

  • Connaît tous les fichiers Joomla de base inclus dans chaque version de Joomla
  • Compare chaque fichier de mon installation Joomla avec les fichiers source Joomla principaux sur Github ou ailleurs (même si quelque chose ressemble à une comparaison de hachage MD5)
  • S'ils diffèrent, lancez un outil de comparaison pour trouver les différences et les signaler pour examen.
  • S'ils sont identiques, très bien, aucune action requise
  • Générer un rapport à la fin détaillant les résultats du processus ci-dessus

J'ai trouvé cette extension qui fait la plupart de ce qui précède, mais il n'a pas été mis à jour depuis J2.5.7 ou du tout pour J3.X - c'est donc fini.

Dans mon entreprise, nous utilisons MyJoomla pour effectuer des "audits" complets sur le site (longue liste de contrôle des recommandations relatives aux meilleures pratiques et des correctifs pour les sites Joomla) de temps en temps, dont "Core Files Integrity". Vérifier'. Cependant, ce service a un abonnement mensuel et tout ce que je veux vraiment vérifier, c'est si des fichiers ont été piratés avant de procéder à une mise à niveau.

Est-ce que quelqu'un connaît d'autres solutions? Mis à part de "ne pas pirater les fichiers de base" - jusqu'à récemment, il n'existait parfois aucun autre moyen d'effectuer certaines tâches sans un chargement supplémentaire de bateaux, souvent impayés. , travail.

16
codinghands

Je ne peux pas imaginer un meilleur outil que git . C’est un excellent outil pour suivre les modifications que vous apportez au code (si vous en apportez), est le système utilisé par Joomla pour contribuer le code (ce qui est une excellente chose à faire), et c’est son objectif!

Le flux de travail est assez simple et devrait vous permettre de ne pas vous inquiéter:

  1. Sauvegardez votre site Web joomla (ce que vous faisiez de toute façon, non?)
  2. Configurez la copie de sauvegarde localement.
  3. Courir git init sur le dossier racine de la copie locale. Puis lancez git add --all et git commit. Cela prend un instantané du code tel qu'il est maintenant.
  4. Prenez le patch qui correspond à votre version actuelle de Joomla.
  5. Installez ce correctif sur votre copie locale.
  6. Courir git diff et vous verrez une liste de toutes les différences entre les fichiers en cours d’exécution et les fichiers principaux.

Je reconnais qu'il s'agit d'une jolie réponse "développement" et que tout le monde ne veut pas utiliser git dans la ligne de commande. Si vous utilisez une interface graphique Git (telle que le client de Github), vous pouvez ignorer la dernière étape, car l'interface graphique vous montrera généralement le diff automatiquement.

En fin de compte, je recommande cette méthode, car elle vous enseigne une technique qui vous aidera si vous codez et contribuez à Joomla, et elle conserve toutes les vérifications localement. Vous n'avez donc pas à vous soucier de l'envoi de votre code sur un autre site Web ou service!

11
David Fritsch

Ceci est une extension de la réponse de FFrewin. Akeeba produit également un outil gratuit appelé SiteDiff. Il vous permet de comparer 2 sites qui ont été sauvegardés avec Akeebabackup (il en existe une version gratuite également).

Pour que cela fonctionne, vous devez disposer de 2 sauvegardes. Une sauvegarde serait de votre site (disons que c'était la version 2.5.19). Pour l'autre sauvegarde, vous devrez installer une nouvelle copie de Joomla 2.5.19, puis effectuer une sauvegarde de cette installation. Ensuite, comparez les deux sauvegardes à l’aide de l’outil SiteDiff.

Un problème avec cette méthode est que vous aurez plus de fichiers dans la sauvegarde de votre site que votre nouvelle installation. Les fichiers supplémentaires apparaîtront comme des différences, ce qui rendra peut-être difficile la distinction entre les changements fondamentaux et le reste du "bruit".

5
TryHarder

http://audit-fs.co.za/ dispose d'un outil gratuit appelé Audit_FS qui vous montre les fichiers Joomla modifiés et/ou éventuellement les fichiers Joomla corrompus.

En tant qu'outil de sécurité de base, Audit_FS est conçu pour effectuer des audits de vos fichiers Joomla! ® uniquement, ainsi que pour vérifier les autorisations de vos fichiers et de vos répertoires. Il ne vérifie ni les modifications ni le piratage dans les enregistrements de votre base de données, ni les fichiers d'extensions que vous avez éventuellement installées. Le rapport d'audit ignorera également les fichiers .htaccess, robots.xt, configuration.php, configuration.php-dist et copyright.php.

3
Richard

Je ne connais aucune autre extension que celle que vous avez mentionnée, qui est arrêtée quelque part dans J2.5.

Ma façon de procéder consiste à utiliser des applications de bureau pour la comparaison de fichiers/dossiers et à comparer le site en question avec sa version originale de joomla. Personnellement, j'utilise le DiffMerge sur mac.

Un autre utilitaire que je connais qui pourrait vous aider à garder une trace des fichiers piratés/modifiés sur vos sites est Admin Tools pro. Il fournit l'outil scanner php. Mais celui-ci s’applique pratiquement aux sites que vous avez développés et scannés après le lancement et vous aide à découvrir les fichiers infectés après des tentatives de piratage.

2
FFrewin