Skip to main content
BlogSécuritéComment sécuriser WordPress : Etapes avancées

Comment sécuriser WordPress : Étapes avancées

Sécurité avancée de WordPress

La sécurité de WordPress est prise très au sérieux par son équipe de développement. Des correctifs et des mises à jour de sécurité sont fréquemment publiés pour permettre à WordPress de s'adapter à un environnement en ligne de plus en plus difficile. Dans le cadre de ces efforts, WordPress gère un programme de divulgation responsable des vulnérabilités, afin que ces problèmes ne soient pas laissés sans réponse.

Outre les efforts de l'équipe de développement de WordPress, les utilisateurs individuels devraient également prendre des mesures pour minimiser les risques de sécurité, souvent appelées "durcissement de WordPress". Plusieurs mesures rapides peuvent sécuriser votre site web WordPress, et nous avons couvert ces étapes faciles à mettre en œuvre dans un article récent, How to Keep WordPress Secure : Les bases.

Au-delà des étapes de base, il existe également des techniques de sécurité plus avancées qui peuvent être employées pour sécuriser davantage votre site web WordPress, ainsi que des choses importantes à faire et à ne pas faire en matière de sécurité lors de la gestion d'un site web WordPress.

Nous allons nous pencher sur quelques-unes d'entre elles.

SFTP - Connexion à votre serveur

Tout d'abord, il est essentiel de s'assurer que lorsque vous vous connectez à votre serveur web, vous le faites en utilisant le protocole SFTP, qui est similaire au protocole FTP, sauf que votre mot de passe et d'autres données sont cryptés lorsqu'ils voyagent entre vous et votre serveur. FileZilla est une excellente application de transfert de fichiers qui prend en charge plusieurs protocoles de transfert de fichiers, dont le SFTP. Vous pouvez découvrir comment installer et transférer des fichiers sur votre Linode à l'aide de FileZilla ici.

Prévention des attaques par force brute

Les attaques par force brute se produisent lorsqu'un attaquant soumet de manière répétée et systématique différents noms d'utilisateur et mots de passe pour tenter d'accéder à un site web. Il est important de noter que les attaques par force brute ne sont pas endémiques à WordPress. Toutes les applications web sont susceptibles d'en être victimes.

La première défense contre ce type d'attaques est de s'assurer que votre mot de passe est sécurisé. Le but ultime d'une attaque par force brute est d'accéder à votre site web. Le choix d'un mot de passe difficile à pirater a été abordé dans notre précédent article sur la sécurisation de WordPress, nous n'y reviendrons donc pas en détail. Il suffit de s'assurer que votre mot de passe est bon. Il est également utile d'activer l'authentification en deux étapes dans votre instance WordPress.

Ensuite, utilisez un plugin pour limiter le nombre de tentatives de connexion séquentielle à votre site. Un plugin populaire est Limit Login Attempts Reloaded, qui a été téléchargé plus d'un million de fois. Il limite le nombre de tentatives de connexion possibles par le biais de la connexion normale ainsi que des pages de connexion XMLRPC, WooCommerce et personnalisées.

Une autre option consiste à modifier l'emplacement de la page de connexion wp-admin. Par défaut, tous les sites web WordPress ont leurs pages de connexion situées dans /wp-admin (par exemple, www.examplesite.com/wp-admin.) Les robots qui effectuent des attaques par force brute ciblent souvent immédiatement cette page. Utilisez WPS Hide Login pour les aider.

Comme toujours, avant d'installer des plugins nouveaux et non testés, il convient de faire une sauvegarde de votre site. Bien que la plupart des plugins populaires n'endommagent pas votre site web, une incompatibilité est toujours possible. Une sauvegarde vous permet d'avoir l'esprit tranquille et de savoir que tout dommage causé par un plugin erroné peut être réparé rapidement et facilement.

Authentification HTTP de l'administrateur de WordPress

Vous pouvez verrouiller davantage votre administration WP en ajoutant l'authentification HTTP de base. Ce processus exige que l'utilisateur entre un nom d'utilisateur et un mot de passe avant même d'atteindre la page de connexion de WP, ce qui peut aider à stopper les robots de force brute dans leur élan.

Pour ce faire, vous devez créer un fichier .htpasswd. Essayez d'utiliser une excellente ressource gratuite d'Hosting Canada pour le faire. Vous devez saisir le nom d'utilisateur que vous souhaitez utiliser ainsi qu'un mot de passe, sélectionner une méthode de cryptage dans la liste déroulante et cliquer sur "Générer un mot de passe". Une longue chaîne de texte est générée. Copiez-la et collez-la dans un nouveau fichier texte. Enregistrez ce fichier sous le nom de '.htpasswd'. 

Ensuite, connectez-vous à votre serveur et rendez-vous dans le dossier wp-admin de WordPress. Ouvrez-le et dans wp-admin, créez un nouveau dossier appelé "htpasswd". Téléchargez ensuite dans ce dossier le fichier .htpasswd que nous avons créé précédemment. Vous devez transférer vos fichiers en utilisant uniquement le mode 'ASCII' et non le mode 'BINARY'. 

La dernière étape consiste à créer un nouveau fichier contenant les éléments suivants :

AuthName "Admins Only"
AuthUserFile /home/public_html/wp-admin/htpasswd/.htpasswd
AuthType basic
Require user yourusername

<Files admin-ajax.php>
    Order allow,deny
    Allow from all
    Satisfy any
</Files>

Vous devrez mettre à jour l'emplacement AuthUserFile avec l'URL complète du répertoire de votre fichier .htpasswd ainsi que votre nom d' utilisateur avec le nom d'utilisateur que vous avez utilisé pour le fichier .htpasswd. Enregistrez ce fichier en tant que .htaccess et téléchargez ce fichier .htaccess dans votre dossier wp-admin sur votre serveur, et c'est tout. La prochaine fois que vous vous connecterez à votre site à l'adresse www.examplesite.com/wp-admin, il vous sera demandé votre nom d'utilisateur et votre mot de passe avant que l'écran de connexion à l'administration de WordPress ne s'affiche.

Conseil utile: Si vous ne connaissez pas l'adresse complète du répertoire de votre fichier .htpasswd, une astuce pratique consiste à utiliser un petit script PHP :

<?php
    echo "Absolute path: ", getcwd();
?>

Créez un fichier contenant ce script appelé testpath.php et téléchargez-le dans le fichier htpasswd, puis visitez cette url (par exemple www.example.com/wp-admin/htpasswd/testpath.php) pour obtenir le chemin d'accès complet à votre fichier .passwd.

 Sécurisation de wp-includes

Certains scripts inclus dans votre installation WordPress ne sont pas destinés à être consultés. Ils offrent cependant aux pirates une voie d'accès possible à votre site. C'est pourquoi il peut être intéressant de les verrouiller. Vous pouvez bloquer l'accès à ces fichiers à l'aide d'un mod_rewrite dans le fichier .htaccess. Pour ce faire, ajoutez le code suivant à votre fichier .htaccess (généralement situé à la racine de votre site WordPress) en dehors des balises # BEGIN WordPress et # END WordPress ; sinon, WordPress risque de l'écraser :

# 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

Désactiver l'édition de fichiers

De nombreux aspects de la sécurisation d'un site web WordPress consistent à rendre la vie plus difficile à un pirate informatique potentiel. De la même manière qu'un cambrioleur cherchera une maison dans une rue non éclairée, sans alarme ni lumières de sécurité, un pirate informatique préfère cibler un site web qui manque de dispositifs de sécurité de base plutôt qu'un site dont les fenêtres et les portes métaphoriques ont été fermement verrouillées.

Par défaut, WordPress permet aux administrateurs de modifier les fichiers PHP tels que les thèmes et les plugins à partir du tableau de bord. Cette fonction permettant l'exécution de code, elle constitue une cible évidente pour un pirate informatique. Pour la plupart des développeurs web, les modifications de code sont effectuées à l'aide d'un éditeur de texte comme Sublime plutôt qu'à partir du tableau de bord. Il est donc logique de "verrouiller" cette fenêtre particulière de WordPress et, ce faisant, de supprimer un autre point d'accès potentiel pour un pirate.

Pour ce faire, placez cette ligne de code dans le fichier wp-config.php. Cette ligne supprime les capacités "edit_themes", "edit_plugins" et "edit_files" de tous les utilisateurs :

define(‘DISALLOW_FILE_EDIT’, true);

Cela n'empêchera pas un pirate de télécharger des fichiers malveillants sur votre site, mais cela permettra d'arrêter certaines attaques.

Utiliser un pare-feu

Un pare-feu est un excellent moyen d'empêcher un pirate d'atteindre votre site web WordPress. Il existe plusieurs options :

Un plugin de pare-feu

Plusieurs bons plugins de pare-feu fonctionnent en limitant l'accès au niveau du serveur Apache avant que WordPress ne le traite. Un bon exemple est All In One WP Security & Firewall ou WordFence. Tous deux filtrent les requêtes entrantes pour s'assurer qu'aucun trafic malveillant ne peut atteindre votre installation WordPress.

Pare-feu intermédiaires

Des plugins comme WordFence filtrent le trafic au niveau du serveur. Une autre approche consiste à intercepter le trafic sur son chemin vers votre serveur avant de le filtrer et d'envoyer la requête vers votre serveur à l'aide d'un produit tel que Cloudflare. Cette approche est populaire parce qu'il vous suffit de modifier vos enregistrements DNS pour envoyer le trafic via un intermédiaire sans qu'aucune modification de votre serveur ne soit nécessaire. 

Prochaines étapes

La sécurité de WordPress reste un sujet populaire. Si tout cela vous semble être un travail difficile, envisagez d'utiliser un hébergeur WordPress infogéré comme Pressidium, qui peut faire le gros du travail pour vous. Enfin, faites des sauvegardes régulières de votre site web afin de pouvoir dormir sur vos deux oreilles en sachant que vous pourrez toujours le restaurer.


Commentaires (2)

  1. Author Photo
    Atul Kumar Pandey

    Excellent tips. Strong password and using limit login attempts are the quick fix for any WP blog. Being in the same industry I would like to add one more tip – use only trusted and highly rated themes and plugins.

  2. Author Photo

    A good password is great. Also, hiding or changing the wp-admin slug is really helps.

Laissez un commentaire

Votre adresse électronique ne sera pas publiée. Les champs obligatoires sont marqués d'un *.