Pourquoi le fichier index.php est ciblé lors d’un piratage ?
Le fichier index.php
est généralement le point d’entrée principal d’un site web basé sur PHP. Dès qu’un utilisateur accède à un site, c’est le premier fichier qui est appelé pour générer la page web. Cela en fait une cible idéale pour les pirates cherchant à prendre le contrôle d’un site ou à injecter des contenus malveillants.
- Point d’entrée unique: La plupart des requêtes web passent par ce fichier. En le compromettant, un attaquant peut prendre le contrôle de toutes les pages du site.
- Contrôle étendu:
index.php
contient souvent des inclusions vers d’autres fichiers PHP, offrant ainsi un accès potentiel à l’ensemble du site web. - Exécution automatique: Dès que le site est visité, le fichier s’exécute, permettant à des codes malveillants de s’exécuter sans détection immédiate.
- Faible sécurité: Les administrateurs oublient parfois de sécuriser ce fichier, facilitant sa compromission.
- Visibilité: Le pirate peut placer des liens, des redirections ou du code pour exploiter les visiteurs du site, ce qui en fait une cible de choix.
Vous avez un site à désinfecter ou à sécuriser ?
Pourquoi le fichier index.php se régénère après sa suppression ?
Si votre site internet a déjà été la cible d’attaques, notamment sur votre fichier index.php, vous avez sans doute remarqué un comportement étonnant : même après sa suppression, ce fichier a tendance à refaire surface. Pour déchiffrer ce casse-tête, il est indispensable de s’immerger dans les astuces complexes utilisées par les pirates pour asseoir leur emprise sur un site web vulnérable.
Le premier mécanisme à aborder est celui des scripts de régénération. Les pirates infiltrent ces scripts dans divers emplacements du serveur, souvent dans des répertoires difficilement identifiables ou sous des noms de fichiers trompeurs. Ces scripts sont conçus pour être activés sous certaines conditions, soit à distance, soit en réponse à des événements sur le serveur. Par exemple, un script pourrait être déclenché chaque fois que le fichier index.php
est modifié ou supprimé. Le code de ces scripts est fréquemment obscurci pour entraver son identification et sa suppression, et il peut même télécharger du code malveillant à partir de serveurs distants pour s’assurer que le fichier index.php
est toujours à jour avec la dernière version du code malveillant.
Les tâches Cron représentent un autre mécanisme souvent utilisé. Une tâche Cron est une tâche planifiée qui s’exécute automatiquement à des intervalles définis sur le serveur. Les pirates peuvent programmer des tâches pour régénérer le fichier index.php
à des moments spécifiques, rendant difficile pour les administrateurs de système de suivre la piste. Les tâches peuvent même être configurées pour s’exécuter avec des privilèges élevés, ce qui complique leur suppression. Le planning de ces tâches est souvent intelligemment conçu pour éviter la détection.
La modification de la base de données est également une méthode fréquemment employée. Le code malveillant peut être injecté dans la base de données, généralement via une injection SQL, et être conçu pour s’exécuter et régénérer le fichier index.php
à chaque fois que le site est chargé. Parfois, ce code est stocké dans des tables au nom trompeur pour éviter la détection. Dans certains cas, des déclencheurs de base de données sont utilisés pour automatiquement réinjecter le code malveillant dans le fichier index.php
chaque fois que le fichier est modifié ou supprimé.
L’utilisation de Web Shells est une autre méthode préoccupante. Un Web Shell est essentiellement une interface qui permet à un attaquant d’interagir avec le système de fichiers du serveur et d’exécuter des commandes à distance. Cela offre un accès persistant au serveur, même si le fichier index.php
original a été restauré. De plus, les Web Shells sont souvent dotés de multiples fonctionnalités, telles que l’exfiltration de données, ce qui les rend extrêmement dangereux.
Enfin, il y a le risque des malwares présents ailleurs sur le serveur. Ces malwares sont souvent conçus pour se propager et infecter autant de fichiers que possible, y compris index.php
. Ils peuvent également être contrôlés à distance ou programmés pour s’activer en réponse à des événements spécifiques, comme la suppression du fichier index.php
Comprendre les droits d’écriture et lecture (chmods)
Voici un tableau qui récapitule les différents modes de permissions (chmod) en UNIX/Linux, tout en respectant la structure du tableau demandé. Ce tableau est particulièrement utile pour comprendre les différentes configurations de chmod que les pirates peuvent manipuler pour maintenir leur contrôle sur le fichier index.php
.
Lecture (r) | Écriture (w) | Exécution (x) | |
---|---|---|---|
Utilisateur | ✔️ (chmod 400, 600, 700…) | ✔️ (chmod 200, 600, 700…) | ✔️ (chmod 100, 500, 700…) |
Groupe | ✔️ (chmod 040, 060, 070…) | ✔️ (chmod 020, 060, 070…) | ✔️ (chmod 010, 050, 070…) |
Autres | ✔️ (chmod 004, 006, 007…) | ✔️ (chmod 002, 006, 007…) | ✔️ (chmod 001, 005, 007…) |
Signification | Permet la lecture du fichier | Permet l’écriture ou la modification du fichier | Permet l’exécution du fichier comme un programme |
Quelle permission faut-il mettre sur ses fichiers et dossier WordPress pour éviter un piratage ?
voici un tableau qui détaille les permissions de fichiers et de répertoires recommandées pour un site WordPress :
Fichiers | Répertoires | |
---|---|---|
Utilisateur | ✔️ (chmod 644) | ✔️ (chmod 755) |
Groupe | ✖️ (chmod 644) | ✖️ (chmod 755) |
Autres | ✖️ (chmod 644) | ✖️ (chmod 755) |
Signification | Lecture et écriture pour l’utilisateur, lecture pour les autres | Lecture, écriture et exécution pour l’utilisateur, lecture et exécution pour les autres |
Fichiers spéciaux | wp-config.php: chmod 600 | N/A |
Bloquer son fichier index.php piraté avec un CHMOD 0000, c’est bien ou pas ?
Il pourrait vous sembler logique de définir les permissions CHMOD à 0000 pour votre fichier index.php, pensant qu’en limitant tous les droits d’accès, le pirate ne pourra plus écrire dedans et s’en servir pour par exemple, rediriger vos visiteurs.
Attention, définir les permissions à 0000 rend le fichier totalement inutilisable pour tout le monde, y compris le serveur web lui-même. Ce qui déclenchera probablement une errer, car le serveur ne pourra ni lire, ni écrire, ni exécuter le fichier index.php, ce qui est nécessaire pour le fonctionnement normal de n’importe quel site web basé sur PHP.
J’ai fait l’erreur du chmod 0000, comment je débloque la situation ?
Si vous avez commis cette erreur, il est essentiel de rétablir immédiatement les permissions adéquates. Voici comment :
Connexion en SFTP
SFTP, ou FTP Secure, est une évolution sécurisée du FTP traditionnel, le File Transfer Protocol. Lorsqu’un fichier est verrouillé en utilisant un chmod réglé à 0000, l’accès via SFTPest indispensable pour rétablir les permissions appropriées. En utilisant le protocole SFTP, une connexion cryptée est établie entre votre machine locale et le serveur web, ajoutant ainsi une dimension de sécurité additionnelle.
- Ouvrir un client SFTP: Utilisez un client SFTP fiable comme FileZilla ou WinSCP.
- Connexion au serveur : Utilisez les identifiants SFTP pour établir une connexion sécurisée avec votre serveur.
- Navigation vers le fichier : Localisez le fichier index.php dans l’arborescence de fichiers du serveur.
- Modification des permissions : Faites un clic droit sur le fichier, puis choisissez l’option pour modifier les permissions. Rétablissez les à une valeur appropriée comme 644 ou 755 selon votre cas d’utilisation.
- Vérification : Assurez-vous que le fichier est maintenant accessible et que votre site web fonctionne comme prévu.
Éviter les erreurs futures
Pour éviter de répéter une telle erreur, il est recommandé d’utiliser des outils de gestion de permissions qui confirment les changements avant de les appliquer. De plus, assurez-vous toujours de bien comprendre les implications des modifications des permissions que vous effectuez.
En conclusion, la sécurisation d’un fichier aussi crucial que index.php nécessite une attention minutieuse. Il ne s’agit pas seulement de savoir pourquoi ce fichier est une cible de choix pour les attaques, mais également de comprendre comment le sécuriser efficacement sans entraver son fonctionnement. Une bonne compréhension des permissions chmod et de leur impact est donc indispensable.
Questions fréquentes sur le piratage de site WordPress
Comment les pirates repèrent-ils les sites web vulnérables ?
Les hackers utilisent souvent des techniques de balayage automatisé pour identifier les sites web présentant des vulnérabilités spécifiques. Ces scanners automatisés recherchent des failles de sécurité connues et signalent les sites susceptibles d'être exploités.
Est-il possible de détecter une intrusion avant la compromission du fichier index.php ?
Oui, il existe divers outils et services de surveillance qui peuvent vous alerter en cas d'activités suspectes sur votre serveur ou site web. Ces systèmes identifient souvent les tentatives d'intrusion ou les modifications de fichiers sensibles et peuvent vous avertir en temps réel.
Comment sécuriser la base de données liée à mon fichier index.php ?
Il est recommandé d'utiliser des mots de passe forts et uniques pour la base de données, de limiter les accès à distance et de tenir à jour le système de gestion de base de données pour minimiser les risques d'injection SQL ou d'autres types d'exploits.
Comment garantir la fiabilité de mon fichier index.php ?
Pour certifier l'intégrité inébranlable de votre fichier index.php, l'usage de dispositifs de suivi d'intégrité des fichiers, aussi désignés sous l'acronyme FIM, se présente comme une méthode efficace. Ce type de logiciel réalise des scans réguliers du fichier index.php, en le juxtaposant à une version fiable préalablement établie, pour repérer toute modification mal intentionnée.
Quels risques comportent les plugins tiers pour mon site ?
L'adoption de plugins issus de tiers peut introduire des vulnérabilités potentielles, affectant notamment la sécurité du fichier index.php. Des plugins mal développés ou obsolètes peuvent être la faille par laquelle des attaquants infiltreraient votre site. D'où l'importance de privilégier des plugins de sources certifiées et de maintenir ces derniers à jour pour limiter les menaces.
Mon hébergeur peut-il restaurer mon fichier index.php compromis ?
Il est possible que votre fournisseur d'hébergement puisse restaurer une version antérieure et sécurisée de votre fichier index.php, surtout s'il propose des services de sauvegarde automatique. Cependant, cette option dépend entièrement des fonctionnalités proposées par votre hébergeur et des politiques en place. Essayez de contacter le support et / ou d'ouvrir un ticket.