Bouclier numérique et réseaux de connectivité.

26 conseils pour sécuriser vos sites WordPress

Pourquoi la sécurité des sites web est-elle importante ? La sécurité Internet est un élément clé de la conception et du développement d’un site web. Les problèmes de sécurité peuvent dissuader les utilisateurs d’un site web et jeter le doute sur votre marque. La sécurité d’un site web protège vos informations et votre réputation, vos visiteurs l’attendent et Google l’apprécie. Ne l’oubliez pas, jamais…

Améliorez la sécurité de votre site web en suivant ces 26 conseils

Protégez votre ordinateur (évitez d’être un facteur de risque)

Il y a une dizaine d’années, les médias parlaient beaucoup de la nécessité d’installer un système antivirus. Aujourd’hui, on n’en parle plus guère, la majeure partie du travail de protection de l’ordinateur étant effectuée par les fabricants de systèmes d’exploitation dans leurs logiciels, que vous devez régulièrement mettre à jour.

Ce conseil (garder votre ordinateur « propre ») est l’étape n°1 pour protéger votre site web WordPress contre les logiciels malveillants, les logiciels espions et les chevaux de Troie.

Investir dans un hébergement sécurisé pour WordPress

De nos jours, la sécurité est primordiale, et c’est là que les certificats SSL jouent un rôle crucial. Il est essentiel que votre hébergeur puisse vous fournir un certificat SSL fiable. Cela garantira que votre site utilise le protocole HTTPS, évitant ainsi les avertissements de sécurité des navigateurs pour vos utilisateurs et préservant la visibilité de votre site dans les résultats de recherche.

Tout d’abord, vérifiez que votre hébergeur effectue des sauvegardes régulières. La perte de données équivaut à un désastre pour toute entreprise, tout comme un incendie dans un contexte traditionnel !

De plus, votre hébergeur doit mettre en place TOUTES les mesures de protection actives et passives pour contrer les attaques potentielles.

Utiliser HTTPS pour les connexions cryptés (certificat SSL)

Le protocole HyperText Transfer Protocol Secure (HTTPS) combine le protocole HTTP avec SSL/TLS pour établir une communication cryptée sécurisée entre votre navigateur et le serveur web. Cela permet d’identifier de manière fiable et sécurisée le serveur avec lequel vous interagissez sur un réseau. Les connexions HTTPS sont largement utilisées pour des transactions financières en ligne et d’autres échanges confidentiels au sein des systèmes informatiques des entreprises.

La différence principale entre HTTP et HTTPS réside dans leur sécurité et leur façon de transmettre les données. HTTP utilise par défaut le port TCP/IP 80, tandis que HTTPS utilise le port TCP/IP 443. Les URL commencent par « http:// » pour HTTP et « https:// » pour HTTPS. En termes simples, le « S » ajouté à la fin de HTTPS signifie « Sécurisé ». Contrairement à HTTP, qui est vulnérable aux attaques telles que le « man-in-the-middle » ou l’interception de données sensibles, HTTPS offre une couche de sécurité supplémentaire, rendant les attaques plus difficiles à réaliser.

HTTPS est considéré comme sécurisé contre ces types d’attaques (à l’exception des anciennes versions de SSL) car il a été spécifiquement conçu pour résister à de telles menaces. Fondamentalement, HTTPS représente essentiellement du HTTP ordinaire exécuté sur une connexion cryptée SSL/TLS, et non un protocole entièrement distinct. Mise en place du HTTPS dans WordPress

Utiliser les dernières versions de PHP

PHP est un langage de script largement utilisé, principalement pour le développement d’applications web, y compris des plateformes telles que WordPress. Dans le déploiement d’applications web, il est recommandé d’utiliser la dernière version disponible, ou au minimum l’une des branches actuellement soutenues de cette version.

Éléphant bleu avec logo PHP.

En choisissant une version antérieure de PHP, il existe un risque de ne pas bénéficier du support continu de cette version. En effet, les versions plus anciennes peuvent ne plus être maintenues et ne recevront donc pas les mises à jour de sécurité et les correctifs nécessaires. Cela pourrait potentiellement exposer l’application à des failles de sécurité et à d’autres problèmes.

Faites la requête suivante dans votre moteur de recherche :

Comment mettre à jour facilement la version PHP chez "Votre hébergeur"

Désactiver les rapports d’erreur de WordPress

D’après les recommandations de WordPress, la désactivation du rapport d’erreur est préconisée pour éviter toute exposition d’informations sensibles via les journaux d’erreur. Il est fortement conseillé de désactiver cette fonctionnalité si vous n’êtes pas en phase de test ou de dépannage de votre site WordPress. En la maintenant active, des attaquants pourraient facilement repérer les vulnérabilités ou les problèmes présents sur votre site, et les exploiter pour compromettre sa sécurité.

Il suffit d’ajouter quelques lignes dans votre fichier wp-config.php. Ouvrez simplement le fichier en question et ajoutez-y ceci

Désactiver l’exécution des fichiers PHP dans les répertoires WordPress

Si vous ne désactivez pas l’exécution des fichiers PHP, votre site web court le risque qu’un logiciel malveillant soit installé. Il suffit qu’une personne télécharge un fichier PHP malveillant et le place dans le répertoire racine du site pour qu’il puisse être invoqué. Cette action peut être réalisée par n’importe qui, entraînant ainsi la possibilité d’intégrer un tel fichier sur votre site web. Il est crucial de sécuriser correctement les exécutables dans WordPress pour prévenir de tels appels et prévenir les risques potentiels.

Pour créer un nouveau fichier .htaccess dans le dossier uploads, il suffit de créer un nouveau fichier et de le nommer .htaccess. Ensuite, il faudra coller le code suivant dans le nouveau fichier créé :

Vérifier et modifier les permissions des fichiers (protéger les données sur votre serveur)

Il est crucial de gérer attentivement les permissions des fichiers sur un site utilisant WordPress. En négligeant les recommandations de WordPress concernant les autorisations de fichiers, cela pourrait ouvrir des portes aux pirates informatiques pour exploiter ces vulnérabilités.

Mettre en place un système de sauvegarde

Une sauvegarde représente une copie des fichiers constituant votre site web. WordPress stocke l’intégralité de ses données dans une base centrale, cette dernière évoluant au fur et à mesure de l’ajout de nouveaux articles, pages, produits, etc. En cas de corruption de cette base de données, votre site web risque de cesser de fonctionner. Cependant, en disposant d’une sauvegarde de votre site, vous avez la possibilité de restaurer les éléments endommagés ou de remplacer l’ensemble pour remettre votre site en ligne rapidement.

Plusieurs outils sont disponibles pour créer une sauvegarde de votre site web WordPress. Si vous gérez un site WordPress de manière indépendante, vous pouvez installer un logiciel dédié à la sauvegarde de votre site. Par ailleurs, il est possible de vérifier auprès de votre hébergeur s’il propose un service de sauvegarde automatique. Pour les utilisateurs de WordPress, l’utilisation d’un plugin dédié permet également de sauvegarder facilement leur site.

Utiliser un WAF et arrêter les attaques avant qu’elles ne commencent

WAF signifie « Web Application Firewall » en anglais, traduit en français par « pare-feu d’application web ». C’est un système de sécurité qui fonctionne au niveau des applications web pour filtrer, surveiller et bloquer le trafic HTTP et HTTPS en analysant les données échangées entre un navigateur web et l’application web.

Le rôle principal du WAF est de détecter et de bloquer les attaques ciblant des applications web spécifiques, telles que les attaques par injection SQL, les tentatives de cross-site scripting (XSS), les tentatives d’intrusion, et d’autres types de menaces en ligne. Il agit en tant que barrière de sécurité, aidant à protéger les sites web et les applications contre les vulnérabilités et les attaques malveillantes en ligne.

Tirer parti de l’authentification à deux facteurs

Elle a été développée en réponse aux tentatives de phishing et à d’autres attaques similaires. Ces attaques impliquent l’utilisation de faux sites web, souvent très réalistes, ainsi qu’un large éventail d’outils d’ingénierie sociale, souvent très sophistiqués. L’objectif est de frauduleusement obtenir vos informations d’identification telles que votre nom d’utilisateur et votre mot de passe, tout en cherchant à accéder à vos données. Vous pouvez activer l’authentification en deux étapes en utilisant une application dédiée ou un plugin d’authentification tel que Google Authenticator, Authy ou Duo.

Limiter les tentatives de connexion

Si un attaquant échoue dans sa tentative de deviner votre mot de passe, il peut persister en utilisant des programmes automatisés. Restreindre les essais de connexion permet de surveiller et de réduire le nombre de tentatives infructueuses d’accès.

Vous trouverez des extensions qui limitent le nombre de tentatives de connexion dans le catalogue officiel de WordPress

Opter pour des identifiants pertinents et des mots de passe robustes

Si vous interrogez la personne moyenne sur ses identifiants utilisés pour divers comptes en ligne, il pourrait mettre un certain temps à répondre, voire ne pas se souvenir de tous. La vie moderne implique la gestion d’une multitude de comptes numériques nécessitant des mots de passe.

Cependant, il est fréquent que les utilisateurs réutilisent les mêmes identifiants pour différents services tels que cPanel, e-mails, WordPress, FTP, SSH, etc. Certains utilisent même des informations personnelles comme mots de passe, comme des dates d’anniversaire, des noms ou des adresses. Ces pratiques sont risquées en matière de sécurité pour l’hébergement web et peuvent avoir des conséquences désastreuses.

Pour garantir des mots de passe robustes, il est recommandé d’utiliser les quatre types de caractères suivants :

  • Majuscules
  • Minuscules
  • Chiffres
  • Symboles spéciaux (« ‘ ,. ? ~!{} []^ & * () _ – + = # $% \ |: ; /@)

Supprimer les utilisateurs inactifs

Repérez, éliminez et anticipez les problèmes associés aux utilisateurs inactifs pour renforcer la rétention, stimuler l’engagement et favoriser la croissance de votre site.

Supprimer le compte par défaut « admin »

Il vous suffit de modifier le champ du nom d’utilisateur en bas de la page en cliquant dessus, puis de cliquer sur « Appliquer » pour mettre à jour vos paramètres. Une autre option est de créer un nouvel utilisateur administrateur et de supprimer l’utilisateur administrateur par défaut. En cochant la case « Attribuer tout le contenu à », vous sauvegarderez le contenu précédemment créé avec votre ancien compte administrateur. Ensuite, vous pourrez choisir le nouveau nom d’utilisateur de l’administrateur dans le menu déroulant.

Empêcher les fuites de nom d’utilisateur de WordPress.

Actuellement, il existe sur le marché des pare-feu pour applications web de grande qualité. Recherchez ceux qui ont la capacité de bloquer automatiquement les adresses IP lorsqu’ils détectent des tentatives de connexion répétées ou des erreurs 404. L’idée est que votre pare-feu identifie et bloque automatiquement les adresses IP qui tentent d’accéder à des pages inexistantes sur votre site ou effectuent des connexions répétées. Un pare-feu doté de fonctionnalités pour bloquer les attaques XSS (Cross-Site Scripting) et les injections SQL est également recommandé.

Soyez vigilant quant aux rôles des utilisateurs en attribuant des autorisations minimales, ce qui permet de diminuer les risques liés aux tiers.

Dans le monde en ligne, il existe cinq rôles standard : Administrateur, Rédacteur, Auteur, Contributeur et Abonné. Réfléchissez toujours soigneusement à la personne à qui vous attribuez un rôle et à la partie du travail à laquelle ce rôle correspond.

Assurez-vous de considérer attentivement les attributions de rôles, car chacun offre des niveaux d’accès et de contrôle différents sur le site web. Voici une brève description des rôles standard :

  1. Administrateur : Possède un accès complet au site web, y compris la gestion des utilisateurs, des contenus, des thèmes et des extensions. C’est le rôle le plus élevé avec des privilèges étendus.
  2. Rédacteur : Peut publier, modifier ou supprimer ses propres articles, mais n’a pas d’accès aux autres contenus, utilisateurs ou réglages du site.
  3. Auteur : Autorisé à publier, modifier ou supprimer ses propres articles, mais ne peut pas gérer d’autres contenus ou utilisateurs.
  4. Contributeur : Peut rédiger et soumettre des articles, mais n’a pas le pouvoir de les publier. Un éditeur ou un administrateur doit approuver ses contributions pour qu’elles soient publiées.
  5. Abonné : A le moins de privilèges, peut seulement gérer son profil utilisateur et s’abonner aux mises à jour du site.

En attribuant des rôles appropriés aux utilisateurs, vous maintenez un contrôle précis sur les autorisations et limitez les risques associés à un accès inapproprié à certaines parties de votre site web.

Contribuer en tant que collaborateur ou rédacteur

La capacité de publication en tant que contributeur implique la possibilité de partager des articles et des pages, mais sans la permission de les modifier ou de les supprimer directement. Pour apporter des modifications, l’approbation d’un autre administrateur ou éditeur est requise au préalable.

En revanche, avoir le statut d’éditeur autorise la publication, la modification et la suppression d’articles et de pages sans nécessiter d’approbation préalable. Dans un site WordPress, il est recommandé de publier en tant que contributeur ou éditeur afin de minimiser les risques de sécurité dans le cas où le compte administrateur serait compromis, empêchant ainsi toute personne non autorisée de devenir administrateur.

N’utilisez que des thèmes et des plugins provenant de sources fiables (pour éviter de compromettre votre site).

Lorsque vous choisissez des thèmes ou des plugins pour votre site WordPress, privilégiez les plateformes de téléchargement officielles telles que le répertoire WordPress.org pour les thèmes et les plugins vérifiés. Ces sources garantissent généralement des normes de qualité, de sécurité et de fiabilité.

En optant pour des extensions ou des thèmes issus de ces sources fiables, vous réduisez considérablement les risques de problèmes de sécurité, de bugs ou de conflits potentiels avec d’autres éléments de votre site. Ces ressources sont régulièrement mises à jour et bénéficient souvent d’une assistance technique, ce qui contribue à maintenir votre site web sécurisé et fonctionnel.

En revanche, l’utilisation de thèmes ou de plugins provenant de sources non vérifiées ou peu fiables peut exposer votre site à des vulnérabilités, des codes malveillants ou des problèmes de compatibilité. Cela peut compromettre la sécurité de votre site et nuire à son bon fonctionnement.

Par conséquent, il est crucial de faire preuve de prudence et de ne télécharger et installer que des thèmes et des plugins éprouvés et approuvés par la communauté WordPress. Cela garantira une meilleure expérience utilisateur, tout en préservant la sécurité et la stabilité de votre site web.

Utilisez toujours la dernière version de WordPress, des plugins et des thèmes (et minimisez les risques de sécurité)

Assurez-vous toujours d’utiliser la dernière version de WordPress, ainsi que des plugins et des thèmes à jour, afin de minimiser les risques de sécurité.

Les mises à jour régulières de WordPress, des thèmes et des extensions sont cruciales pour maintenir votre site web sécurisé. Chaque nouvelle version inclut souvent des correctifs de sécurité qui corrigent les vulnérabilités et les failles découvertes dans les versions précédentes. En restant à jour, vous réduisez les risques d’exploitation par des acteurs malveillants cherchant à compromettre la sécurité de votre site.

De plus, les nouvelles versions apportent généralement des améliorations de performance, de nouvelles fonctionnalités et une compatibilité accrue avec les technologies actuelles. Cela garantit un fonctionnement optimal de votre site et une meilleure expérience pour les utilisateurs.

Il est recommandé d’activer les mises à jour automatiques pour WordPress, les plugins et les thèmes, lorsque cela est possible. Cela permet de recevoir les dernières mises à jour de sécurité sans délai, renforçant ainsi la protection de votre site contre les menaces en ligne.

Négliger les mises à jour régulières expose votre site à des risques de sécurité et peut entraîner des problèmes de compatibilité avec les nouvelles fonctionnalités ou technologies. En gardant votre site web constamment à jour, vous minimisez ces risques et assurez sa sécurité ainsi que sa stabilité.

Désinstaller les thèmes et les plugins indésirables

Les thèmes et les plugins inutilisés présentent un risque pour la sécurité. Il est facile d’oublier les anciens thèmes que vous avez essayés et que vous n’avez pas utilisés. Mais chacun de ces thèmes anciens et inutilisés devrait être supprimé, car chacun d’entre eux est une porte ouverte à des problèmes de sécurité.

Désactiver l’éditeur de thèmes et de plugins

Par défaut, l’éditeur est activé afin que vous puissiez offrir à vos clients un large éventail d’options pour modifier le contenu de leur site web. Désactivez l’éditeur pour éviter que le contenu de vos sites web ne soit modifié par quelqu’un d’autre. En outre, l’éditeur devient un point d’entrée pour les utilisateurs malveillants qui pourraient utiliser cette fonctionnalité pour télécharger et exécuter un code malveillant sur votre site web.
Pour désactiver l’éditeur de thème et l’éditeur de plugin, vous devez ajouter quelques lignes de code à votre fichier wp-config.php :

Désactiver l’indexation et la navigation dans les répertoires

Pour garantir la sécurité de votre site web, nous vous recommandons de désactiver les listes de répertoires. La consultation des répertoires expose la structure interne du serveur web, ce qui en soi ne constitue pas une menace, mais peut permettre de contourner les mécanismes de sécurité et les contrôles de configuration. Cependant, il s’agit d’une étape importante, alors faites-le correctement.

Pour désactiver la navigation dans les répertoires de WordPress, vous devez ajouter une seule ligne de code dans le fichier .htaccess de votre site WordPress, situé dans le répertoire racine de votre site web :

Désactiver XML-RPC

XML-RPC est souvent utilisé à mauvais escient pour des attaques DDoS et constitue une invitation ouverte aux attaques DoS (déni de service).

Si vous utilisez une version vulnérable de WordPress, le script xmlrpc.php pourrait être la cible de la vulnérabilité WordPress pingback. Une fois le XML-RPC désactivé, les pirates n’auront plus aucune marge de manœuvre pour attaquer. Vous pouvez installer un plugin appelé Disable XML-RPC pour le désactiver.

Cependant, ce simple code fait la même chose :

Pour que la solution ci-dessus fonctionne, vous pouvez utiliser un fichier .htaccess pour bloquer les requêtes vers xmlrpc.php qui ne proviennent pas de WordPress. Cela réduira la charge sur votre serveur.

Verrouiller l’administration de WordPress

Le mieux serait d’utiliser un pare-feu d’application de site web (WAF), une application qui surveille le trafic du site web et bloque les requêtes suspectes pour qu’elles n’atteignent pas votre site web.

Vous pouvez également ajouter une protection par mot de passe à votre zone d’administration WordPress via cPanel ou vous pouvez autoriser uniquement l’accès en lecture à votre zone d’administration WordPress, tout en gardant la possibilité de mettre à jour les plugins et les thèmes en empêchant tout accès au dossier wp-admin et en le gardant lisible uniquement pour vous (ajoutez simplement wp-admin au champ user/group de votre .htaccess).

Des personnes de talent qui protègent les données d'entreprise et les informations juridiques

Protéger le fichier wp-config.php par des fichiers .htaccess

À la fin du fichier .htaccess, ajoutez les lignes de code suivantes :

Ces lignes bloquent l’accès à votre fichier wp-config.php contre le piratage interne et la modification du code, sécurisant ainsi le fichier wp-config.php.

Supprimer le numéro de version de WordPress

Pour supprimer complètement le numéro de version de WordPress de votre fichier d’en-tête et de vos flux RSS, vous devez ajouter l’extrait de code suivant à WordPress :