Identifiez, supprimez et renforcez votre site après un piratage.

Sucuri s'engage à aider les administrateurs Joomla! à identifier et nettoyer leurs sites Web piratés. Nous avons mis au point ce guide pour aider les propriétaires de sites Web à suivre le processus d'identification et de nettoyage d'un site Joomla! piraté. Ceci n'est pas censé être un guide complet, mais il devrait aider à traiter 70% des infections que nous voyons.

Les indicateurs permettant de détecter qu’un site Joomla! a été piraté sont les suivants :

  • Mise sous liste noire par Google, Bing, McAfee, etc.
  • Comportements du navigateur inattendus ou anormaux
  • Mots-clés de spam dans le contenu du moteur de recherche
  • Suspension de votre site par l’hébergeur pour cause d'activité malveillante
  • Modification de fichiers ou problèmes d'intégrité du noyau de Joomla!
  • Nouveaux utilisateurs malveillants dans le tableau de bord Joomla!

Étape 1 : Identifier le piratage

Scanner votre site

Vous pouvez utiliser des outils qui analysent votre site à distance pour trouver des comportements et des logiciels malveillants.

Pour scanner Joomla! :

  1. Visitez le site Web SiteCheck.
  2. Cliquez sur Scan Website.
  3. Si le site est infecté, consultez le message d'avertissement.
  4. Notez les payloads et les emplacements (si disponibles).
  5. Notez les avertissements de mise sur liste noire.

Outils pour scanner votre site web :

17 sucuri a joomla sitecheck payloads joomla2Exemple de résultats de scanner

Note

Un scanner distant va parcourir le site pour identifier les problèmes de sécurité potentiels. Certains problèmes n'apparaissent pas dans un navigateur. A la place, ils se manifestent sur le serveur (via des backdoors, de l’hameçonnage, et des scripts). 

Vérifier les fichiers modifiés

Les nouveaux fichiers ou ceux récemment modifiés peuvent être le résultat du piratage. Les fichiers du noyau de Joomla! doivent également être vérifiés afin de détecter toute injection de logiciels malveillants.

Le moyen le plus rapide de confirmer l'intégrité des fichiers du noyau de Joomla! est d’utiliser la commande diff dans le terminal. Si vous n'êtes pas à l'aise avec la ligne de commande, vous pouvez vérifier manuellement vos fichiers via SFTP.

Vous pouvez trouver toutes les versions de Joomla! sur GitHub. En utilisant un terminal SSH, vous pouvez télécharger Joomla! en local. Les commandes suivantes utilisent la version 3.6.4 comme exemple de fichiers « propre » et public_html comme exemple de location de votre installation Joomla!
Pour vérifier l'intégrité du noyau de Joomla!, vous pouvez utiliser les commandes SSH suivantes :

$ mkdir joomla-3.6.4
$ cd joomla-3.6.4
$ wget https://github.com/joomla/joomla-cms/releases/download/3.6.4/Joomla_3.6.4-Stable-Full_Package.tar.gz
$ tar -zxvf Joomla_3.6.4-Stable-Full_Package.tar.gz
$ diff -r joomla-3.6.4 ./public_html

La commande diff finale permettra de comparer les fichiers Joomla! « propres » avec les fichiers de votre installation.

Pour vérifier manuellement les fichiers récemment modifiés :

  • Connectez-vous à votre serveur en utilisant un client FTP ou un terminal SSH.
  • Si vous utilisez SSH, vous pouvez lister tous les fichiers modifiés au cours des 15 derniers jours en utilisant cette commande :
$ find ./ -type f -mtime -15
  • Si vous utilisez SFTP, vérifiez la dernière colonne portant sur la date de modification pour tous les fichiers sur le serveur.
  • Notez tous les fichiers qui ont été modifiés récemment.

Note

Nous vous recommandons d'utiliser FTPS / SFTP / SSH plutôt que FTP qui n’est pas chiffré.

Vérifier les logs utilisateurs

Vérifiez les comptes utilisateurs Joomla!, en particulier les administrateurs et les super-administrateurs.

Pour vérifier les utilisateurs malveillants dans Joomla! :

  1. Connectez-vous à votre espace d’administration Joomla!
  2. Cliquez sur Utilisateurs dans l'élément de menu et sélectionnez Gérer.
  3. Passez en revue la liste, en particulier ceux avec une date d'enregistrement récente.
  4. Supprimez tous les utilisateurs inconnus créés par des pirates.
  5. Vérifiez la date de dernière visite des utilisateurs légitimes.
  6. Vérifiez les utilisateurs qui se sont connectés à des horaires suspects.
  7. Vous pouvez également analyser les logs de votre serveur si vous savez où ils sont stockés et comment rechercher des demandes dans la zone administrateur de Joomla!
  8. Les utilisateurs qui se connectent à des heures ou dans des lieux géographiques inhabituels peuvent avoir été compromis.

17 sucuri a joomla users panel2

Exemple de résultats d'analyse

Note

Attendez d’avoir complètement effacé le logiciel malveillant de votre site avant de changer les mots de passe des utilisateurs. Cela garantit que les pirates n'ont plus accès à aucun compte utilisateur.

Vérifier les pages de diagnostic

Si votre site Joomla! a été mis sur liste noire par Google ou d'autres autorités de sécurité, vous pouvez utiliser leurs outils de diagnostic pour vérifier l'état de sécurité de votre site Joomla!.

Pour vérifier votre rapport de transparence Google :

  1. Visitez le site Safe Browsing Site Status.
  2. Entrez l'URL de votre site et recherchez.
  3. Sur cette page, vous pouvez vérifier :
    • Les détails sur la sécurité du site : informations sur les redirections malveillantes, les spams et les téléchargements.
    • Les détails des tests : la dernière analyse de Google qui a détecté des logiciels malveillants.

17 sucuri a joomla google transparency report2

Exemple de résultats de diagnostiques

Si vous avez ajouté votre site à des outils gratuits pour webmasters, vous pouvez vérifier leurs notes de sécurité et les rapports sur votre site Web. Si vous n'avez pas encore de compte sur ces outils de surveillance gratuits, nous vous recommandons fortement de vous y inscrire car ils sont gratuits :

Étape 2 : Corriger le piratage

Maintenant que vous avez des informations sur les utilisateurs potentiellement compromis et les emplacements des logiciels malveillants, vous pouvez les supprimer de Joomla! et restaurer votre site web à son état normal.

Astuce :

La meilleure façon d'identifier les fichiers piratés consiste à comparer l'état actuel du site avec une sauvegarde ancienne et propre. Si une sauvegarde est disponible, vous pouvez l'utiliser pour comparer les deux versions et identifier ce qui a été modifié.

Note

Certaines de ces étapes nécessitent un accès au serveur Web et à la base de données. Si vous n'êtes pas familier avec la manipulation des bases de données ou du PHP, veuillez demander de l'aide à un professionnel qui peut complètement supprimer les malwares sur Joomla!.

Nettoyer les fichiers piratés

Si des analyses ou des diagnostics ont révélé des comportements malveillants, vous pouvez commencer par rechercher des fichiers compromis sur votre serveur Joomla!. En comparant les fichiers infectés avec les bons fichiers connus (provenant de sources officielles ou de sauvegardes fiables), vous pouvez identifier et supprimer les modifications malveillantes.

Pour supprimer manuellement un malware de vos répertoires Joomla! :

  1. Connectez-vous à votre serveur via SFTP ou SSH.
  2. Créez une sauvegarde des fichiers du site avant d'y apporter des modifications.
  3. Recherchez les fichiers malveillants ou les payloads que vous avez identifiés.
  4. Identifiez les fichiers récemment modifiés et vérifiez s'ils sont légitimes ou non.
  5. Consultez les fichiers marqués par la commande diff lors de la vérification de l'intégrité des fichiers du noyau de Joomla!.
  6. Restaurez ou comparez les fichiers suspects avec des sauvegardes propres ou des sources officielles.
  7. Supprimez tout code suspect ou inconnu de vos fichiers personnalisés.
  8. Testez afin de vérifier que le site est toujours opérationnel après les modifications.

Si vous ne trouvez pas de contenu malveillant, essayez de rechercher sur le Web du contenu malveillant, des payloads et des noms de domaine que vous avez trouvés dans la première étape. Il y a des chances que quelqu'un d'autre ait déjà compris comment ces noms de domaine sont impliqués dans le piratage que vous essayez de nettoyer.

Outils de comparaison pour comparer des fichiers suspects avec des copies connues :

Mise en garde

  • Il est important de faire les comparaisons avec la même version de Joomla!. Les fichiers de la série 2.x ne sont pas identiques à ceux de la série 3.x et ainsi de suite.
  • N'effectuez jamais d'actions sans sauvegarde. Si vous n'êtes pas sûr, demandez de l'aide à un professionnel.

Nettoyer les bases de données piratées

Pour nettoyer vos bases de données Joomla!, vous devez ouvrir un panneau d'administration de bases de données, tel que PHPMyAdmin. Vous pouvez également utiliser des outils tels que Search-Replace-DB ou Adminer.

Pour nettoyer manuellement une infection provoquée par un logiciel malveillant dans vos bases de données Joomla! :

  1. Connectez-vous à votre panneau d'administration de base de données.
  2. Faites une sauvegarde de la base de données avant d'y apporter des modifications.
  3. Recherchez du contenu suspect.
  4. Ouvrez la table contenant un contenu suspect.
  5. Supprimez manuellement tout contenu suspect.
  6. Testez pour vérifier que le site est toujours opérationnel après les modifications.
  7. Supprimez tous les outils d'accès à la base de données que vous avez téléchargés.

Vous pouvez rechercher manuellement les fonctions PHP malveillantes de votre base de données Joomla!, telles que eval, base64_decode, gzinflate, preg_replace, str_replace, etc. Notez que ces fonctions sont également utilisées par des extensions Joomla! pour des raisons légitimes, alors assurez-vous de tester les modifications ou d’obtenir de l'aide afin de ne pas accidentellement mettre à mal le fonctionnement de votre site.

17 sucuri a hacked joomla database example2

Exemple de résultat d’analyse

Mise en garde

Supprimer manuellement du code « malveillant » de vos fichiers peut être extrêmement dangereux pour la santé de votre site Web. N'effectuez jamais d'actions sans sauvegarde. Si vous n'êtes pas sûr, demandez l'aide à un professionnel.

Sécuriser les comptes utilisateurs

Les pirates informatiques laissent toujours un moyen de revenir sur votre site. Généralement, nous trouvons plusieurs backdoors (ou portes dérobées) de différents types sur les sites Joomla! piratés.

Les backdoors sont généralement intégrés dans des fichiers qui sont nommés comme des fichiers légitimes mais situés dans les mauvais répertoires. Les attaquants peuvent également injecter des backdoors dans des fichiers comme index.php et des répertoires comme /components, /modules et /templates.

Les backdoors sont généralement composées des fonctions PHP suivantes :

  • base64
  • str_rot13
  • gzuncompress
  • gzinflate
  • eval
  • exec
  • create_function
  • location.href
  • curl_exec
  • stream
    • system
    • assert
    • stripslashes
    • preg_replace (with /e/)
    • move_uploaded_file
    • strrev
    • file_get_contents
    • encodeuri
    • wget

Mise en garde

Ces fonctions peuvent également être utilisées légitimement par des extensions Joomla! alors assurez-vous de tester toutes les modifications apportées, car vous pourriez « casser » le bon fonctionnement de votre site en supprimant des fonctions légitimes.
Rappelez-vous toujours de comparer les fichiers en utilisant les mêmes versions de Joomla!.

Pour supprimer les backdoors :

  1. Vérifiez votre version de Joomla! en cliquant sur le menu Système et en ouvrant les informations système
  2. Téléchargez les fichiers de la même version sur le répertoire officiel de Joomla!.
  3. Connectez-vous à votre serveur via SFTP ou SSH.
  4. Créez une sauvegarde des fichiers du site avant d'y apporter des modifications.
  5. Dans votre client FTP, comparez votre site avec les fichiers officiels.
  6. Recherchez tous les nouveaux fichiers sur votre serveur qui ne correspondent pas aux fichiers officiels.
  7. Recherchez tous les fichiers qui ne sont pas de la même taille que les fichiers officiels.

17 sucuri a joomla ftp file comparison

Exemple de résultats d'analyse


La majorité des codes malveillants que nous voyons utilise une forme de codage pour empêcher d’être détectés. Mis à part les composants premium qui utilisent l'encodage pour protéger leur mécanisme d'authentification, il est très rare de voir de l'encodage dans le répertoire officiel Joomla!.
Il est essentiel que toutes les backdoors soient fermées pour nettoyer un site Joomla! piraté, sinon votre site sera réinfecté rapidement.

Mise en garde

Le fichier configuration.php sera sur votre serveur mais le répertoire /installation sera manquant lors de la comparaison d'une nouvelle installation.

Corriger les avertissements de logiciels malveillants

Si vous avez été mis sur liste noire par Google, McAfee, Yandex (ou toute autre autorité de spam Web), vous pouvez demander une révision une fois le piratage corrigé. Google limite désormais les demandes d'examen tous les 30 jours. Ainsi, assurez-vous que votre site est propre avant de demander une révision !

Pour supprimer les avertissements sur votre site :

  • Appelez votre hébergeur et demandez-lui de supprimer la suspension.
    • Vous devrez peut-être fournir des détails sur la manière dont vous avez supprimé le logiciel malveillant.
  • Remplissez un formulaire de demande de révision pour chaque autorité.
    • C’est-à-dire : Google Search Console, McAfee SiteAdvisor, Yandex Webmaster.
    • Le processus d'examen peut prendre plusieurs jours.

Étape 3 : Post-piratage

Dans cette dernière étape, vous apprendrez comment résoudre les problèmes qui ont permis aux pirates de compromettre votre site Joomla!. Vous devrez également effectuer des étapes essentielles pour améliorer la sécurité de votre site Joomla!.

Mettre à jour et réinitialiser

Les logiciels obsolètes sont l'une des principales causes d'infection, et il est important de supprimer toutes les extensions vulnérables connues. Les mots de passe doivent également être réinitialisés pour vous assurer que vous ne serez pas réinfecté si les pirates informatiques ont accès à vos informations d'identification.

Mettre à jour le noyau Joomla! et les extensions

Mettez à jour tous les logiciels Joomla!, y compris les fichiers du noyau, les composants, les modèles, les modules et les plugins.

Vous devriez également vérifier vos extensions pour les vulnérabilités connues en utilisant la liste des extensions Joomla! vulnérables.

Pour vérifier et mettre à jour vos extensions Joomla! :

  1. Assurez-vous d'avoir une sauvegarde récente de votre site.
  2. Connectez-vous à votre zone d’administration Joomla!
  3. Cliquez sur Extensions dans l'élément de menu et sélectionnez Gérer.
  4. Dans la barre latérale, cliquez sur Mettre à jour.
  5. Consultez les mises à jour disponibles et appliquez-les.
  6. Supprimez les extensions qui contiennent des vulnérabilités connues.

17 sucuri a joomla extensions update2

Mise à jour des extensions

Les versions Joomla! 3.x sont les plus stables car elles sont encore activement supportées. Les utilisateurs des versions 1.x et 2.x devraient fortement envisager de migrer vers la 3.x.

Si vous mettez à jour manuellement les fichiers du noyau, vous pouvez supprimer en toute sécurité les répertoires qui font partie du framework Joomla! (administrateur, composants, etc), puis reconstruisez manuellement ces mêmes répertoires et composants.

Pour vérifier et mettre à jour les fichiers du noyau Joomla! :

  1. Assurez-vous d'avoir une sauvegarde récente de votre site.
  2. Connectez-vous à votre zone d’administration Joomla!
  3. Cliquez sur Système dans l'élément de menu et sélectionnez Mettre à jour Joomla!.
  4. Cliquez sur le bouton Vérifier les mises à jour.
  5. Consultez les mises à jour disponibles pour votre version Joomla!.
  6. Cliquez sur le bouton Réinstaller les fichiers de base de Joomla.

Les utilisateurs de la série 1.x sont fortement encouragés à passer à la version 3.x.

Si, au cours de la première étape, SiteCheck a identifié d'autres logiciels obsolètes sur votre serveur (c.-à-d. Apache, cPanel, PHP), vous devez les mettre à jour pour vous assurer que vous disposez de tous les correctifs de sécurité disponibles.

17 sucuri a joomla core file update2

Mise à jour de Joomla!

Mise en garde

Veillez à ne pas remplacer le fichier configuration.php car cela entraînera une rupture de votre site !

Réinitialiser les informations d'identification utilisateur

Vous devez réinitialiser tous les mots de passe utilisateur avec des mots de passe uniques et forts pour éviter une réinfection.

Pour réinitialiser les mots de passe de vos comptes utilisateurs Joomla! :

1. Connectez-vous à votre site Internet Joomla!.
2. Cliquez sur l'élément de menu Utilisateurs.
3. Ouvrez chaque compte utilisateur.
4. Changer le mot de passe de l'utilisateur
5. Répétez l’opération pour chaque utilisateur de votre site.

Vous devriez réduire le nombre de comptes administrateur et super-administrateur dans Joomla! et dans tous les systèmes de votre site Web. Pratiquez le concept de moindre privilège. Ne donnez aux gens que les accès dont ils ont besoin pour faire leur travail.
Joomla! est livré avec l'authentification à deux facteurs pour les comptes utilisateurs.

Pour activer l’authentification 2FA sur Joomla! (voir notre article pour la mise en place de l'Authetification à 2 facteurs sous Joomla 4):

  1. Connectez-vous à votre site internet Joomla!.
  2. Cliquez sur l'élément de menu Utilisateurs.
  3. Ouvrez votre compte utilisateur
  4. Cliquez sur l'onglet Authentification à deux facteurs.
  5. Suivez les étapes pour activer l’authentification 2FA.
  6. Demandez à chaque utilisateur de répéter ce processus.

Il est conseillé de réinstaller toutes les extensions après un piratage pour s'assurer qu'elles sont fonctionnelles et exemptes de malware résiduel. Si vous avez désactivé des thèmes, des composants, des modules ou des plugins, nous vous recommandons de les supprimer de votre serveur Web.

17 sucuri a joomla 2fa2

Joomla! 2 facteurs authentification

Note

Tous les comptes doivent utiliser des mots de passe forts. Un bon mot de passe est construit autour de trois composantes : la complexité, la longueur et l'unicité. Certains disent qu'il est trop difficile de se souvenir de plusieurs mots de passe. C'est vrai. C'est pourquoi les gestionnaires de mots de passe existent !

Paramétrer des sauvegardes

Les sauvegardes fonctionnent comme un filet de sécurité. Maintenant que votre site Joomla! est propre et que vous avez pris d'importantes mesures de protection, faites une sauvegarde ! Avoir une bonne stratégie de sauvegarde est le cœur d'une bonne stratégie de sécurité.

Voici quelques conseils pour vous aider avec faire des sauvegardes de vos sites Web :

  • Emplacement

Conservez vos sauvegardes Joomla! dans un emplacement non connectés à internet et sur un serveur différent. Ne stockez jamais de sauvegardes (ou d'anciennes versions) sur votre serveur ; elles peuvent être piratées et utilisées pour compromettre votre site réel.

  • Automatique

Idéalement, votre solution de sauvegarde devrait fonctionner automatiquement à une fréquence adaptée aux besoins de votre site Web.

  • Redondance

Les certificats EV nécessitent encore plus de documentation pour que l'autorité de certification puisse valider l'organisation. Les visiteurs verront le nom de l'entreprise dans la barre d'adresse (en cliquant sur l'icône du cadenas).

  • Tester

Testez le processus de restauration pour confirmer que votre site Web fonctionne correctement une fois restauré.

  • Types de fichier

Certaines solutions de sauvegarde excluent certains types de fichiers, tels que les vidéos et les archives.

Scannez votre ordinateur

Faites en sorte que vos utilisateurs Joomla! exécutent une analyse régulière de leur système avec un programme antivirus sur leurs systèmes d'exploitation.

Sucuri offre à ses clients un système abordable pour des sauvegardes sécurisées de sites Web.

Joomla! peut être compromis si un utilisateur avec un ordinateur infecté accède au tableau de bord. Certaines infections sont conçues pour transiter via éditeur de texte ou un client FTP.

Voici quelques programmes antivirus que nous recommandons :

  • Payants

BitDefender, Kaspersky, Sophos, F-Secure.

  • Gratuit

Malwarebytes, Avast, Microsoft Security Essentials, Avira.

Note

Vous devriez avoir un seul antivirus protégeant activement votre système pour éviter les conflits.
Si les ordinateurs de vos utilisateurs Joomla! ne sont pas propres, votre site peut facilement être réinfecté.

Protéger votre site : Pare-feu d’application web

Vous pouvez durcir votre site Joomla! en limitant les autorisations de fichiers et en implémentant des règles personnalisées .htaccess. Nous vous recommandons d'examiner le document de sécurité Joomla! pour plus d'informations.

Le nombre de vulnérabilités exploitées par des attaquants augmente chaque jour. Essayer d’être au courant de toutes ces vulnérabilités est difficile pour les administrateurs. Les pare-feu d'application Web ont été inventés pour fournir un système de défense de périmètre entourant votre site Web.

Avantages de l'utilisation d'un pare-feu de site Web :

  • Prévenir un futur piratage

En détectant et en arrêtant les comportements anormaux connus, un pare-feu de site Web protège votre site contre les infections.

  • Mise à jour de sécurité

Les pirates informatiques exploitent rapidement les vulnérabilités dans les plugins et les thèmes, et des failles inconnues émergent régulièrement (appelés zero-days). Un bon pare-feu de site Web corrigera les failles de votre logiciel de site Web même si vous n'avez pas appliqué des mises à jour de sécurité.

  • Bloquer les attaques par force brute

Un pare-feu de site Web devrait empêcher quiconque d'accéder à votre page wp-admin ou wp-login en vous assurant d’être protégé contre les attaques par force brute.

  • Atténuer les attaques DDoS

Les attaques par déni de service distribué tentent de surcharger vos ressources serveurs ou applicatives. En détectant et en bloquant tous les types d'attaques DDoS, un pare-feu de site Web s'assure que votre site est disponible si vous êtes attaqué par un volume élevé de fausses visites.

  • Optimisation des performances

La plupart des WAF offrent une mise en cache pour une vitesse de chargement globale plus rapide. Cela rend vos visiteurs heureux et il est prouvé qu'ils réduisent les taux de rebond tout en améliorant le taux d’engagement, les conversions et le classement sur les moteurs de recherche.
Nous offrons toutes ces fonctionnalités avec le pare-feu Sucuri.

 

Si vous êtes un jour piraté, ou si vous l'êtes déjà, NosyWeb peut vous aider. En savoir plus

 

Cet article est une libre traduction de How to Clean a Hacked Joomla! Site pour Sucuri.

L'auteur : un expert à votre service
Jean-Charles Gautard
Nom : Jean-Charles Gautard
Consultant, formateur et intégrateur web depuis plus de 10 ans, je mets mon expertise digitale au service des professionnels amorçant leur transformation digitale. A la recherche d'une stratégie digitale avec le CMS Joomla ? Besoin de conseils ? d'une formation ? d'un site Internet ou Intranet ? Contactez-nous

Articles qui devraient vous intéresser

Quel hébergeur et hébergement Joomla 3.9 faut-il choisir ? Quel hébergeur et hébergement Joomla 3.9 faut-il choisir ?
CET ARTICLE EST OBSOLETE   Beaucoup de solutions d'hébergements s'offrent à nous et il n'est pas toujours...
Comment réaliser un formulaire de contact compatible RGPD Comment réaliser un formulaire de contact compatible RGPD
Nous allons aborder les différentes questions à se poser pour rendre le traitement d'un formulaire compatible avec...

Commentaires (0)

Il n'y a pas encore de commentaire pour cet article.

Ajouter vos commentaires

  1. Insérer un commentaire en tant qu'invité.
Pièces jointes (0 / 3)
Share Your Location
Contact

Scoop.It de NosyWeb

Twitter de NosyWeb

YouTube de NosyWeb

Facebook de NosyWeb

Google+ de NosyWeb

Flux RSS de NosyWeb

Inscription newsletter de NosyWeb

Dernier article sur la même thématique
Les fondamentaux de la sécurité pour protéger votre TPE / PMELes fondamentaux de la sécurité pour protéger votre TPE / PME
Les gérants d’entreprises de petite et moyenne taille s’imaginent trop souvent à l’abri des cyberattaques et plus généralement des sujets afférents à la cybersécurité. Et pourtant, en pratique, c...