Sécuriser WordPress

Comment sécuriser WordPress ?

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 :
order allow,deny deny from all

Protéger le fichier wp-config
Ajouter dans votre fichier htaccess la ligne ci-dessous :
order allow,deny deny from all

Renommer le fichier wp-login

Filtrer des comportements potentiellement problématique : 
Ajouter dans votre fichier htaccess les lignes ci-dessous :

# FILTRE ATTAQUE CROSS-SITE-SCRIPTIN ET MIME-SNIFFING
<IfModule mod_headers.c>
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block" 
</IfModule>

Sécurisez le fichier wp-includes
Ajouter dans votre fichier htaccess les lignes ci-dessous :
# Block the include-only files.

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]

# BEGIN WordPress

> 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

Order Allow,Deny
Deny from all

# 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

> Conclusion


il y a des centaines de façons de pirater un site internet et les actions décrites dans cette page n’assuront pas 100% de sécurité face à une attaque ciblée, mais elles devraient vous protéger d’une bonne partie des attaques automatisées qui peuvent faire de gros dégâts, tout simplement parce qu’on a laissé actif les failles les plus connues.

Comment faire lorsque votre WordPress a été hacké ou piraté ? : quelques explications ici

 

> Pus d’information


Rémi PASCAUD est dirigeant / fondateur de la société CYBERSITE. Après 20 ans d’expérience dans le développement de site internet, il s’est spécialisé dans la sécurité informatique des sites internet.
Contactez-nous pour tout complément d’information : remi.pascaud@cybersite.fr – http://www.cybersite.fr –  Fiche DATAGONES