La sécurité d'un site Joomla ne se limite pas aux mises à jour d'extensions. Parfois, la menace se loge dans un simple fichier invisible, aux permissions verrouillées, que ni votre FTP ni votre panneau d'hébergement ne vous laissent supprimer. Voici ce qui s'est passé récemment sur l'un de nos sites clients, et comment SSH nous a permis d'y remédier.
Le symptôme : un dossier en permissions 0111
Tout commence par une anomalie FTP. Un dossier refuse d'être supprimé ou modifié, même en tant qu'administrateur. Le client FTP retourne une erreur de permission.
En cause : des permissions positionnées à 0111 sur ce dossier. En Unix, chaque fichier ou dossier dispose de trois niveaux de droits — lecture (r), écriture (w), exécution (x) — pour le propriétaire, le groupe et les autres.
0111 signifie --x--x--x : tout le monde peut traverser le dossier, mais personne ne peut lire son contenu ni écrire dedans. Cette configuration n'est pas le fruit du hasard. Elle a été posée délibérément par le code malveillant pour empêcher sa propre suppression.
Sur un hébergement mutualisé OVH, le gestionnaire de fichiers du panel est impuissant dans ce cas. La seule solution efficace : se connecter en SSH et passer la commande chmod directement.
chmod 755 /homez.533/monlogin/www/dossier-suspect
Une fois les permissions rétablies, la suppression devient possible.
Ce qu'on a trouvé : un malware SEO de type cloaking
En auditant le site via SSH, un fichier .tmp a été découvert dans /libraries/. Son contenu était sans équivoque : un script PHP conçu pour communiquer discrètement avec un serveur externe et servir du contenu frauduleux à Google.
Comment fonctionne ce type d'attaque
Ce malware appartient à la catégorie du SEO cloaking. Son principe :
- Il détecte si le visiteur est Googlebot (en analysant le User-Agent)
- Si oui, il contacte un serveur distant et retourne du contenu frauduleux à la place de vos vraies pages
- Si le visiteur est humain, il ne fait rien — le site semble parfaitement normal
Résultat : Google indexe à votre place des pages de jeux en ligne, de paris ou de contenu adulte. Votre référencement s'effondre sans que vous compreniez pourquoi. Dans les cas les plus graves, Google peut pénaliser ou désindexer entièrement le domaine.
Pourquoi ce fichier était invisible
L'attaquant a nommé son fichier .tmp — avec un point devant — ce qui en fait un fichier caché sous Unix. Les navigateurs de fichiers FTP classiques ne les affichent pas par défaut. SSH et la commande find permettent de les débusquer :
find ~/www -name ".*" -type f 2>/dev/null | grep -v ".htaccess" | grep -v ".well-known"
Comment vérifier si votre site est atteint
# Chercher des fichiers PHP récemment modifiés hors des dossiers de cache
find ~/www -name "*.php" -newer ~/www/configuration.php -mtime -60 2>/dev/null \
| grep -v "/cache/" | grep -v "/vendor/"
# Chercher des dossiers aux permissions anormales
find ~/www -type d -perm 0111 2>/dev/null
# Chercher des fichiers cachés suspects
find ~/www -name ".*" -type f 2>/dev/null | grep -v ".htaccess"
Le vecteur d'entrée probable : JCE Editor
Les logs Apache et l'analyse du contexte pointent vers une exploitation de l'éditeur JCE — un vecteur d'attaque connu et documenté. Un fichier jQuery avait été préalablement compromis, servant de point d'appui pour déposer un webshell, puis les fichiers malveillants.
Les actions de remédiation ont inclus :
- Désinstallation de JCE et rotation des identifiants
- Suppression du dossier webshell
- Suppression du fichier
.tmp - Restauration du
.htaccessracine - Vérification complète de l'arborescence via SSH
Ce que cela change pour votre Joomla
Cette attaque illustre une réalité souvent sous-estimée : un site Joomla compromis ne montre pas toujours de signes visibles. Le SEO cloaking est précisément conçu pour rester indétectable à l'œil humain. Seul un audit technique ciblé, couplé à une surveillance des logs et de la Search Console, permet de le détecter à temps.
Les réflexes à adopter
- Activer la journalisation des actions dans Joomla (plugin Action Log)
- Consulter régulièrement Google Search Console pour détecter des URLs inconnues indexées
- Mettre à jour Joomla, ses extensions et templates dès que des correctifs de sécurité sont publiés
- Ne pas laisser des extensions non utilisées installées (surface d'attaque inutile)
- Sauvegarder régulièrement avec Akeeba Backup
Votre site Joomla a été compromis, vous avez des doutes sur son intégrité, ou vous souhaitez un audit préventif ? Contactez-nous pour une prestation de sécurité Joomla — analyse des fichiers, nettoyage, remédiation et durcissement de la configuration.
Articles liés :

