Sécuriser WordPress
Configurer la sécurité de votre WordPress
Les bonnes pratiques pour WordPress
Pour éviter à votre site de subir des attaques, il y a des bonnes pratiques à connaître. La mise en place des conseils suivants permettra d’éviter les attaques les plus courantes.
Mettre à jour WordPress et les plugins
Les mises à jours permettent la correction de failles de sécurité. Elles évitent donc que les attaquants utilisent des failles de sécurité connues pour accéder à votre site. Il est donc vital pour la sécurité de votre WordPress qu’elles soient faites le plus rapidement possible.
Utilisez des mots de passes différents et forts
Les mots de passes forts rendent plus difficile les attaques par bruteforce de vos mots de passes. Dans le cas de la fuite d’un mot de passe et dans le cas où vous utilisez des mots de passes différents pour chaque service, l’attaquant n’aura pas accès à la totalité de votre compte.
Changez le nom du compte administrateur
Le compte administrateur porte le même nom pour tous les WordPress. Si vous ne le changez pas, l’attaquant n’a plus qu’à trouver votre mot de passe. Il y a deux méthodes pour changer le nom du compte administrateur :
Dans WordPress
Créez un nouveau compte administrateur dans Utilisateur -> Ajoutez puis changez son rôle en administrateur, supprimez le compte admin et enfin réattribuez le contenu du compte administrateur au nouveau compte.
En SSH
Dans votre base de données MySQL vous pouvez directement modifier le compte admin en ramplaçant Nouveau_Login par votre identifiant
UPDATE wp_users SET user_login = ‘Nouveau_Login‘ WHERE user_login = ‘Admin’;
Configuration
Dans le fichier .htaccess
Assurez vous que la directive suivante est bien présente :
Option All -Indexes
Pour vous protégez du hotlinking ajoutez :
# Activation du mode Rewrite
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
# Les requêtes en provenance de votre domaine sont autorisées
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?votredomaine.com [NC]
# Autorisation d'utilisation du contenu par les moteurs de recherche
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
# Renvoi d'une image alternative en cas d'emploi abusif des votre
RewriteRule \.(gif|jpg|png)$ http://domain.tld/hotlink.jpg [R,NC,L]
D’autres règles pour lutter contre le XSS, les redirections HTTP et les modifications de variables PHP :
RewriteEngine On
RewriteCond %{REQUEST_METHOD} (GET|POST) [NC]
RewriteCond %{QUERY_STRING} ^(.*)(%3C|<)/?script(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)(%3D|=)?javascript(%3A|:)(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)document\.location\.href(.*)$ [OR]
RewriteCond %{QUERY_STRING} ^(.*)base64_encode(.*)$ [OR]
RewriteCond %{QUERY_STRING} ^(.*)GLOBALS(=|[|%[0-9A-Z]{0,2})(.*)$ [OR]
RewriteCond %{QUERY_STRING} ^(.*)_REQUEST(=|[|%[0-9A-Z]{0,2})(.*)$ [OR]
RewriteRule (.*) - [F]
Dans le fichier function.php
Empêcher que la version de votre WordPress s’affiche permet de rendre plus difficile une potentielle attaque, vous pouvez la cacher avec :
remove_action("wp_head", "wp_generator");
Retirez l’affichage des erreurs de connexions :
add_filter('login_errors',create_function('$a', "return null;"));
Source : alwaysdata