En 2015 plus d’un site internet sur 5 utilise WordPress, ce qui fait de ce CMS une plateforme de choix pour tout un tas de tentatives de piratage ou autre tentative d’intrusion automatisée.
C'est pourquoi il est utile de ne pas négliger la sécurité de votre site Wordpress.
Pour ce faire,
Nous vous conseillons les opérations suivantes :
> Pendant l'installation de Wordpress
- Ne pas utiliser "admin" comme nom d'utilisateur
- Choisissez des mots de passe complexes
- Changer le préfix de votre base de données (
remplacer wp_ proposé par défaut)
> Après l'installation de Wordpress
Supprimer le fichier readme.html
Placé à la racine du site, ce fichier renseigne un hacker sur la version Wordpress de votre site.
Si vous n’avez pas appliqué les mises à jour de votre CMS, une version antérieure présentant des failles connues pourront être exploitées par un hacker.
Modifier les droits lecture/écriture
Appliquer un CHMOD=644 sur les fichiers wp-config.php et .htaccess
Protéger le fichier htaccess
Ajouter dans votre fichier htaccess la ligne ci-dessous :
<files .htaccess > order allow,deny deny from all </files>
Protéger le fichier wp-config
Ajouter dans votre fichier htaccess la ligne ci-dessous :
<files wp-config.php> order allow,deny deny from all </files>
Sécurisez le fichier wp-includes
Ajouter dans votre fichier htaccess les lignes ci-dessous :
# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
# BEGIN WordPress
Renommer le fichier wp-login
1- Créer une nouvelle page : wp-pagesecrete.php
2- Copier/coller le contenu suivant dans cette nouvelle page :
<?php
setcookie("cookie-admin-blog", 494198580);
header('Location: wp-login.php');
?>
3- Ajouter le code suivant dans votre fichier .htaccess
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} !^.*cookie\-admin\-blog=494198580.*$ [NC]
RewriteRule wp-login.php - [F]
</ifmodule>
Attention, bien faire une sauvegarde de votre fichier htaccess avant toute modification sur ce fichier sensible !
> En phase d'exploitation de Wordpress
- Faite des sauvegardes régulières du code PHP et de la base de données
-
Appliquez régulièrement les mises à jour de Wordpress, du template et des plugins
- Ajouter un captcha dans vos formulaires
> Quelques plugins bien utiles
Wordpress propose des plugins pour sécuriser votre site. Nous vous conseillons les choix suivants :
itheme security
Itheme security permet de gérer les principaux paramètres de sécurité dans un tableau de bord unique (Exemple : Renommer l'utilisateur "admin", mise à jour du fichier htaccess, limiter l'accès aux fichiers sensibles...)
Wordfence
Wordfence vient compléter IThemeSecurity. A la manière d’un antivirus et d’un firewall sur PC, ce plugin est un outil qui va par exemple vous permettre de scanner tous les fichiers du thème, du CMS et des plugins afin de détecter le moindre code malveillant.
CLEF
CLEF est une application mobile qui remplace les noms d'utilisateur et les mots de passe par une image aléatoire.
Grâce à une technologie de numérisation avec code barres, tout ce que vous avez à faire pour vous connecter c'est de scanner l'onde (l'image) qui apparaît sur la page de connexion Wordpress, avec l'application mobile CLEF et vous serez instantanément connecté à votre WordPress.
> Exemple d'un fichier htaccess sécurisé
Attention : sauvegarder bien votre fichier htaccess avant de procéder aux modifications. En cas d'erreur 500, vous pourrez toujours reposter votre fichier sauvegardé.
# Securiser le fichier htaccess
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
# Pour bloquer les requêtes trace, delete, debug et track envoyé à votre site
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|DELETE|TRACK|DEBUG) [NC]
RewriteRule ^(.*)$ - [F,L]
# Pour bloquer l’accès aux fichiers que les pirates adorent modifier.
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
# Pour cacher vos répertoires aux utilisateurs indelicats
Options All -Indexes
# Pour protéger les fichiers de configuration de WordPress
<FilesMatch "^(wp-config\.php|php\.ini|php5\.ini|readme\.html|bb-config\.php)">
Order Allow,Deny
Deny from all
</FilesMatch>