WordPress piraté – Que faire?

Aujourd’hui, on va parler des façons pour nettoyer et se protéger contre le “hack des sites WordPress”. J’ai rencontré, il y a une semaine ce problème de piratage d’un de mes serveurs.

22:22, le 10 décembre 2019… Je check un de mes sites via mon téléphone, en faite je fessais un site:mon-super-nouveau.site sur google pour checker l’indexation, et là… stupeur, serveur visiblement DOWN.

Ressource Limit Reached

'erreur Resource Limit Is Reached

L’erreur Ressource limit is Reached

Après avoir contacter, l’hébergeur des mon sites – o2switch pour ne pas les citer. J’apprend qu’un processus “cron.php” d’un des domaines hébergés a été lancé à mon insu et a utilisé toutes les ressources du mon serveur.

Bon, bon pas sympa.. je vais donc regarder ça de plus prêt. J’ai entre-guillement “de la chance” parce que cette histoire de serveur down était le signal d’un truc-qui-cloche sur le serveur. Si le pirate n’avait pas fait exploser le site, je ne me serais pas forcément rendu compte de l’infection du mon site internet. En fouillant un peu sur le serveur en question, j’ai remarqué pleins de fichiers .php au nom bizarre. Lorsque j’ai ouvert le wp-config.php – du code encodé (@include) indique que le pirate à non seulement crée des fichiers et en plus modifié les configurations du site.

Se protéger des infections

Les “malwares”,” backdoors” et autres termes techniques que tu as du lire ici et la sont la hantise de particulier ou professionnel du web. Lorsqu’un serveur est infecté, il peut servir aussi bien de SPAM massif d’email qui peut amener à un bannissement de l’adresse IP auprès des hébergeurs de courier électronique et du jour au lendemains tes emails ne sont plus reçu par tes contacts.

Il se peut aussi que le site redire le traffic (global ou localisé géographiquement) vers des publicités et autres “ads” moches et méchantes. Mais le pirate jouer avec votre SEO, il peut créer un tas de contenu, le rendre invisible dans le back-office WordPress et publier des contenus cachés sur le site ainsi utilisé la “puissance” de votre nom de domaine dans des buts d’obtenir des backlinks…

Bref, parlons des solutions pour se protéger :

3 plugins WordPress pour sécurisé son site WordPress

J’ai testé 3 plugins pour essayer de scanner mon site, les 3 ont des avantages et inconvénients que nous allons voir maintenant.

  • WordFence
  • SecuPress
  • Anti-Malware

WordFence :

WordFence c’est plus de 3 millions de téléchargement sur WordPress.org, 5 étoiles et un paquet de bons avis.

Alors, perso. j’suis pas fan des gros plugins/business avec tout l’artillerie marketing qui vont avec… mais WordFence est pour le coup très efficace. En quelques clics, tu fais un scans complet du site et tu supprimes les fichiers infectés.

Il faut “donner” son email pour avoir accès a toutes les fonctionnalités du plugin. (Scan, pare feu…).

Désactiver l’accès aux logins utilisateurs

Une des nombreuses façon de pirater un WordPress peut-être le “social engenering”. Le principe est qu’une fois qu’on a trouvé le login administrateur des sites internets, on va essayer de deviner le mot de passe.

Via des extensions pour Brave ou Chrome comme WPintel, il est facilement possible de trouver les logins utilisateurs d’un WordPress.

L’API Rest de WordPress est activé par défaut et il suffit simplement d’ajouter cette url à la page d’accueil pour trouver tous les utilisateurs du WordPress.

/wp-json/wp/v2/users

Désactiver l’accès au Utilisateur :

Via du code PHP :

Le filtre à utiliser est rest_authentication_errors

il suffit donc d’ajouter ces quelques lignes dans le fichiers PHP du theme enfant.

 add_filter( 'rest_authentication_errors', 'vinvin_only_allow_logged_in_rest_access' ); function vinvin_only_allow_logged_in_rest_access( $access ) { if( ! is_user_logged_in() ) {         return new WP_Error( 'rest_cannot_access', __( 'Only authenticated users can access the REST API.', 'vinvin-json-api' ), array( 'status' => rest_authorization_required_code() ) );     }     return $access; }

Via un plugin:

Il existe des plugins pour faire cette opération comme