Comment garder une installation WordPress sécurisée ? En 24 étapes clés

Le 03 janvier 2024
Comment garder une installation WordPress sécurisée ? En 24 étapes clés
La sécurité de votre site web est cruciale pour protéger vos activités en ligne contre les piratages et les pertes financières. Il est important de prendre des mesures pour sécuriser votre site web.
Sommaire

Cela n’arrive PAS qu’aux autres! Tout est arrivé si vite!

Marc tient un restaurant depuis 15 ans.

Depuis que le virus a frappé ça ne marche plus aussi bien qu’avant. Les clients se font beaucoup plus rares.

Avant la crise on ne s’arrêtait pas. On servait une centaine de personnes par jour. Mais aujourd’hui… ce n’est plus pareil.

C’est un miracle si on en voit 10. Notre restaurant ne fonctionne tout simplement plus aussi bien qu’avant. Et la faillite montre le bout de son nez.

J’ai vraiment peur de devoir fermer et les dettes s’accumulent. Je sais que je ne suis pas seul dans cette situation et que d’autres gérants vivent la même chose mais les temps sont vraiment durs et l’avenir semble hasardeux.

Mon épouse m’a alors parlé d’une nouvelle opportunité. Vous savez ce que font les jeunes là!…du e..du e-commerce? Oui voilà! En bon entrepreneur que je suis je n’ai pas craché dessus et je suis resté ouvert bien que cela me soit inconnu, j’ai bien étudié le sujet et avec mon épouse et on a franchi le pas : on a alors acheté notre premier site et on a déjà réalisé 15 ventes en deux mois! Je pense qu’on pourra enfin se payer nos vacances à Barcelone! Ma femme ne fait que me parler de Dali par ci Dali par là! Bon, après tout, ça fait 10 ans qu’on se serre la ceinture et qu’on se bat.

Récemment nous avons été contactés par Marc.

En panique et la voix tremblotante.

Il s’est réveillé tôt comme à son habitude pour préparer ses commandes. Il s’est donc dirigé vers son bureau. Il a allumé son PC. Il a entré ses identifiants pour accéder à son site. Erreur. Il a testé plusieurs combinaisons mais toujours rien. Rien n’y fait. Ça ne marche plus.

Marc a perdu ses accès durant cette nuit. En si peu de temps son second business s’est lui aussi écroulé. Ses vacances tant attendues ne deviennent qu’un lointain mirage désormais.

Marc s’est fait pirater son site web.

Le problème avec l’histoire de Marc c’est qu’elle n’est pas très lointaine de la votre. Cela peut aussi vous arriver. Vous pourriez faire les mêmes erreurs. Ces mêmes petites erreurs qui, mises bout-à-bout, deviennent fatales pour votre sécurité.

Après avoir lu cette introduction vous comprenez que la sécurité n’est pas un point négligeable… mais qu’il y a des solutions pour que vous puissiez dormir sur vos deux oreilles. Mais nous vous prévenons : il faut se retrousser les manches et agir pour sa sécurité! Notre article détaille avec précision plusieurs étapes clés à suivre pour sécuriser votre site.

Asseyez-vous confortablement et étirez-vous. Nous allons plonger notre nez dans un long guide pour vous aider à renforcer la sécurité de votre site. La liste suit une logique (en commençant par les bases et ainsi de suite) mais n’est pas exhaustive!

Place au plat principal.

Sécurisez au maximum votre site WordPress en 24 étapes clés

Utilisez une connexion Internet sécurisée

Il s’agit d’un paramètre souvent oublié par les utilisateurs mais votre connexion internet peut vous jouer des mauvais tours. Quelques conseils pour vous connecter de manière sécurisée :

  • Restez prudent avec les VPNs. Si vous n’êtes pas un habitué, évitez d’utiliser une connexion VPN car cela peut exposer votre réseau au “monde extérieur” et ainsi augmenter votre risque d’attaque pirate.
  • Restez prudent avec le réseau public. Soyez toujours prudent lorsque vous vous connectez à votre site WordPress dans des lieux publics. Rappelez-vous que Starbucks n’est pas un réseau sécurisé !
Free wifi vu par les experts en cybersécurité
  • Utilisez une plage différente de votre Wifi, par exemple 10.9.8.8.7 (Par défaut, les routeurs utilisent des adresses IP dans la plage 192.168.1.1.)
  • Activez le plus haut niveau de cryptage sur votre Wifi.
  • Mettez votre adresse IP dans la liste blanche de votre Wifi pour que seules les personnes avec le mot de passe et certaines IP puissent y accéder.
  • Gardez le firmware de votre routeur à jour.

Investissez dans un hébergement WordPress sécurisé

Voici quelques éléments dont vous devriez tenir compte lors de votre sélection d’hébergeur :

  • Sécurité en tout temps – Le serveur doit fournir une sécurité durant tout le long du processus d’installation WordPress et de construction de votre site web et pas seulement après installation de WordPress.
  • Sécurité en multicouche – Il est nécessaire d’avoir plusieurs couches de mesures de sécurité au niveau matériel et logiciel pour être sur que les serveurs pourront tenir en cas d’attaque simple ou sophistiquée, physique ou virtuelle.
  • Protection des fichiers – Assurez-vous que votre hébergeur WordPress prend des précautions telles que SFTP ou SSH. SFTP ou Secure File Transfer Protocol (également connu sous le nom de protocole de transfert de fichiers SSH), est un protocole réseau utilisé pour les transferts de fichiers. Il s’agit en fait d’une méthode plus sûre que le FTP standard pour empêcher des éventuels intrus d’accéder à vos fichiers.
3 hébergeurs sécurisés : o2switch vs kinsta vs hostinger

Utilisez des extensions de sécurité WordPress

Beaucoup de développeurs et d’entreprises fournissent des extensions pour vous aider à mieux protéger votre site WordPress. En voici quelques-unes :

  1. Wordfence Security, Sucuri Security, iThemes Security et All In One WP Security and Firewall se ressemblent pas mal et fournissent au final quelque chose d’assez similaire et d’essentiel pour votre sécurité c’est-à-dire un pare-feu, une analyse de vulnérabilités, une détection d’intrusion et une surveillance en temps réel.
  2. Si vous gérez plusieurs sites ou que plusieurs personnes interagissent et y travaillent alors vous risquez rapidement d’être débordé et de perdre un peu le contrôle. Vous aurez alors besoin d’une vue d’ensemble. Vous pouvez alors vous diriger vers une solution comme WP Security Audit Log qui permet une vue d’ensemble aux différents administrateurs de tout ce qui est en cours de modification dans le site comme les connexions, changements de mots de passe, changements de thèmes, changements de widgets et les mises à jour WordPress.

Voici une vue d’ensemble des fonctionnalités les plus fréquemment proposées par les extensions de sécurité :

  • Générer et forcer des mots de passe forts lors de la création de profils utilisateurs
  • Forcer l’expiration des mots de passe et les réinitialiser régulièrement.
  • Enregistrement des actions de l’utilisateur
  • Mises à jour faciles des clés de sécurité WordPress
  • Changelogs de fichiers
  • Scan anti-malware
  • Authentification à deux facteurs
  • Pare-feu de sécurité WordPress
  • Bloquer les réseaux malveillants
  • Surveiller les changements de DNS
  • Liste blanche d’IP
  • Liste noire d’IP
  • Voir les informations WHOIS sur les visiteurs

Utilisez toujours le protocole HTTPS

HTTPS (Hypertext Transfer Protocol Secure) correspond à une extension du protocole HTTP qui utilise un certificat SSL (Secure Sockets Layer) pour chiffrer les données transmises entre le serveur et le navigateur. Cela signifie que toutes les informations sensibles, telles que les informations de connexion et les informations de paiement, sont chiffrées et protégées contre la surveillance et l’interception.

  • Utilisez un certificat gratuit pour votre activité personnelle et un certificat payant pour votre activité professionnelle pour garantir un plus grand niveau de sécurité
  • D’un point de vue opérationnel, si vous souhaitez l’installer vous-même, il s’agit d’une opération assez facile et il suffit alors de suivre les instructions de votre hébergeur et d’activez ensuite le certificat via les paramètres WordPress

Avoir un certificat SSL sur son site va avec de nombreux bénéfices:

  • Sécurité supplémentaireHTTPS est absolument vital pour maintenir une connexion sécurisée entre un site web et un navigateur.
  • Meilleur trafic – Facteur minime mais tout de même important pour booster votre SEO
  • Clients rassurés – selon GlobalSign, 30% des utilisateurs vérifient que le site auquel ils se connectent possède bien le fameux cadenas vert synonyme d’un HTTPS actif
HTTPS = sécurisé & HTTP = non sécurisé

Ajoutez les derniers headers de sécurité HTTP

Les headers de sécurité HTTP sont généralement configurés au niveau du serveur web et indiquent au navigateur comment se comporter lors de la gestion du contenu de votre site. Il y a beaucoup de headers de sécurité HTTP différents, mais les suivants sont généralement les plus importants : X-XSS-Protection, Strict-Transport-Security, X-Frame-Options, X-Content-Type.

  • Vous pouvez vérifier quels headers sont actuellement en cours d’exécution sur votre site WordPress en lançant Chrome devtools et en regardant le header sur la réponse initiale de votre site.
  • Vous pouvez également scanner votre site Web WordPress avec l’outil securityheaders.com gratuit de Scott Helme. Cela vous montrera quels headers de sécurité HTTP vous avez actuellement sur votre site. Si vous n’êtes pas sûr de la façon de les mettre en œuvre, vous pouvez toujours demander de l’aide à votre hébergeur.

Notez que lorsque vous implémentez les headers de sécurité HTTP, cela peut affecter vos sous-domaines WordPress. Par exemple, si vous ajoutez l’en-tête Politique de sécurité du contenu et limitez l’accès par domaines, vous devez également ajouter vos propres sous-domaines.

Utilisez des identifiants forts.

  • Utilisez des identifiants forts – L’une des meilleures façons de renforcer la sécurité de WordPress est simplement d’utiliser des noms d’utilisateur et des mots de passe intelligents/forts.
  • Stockez vos identifiants dans un lieu sûr – La meilleure façon de les stocker est de le faire localement dans une base de données cryptée sur votre ordinateur. Un bon outil gratuit pour cela est KeePass. Si vous ne voulez pas suivre cette voie, il y a aussi des gestionnaires de mots de passe en ligne comme 1Password ou LastPass.

Fait amusant : Le mot de passe le plus populaire est «123456», suivi d’un étonnant «password».

Mot de passe faible sur un post it
Mot de passe faible sur un post it

Activez l’authentification à deux facteurs

L’authentification à deux facteurs (2FA) est une méthode de sécurité qui permet de vérifier l’identité de l’utilisateur en utilisant deux informations d’authentification distinctes. Dans la plupart des cas, ceci est efficace à 100% pour prévenir les attaques par force brute sur votre site WordPress. Pourquoi ? Parce qu’il est presque impossible que l’attaquant ait à la fois votre mot de passe et votre téléphone portable.

double authentification
Double authentification

Il y a plusieurs façons de mettre en place l’authentification à deux facteurs pour protéger votre site web et en voici quelques exemples :

  • Recevez un code par SMS (La plus populaire) – Après avoir inséré votre mot de passe et identifiant, vous recevrez un code qu’il faudra alors entrer pour finalement accéder à votre compte.
  • Utilisez des méthodes d’authentification biométrique (très populaire) – Certaines applications utilisent la reconnaissance faciale, l’empreinte digitale ou la reconnaissance vocale pour vérifier l’identité de l’utilisateur.
  • Générez vos propres codes d’authentification – Il existe des applications spécialement conçues pour générer des codes d’authentification à deux facteurs. Il suffit de scanner un QR code pour configurer l’application et générer des codes à utiliser pour s’authentifier.

Très anecdotique, si vous êtes plutôt de l’ancienne école vous pouvez Utilisez des jetons physiques – Les jetons physiques sont des appareils qui génèrent des codes d’authentification à utiliser pour s’authentifier. Ces jetons peuvent être connectés à une clé USB ou à un porte-clés.

authentification multifactorielle
Authentification multifactorielle

Protégez votre administration WordPress

  • Limitez les tentatives de connexion WordPress – Login LockDown enregistre l’adresse IP et l’horodatage de chaque tentative de connexion échouée. Si plus d’un certain nombre de tentatives sont détectées dans un court laps de temps à partir de la même adresse IP, la fonction de connexion est désactivée pour toutes les requêtes de cette plage. (Très utile pour les attaques par force brute)
  • Protégez votre URL administrateur – créer une règle pour que seule votre adresse IP puisse accéder à votre URL administrateur en utilisant Cloudflare ou Sucuri par exemple.
  • Cachez l’URL de connexion WordPress avec Perfmatters

Utilisez la dernière version de PHP

PHP = Véritable épine dorsale de votre site, PHP est ****principalement conçu pour servir de langage de script coté serveur, ce qui fait qu’il est capable de réaliser tout ce qu’un script CGI quelconque peut faire, comme collecter des données de formulaire, générer du contenu dynamique, ou gérer des cookies. Il est considéré comme l’épine dorsale de votre site WordPress et il est donc très important d’utiliser la dernière version de ce langage sur votre serveur pour éviter les failles de sécurité. Chaque version majeure de PHP est généralement entièrement prise en charge (c’est à dire qu’il n’est pas nécéssaire d’en installer une autre) pendant deux ans après sa sortie.

Sachez qu’environ 80% des utilisateurs sont exposés aux attaques…à cause de leur négligence – Et devinez quoi ? Selon la page officielle de WordPress Stats, à ce jour, plus de 57% des utilisateurs de WordPress sont encore en PHP 5.6 ou inférieur! Si vous combinez cela avec PHP 7.0, 77,5% des utilisateurs utilisent actuellement des versions de PHP qui ne sont plus supportées. C’est effrayant ! Après il faut comprendre qu’il faut parfois du temps aux grosses entreprises pour réagir et aux développeurs pour tester si la nouvelle version de PhP est compatible avec leur code. On comprend alors pourquoi WordPress se trouve en tête des plateformes attaquées avec 83% des attaques : les utilisateurs ont un comportement négligent.

Statistiques versions php installées sur le sites WordPress
Statistiques versions php installées sur les sites WordPress le 20/01/2023
  • Assez facile de se mettre à jour – Si vous utilisez cPanel, vous pouvez passer d’une version PHP à l’autre en cliquant sur « PHP Select » dans la catégorie des logiciels.
Sélecteur de version php sur cPanel
Sélecteur de version php sur cPanel

Utilisez la dernière version de WordPress, des plugins et thèmes

Outils incontournables pour votre marketing, vos automatisations ou votre e-commerce, les plugins ont un inconvénient majeur : ils sont une porte d’entrée potentielle. Il vous faut alors prendre certaines mesures pour contrôler ce risque.

  • Gardez à jour ce trio : plugin, thème et version WordPress !
  • Téléchargez uniquement des plugins via des sources fiables et prenez le temps de les analyser avant l’installation.
  • Supprimez les plugins et les thèmes que vous n’utilisez plus.
Comment les sites WordPress sont compromis
Comment les sites WordPress sont compromis

Voici une image montrant quelles sont les portes d’entrées les plus fréquentes lors d’un piratage WordPress

Cachez votre version WordPress

Il est généralement considéré comme une bonne pratique de masquer la version de WordPress que vous utilisez sur votre site web, car cela empêche les pirates informatiques de découvrir des vulnérabilités connues pour une version spécifique de WordPress. Voici quelques méthodes pour cacher votre version WordPress :

  • Utilisez un plugin – Il existe des plugins gratuits qui vous permettent de masquer la version de WordPress que vous utilisez, tels que Hide My WP ou WP version remover.
  • Ajoutez un code dans le fichier .htaccess
# masque la version de WordPress
Header unset X-Powered-By
  • Ajoutez un code dans le fichier functions.php
function wp_remove_version() {
    return '';
}
add_filter('the_generator', 'wp_remove_version');

Désactivez XML-RPC

XML-RPC est un service intégré à WordPress qui permet à des applications tierces d’interagir avec votre site web en utilisant des appels de fonction via XML. Si vous n’utilisez pas de fonctionnalités qui nécessitent XML-RPC, vous pouvez désactiver ce service pour réduire les risques de vulnérabilités de sécurité. Il est important de noter que la désactivation de XML-RPC peut empêcher certaines fonctionnalités de fonctionner comme les applications de publication de tiers, les outils de sauvegarde automatique ou les applications de médias sociaux qui utilisent ces services pour intégrer les fonctionnalités de WordPress. Il est donc important de vérifier qu’aucune de ces fonctionnalités ne soit nécessaire avant de désactiver XML-RPC. Voici quelques méthodes pour désactiver XML-RPC :

  • Utilisez un plugin – Il existe des plugins gratuits pour désactiver XML-RPC sur WordPress, tels que Disable XML-RPC ou Secure XML-RPC. Ces plugins vous permettent de désactiver facilement XML-RPC sur votre site.
  • Ajoutez un code dans le fichier .htaccess
<Files xmlrpc.php>
Order deny,allow
Deny from all
</Files>
  • Ajoutez un code dans le fichier functions.php
add_filter('xmlrpc_enabled', '__return_false');

Sécurisez le fichier wp-config.php

C’est de loin le fichier le plus important sur votre site lorsqu’il s’agit de la sécurité WordPress. Il joue le rôle de clé d’accès à votre base de données, autant dire qu’il est très important. Il contient des informations cruciales pour la configuration de votre site comme vos informations de connexion à la base de données et les clés de sécurité qui gèrent le cryptage des informations dans les cookies. Il est important de sécuriser ce fichier pour protéger votre site contre les attaques. Voici quelques étapes que vous pouvez suivre pour sécuriser le fichier wp-config.php :

  • Déplacez le fichier – Déplacez le fichier wp-config.php à un emplacement en dehors de la racine de votre site web. Cela permet de protéger le fichier contre les accès non autorisés. Pour déplacer votre fichier wp-config.php il suffit de tout copier dans un fichier différent.
  • Trouvez un mot de place plus difficile – Assurez-vous d’utiliser un nom d’utilisateur et un mot de passe difficile à deviner pour vous connecter à votre base de données.
  • Protégez le fichier par .htaccess – Utilisez un fichier .htaccess pour protéger votre fichier wp-config.php contre les accès non autorisés.
  • Hiérarchiser l’accès – Utilisez les autorisations d’accès pour limiter l’accès au fichier wp-config.php à un utilisateur ou un groupe d’utilisateurs spécifique.
  • Utilisez des bibliothèques de chiffrement – Protégez les informations sensibles dans le fichier wp-config.php en utilisant des bibliothèques de chiffrement
wp-config.php dans le dossier racine de WordPress
wp-config.php dans le dossier racine de WordPress

Tout à fait anodin…mais hautement important !

Supprimez l’utilisateur “admin”

De nombreux hébergeurs installent par défaut l’identifiant « admin » et la plupart des utilisateurs choisissent de garder ce nom d’utilisateur car il est facile à retenir. Or, il est très dangereux pour la sécurité de votre site web de conserver l’identifiant « admin ». Voici quelques points à suivre pour supprimer l’utilisateur “admin”

  • Créez un nom d’utilisateur WordPress unique pour le compte administrateur et supprimez l’utilisateur « admin » s’il existe. Vous pouvez le faire en ajoutant un nouvel utilisateur sous « Utilisateurs » dans le tableau de bord et en lui attribuant le rôle « Administrateur » (voir ci-dessous).
  • Une fois que vous avez attribué le rôle administrateur au nouveau compte, vous pouvez revenir en arrière et supprimer l’utilisateur « Admin » d’origine. Assurez-vous que lorsque vous cliquez sur supprimer, vous choisissez l’option « Attribuer tout le contenu à » et sélectionnez votre nouveau profil d’administrateur. Ceci assignera la personne en tant qu’auteur de ces messages.
  • Vous pouvez également renommer manuellement votre nom d’utilisateur administrateur actuel dans phpMyAdmin avec la commande suivante. Assurez-vous de sauvegarder votre base de données avant de modifier les tables :
UPDATE wp_users SET user_login = 'newcomplexadminuser' WHERE user_login = 'admin';
  • Évitez ces termes
    • Dérivés simples comme Admin123
    • L’adresse email du site WordPress (par exemple : contact@domainedusite.com)
    • Le nom d’utilisateur qui apparaît comme auteur des articles (vous pouvez le modifier dans l’onglet « Utilisateurs »)
    • Le nom de domaine du site

Empêchez la navigation dans les dossiers

Il existe plusieurs façons d’empêcher la navigation dans les dossiers sur un site WordPress pour protéger contre les vulnérabilités de sécurité :

  • Utilisez un fichier .htaccess – Vous pouvez utiliser un fichier .htaccess pour interdire l’accès à tous les sous-dossiers d’un dossier particulier. Pour se faire, vous pouvez ajouter la ligne suivante à votre fichier .htaccess:
Options -Indexes
  • Utilisez un plugin de sécurité – Il existe des plugins de sécurité WordPress qui peuvent vous aider à empêcher la navigation dans les dossiers, comme ceux cités plus haut (All In One WP Security and Firewall, iThemes Security, ou Wordfence Security). Ces plugins peuvent offrir des options pour bloquer l’accès à certains dossiers ou pour masquer l’existence de certains dossiers.
  • Configurez le serveur – Si vous avez un accès au fichier de configuration de votre serveur, vous pouvez configurer le serveur pour interdire la navigation dans les dossiers. La manière de faire varie en fonction de votre hébergeur

Vérifiez les permissions des fichiers et du serveur

Il est important d’avoir un équilibre des permissions pour que votre site fonctionne correctement.

Les permissions de fichiers et dossiers sur votre installation et sur le serveur Web sont cruciales pour renforcer la sécurité de WordPress et il est aussi essentiel d’en maintenir l’équilibre, si celles-ci sont trop laxistes alors quelqu’un pourrait facilement accéder à votre site et faire des ravages, d’autre part, si vos permissions sont trop strictes, cela pourrait briser la fonctionnalité de votre site.

Voici quelques recommandations typiques pour les permissions lorsqu’il s’agit des permissions de fichiers et de dossiers dans WordPress. Voir l’article du Codex WordPress sur la modification des permissions de fichiers pour une explication plus approfondie.

  • Tous les fichiers doivent être 644 ou 640. Tous les dossiers doivent être en 755 or 750. Exception : wp-config.php doit être 440 ou 400 pour empêcher les autres utilisateurs du serveur de le lire. Aucun dossier ne devrait jamais être en 777, même les dossiers de téléchargement.
  • Utilisez par exemple utiliser le plugin iThemes Security pour un scan des permissions
Permissions de fichier
Permissions de fichier

Désactivez l’éditeur dans apparence

Une mauvaise pratique, mais qui est courante est celle de mal hiérarchiser les rôles et mal les distribuer entre les utilisateurs. Cela engendre divers problèmes comme un site non fonctionnel après une modification dans l’éditeur d’apparence et parfois sans mauvaise intention ! Il est alors avantageux de désactiver l’éditeur (dans apparence) dans WordPress en plaçant le code suivant dans votre fichier wp-config.php pour supprimer les capacités ‘edit_themes’, ‘edit_plugins’ et ‘edit_files’ de tous les utilisateurs et évitez les bugs et failles de sécurité.

define('DISALLOW_FILE_EDIT', true);

Défendez-vous contre le Hotlinking

Hotlinking est une pratique consistant à utiliser des images, des vidéos ou d’autres types de fichiers stockés sur un autre site Web en incluant directement le lien de ces fichiers sur votre propre site. Cela signifie que les fichiers sont utilisés et affichés sur votre site, mais ils sont stockés sur un autre serveur, c’est ce qui est utilisé pour éviter de surcharger son propre serveur. Certains le font

  • parce qu’ils ne veulent pas stocker les fichiers sur leur propre serveur
  • parce qu’ils ne veulent pas payer pour l’espace de stockage
  • ou parce qu’ils ne savent pas comment stocker les fichiers sur leur propre serveur.

Mais l’utilisation du hotlinking peut avoir des conséquences négatives pour le propriétaire du site original qui héberge les fichiers. Cela peut entraîner un surcroît de bande passante pour vous (et vous payez la facture), une utilisation excessive des ressources du serveur et une diminution des performances du site. C’est pour cette raison qu’il est recommandé de désactiver le hotlinking sur votre site en utilisant des règles de serveur ou des plugins de WordPress.

Ces deux serveurs web (NGINX et Apache) sont les plus populaires et sont responsables de plus de la moitié du trafic sur Internet et il va de soi qu’il vous sera nécéssaire de savoir vous protéger du Hotlinking si vous utilisez un de deux serveurs (ou si vous utilisez un CDN comme on le verra plus bas)

Prévenir le Hotlinking sur Apache

Pour éviter les hotlinking dans Apache, ajoutez simplement le code suivant à votre fichier .htaccess.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomain.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ <http://dropbox.com/hotlink-placeholder.jpg> [NC,R,L]

La deuxième ligne définit le référent autorisé – le site qui est autorisé à lier directement l’image, cela devrait être votre site web réel. Si vous voulez autoriser plusieurs sites, vous pouvez dupliquer cette ligne et remplacer le référent.

Prévenir le Hotlinking sur NGINX

Pour éviter les hotlinking dans NGINX, ajoutez simplement le code suivant à votre fichier de configuration.

location ~ .(gif|png|jpe?g)$ {
    valid_referers none blocked ~.google. ~.bing. ~.yahoo yourdomain.com *.yourdomain.com;
    if ($invalid_referer) {
        return 403;
    }
}

Prévenir le Hotlinking sur un CDN

Les services CDN ont été créés pour empêcher les “embouteillages” sur le net.

Un réseau de diffusion de contenu (CDN) est un groupe de serveurs géographiquement distribués qui accélèrent la diffusion de contenu Web en le rapprochant de l’endroit où se trouvent les utilisateurs. Cela vous permet de regarder un film, de télécharger un logiciel, de consulter votre solde bancaire, de publier des messages sur les médias sociaux ou de faire des achats, sans avoir à attendre que le contenu se charge.

Il existe plusieurs méthodes pour prévenir le Hotlinking sur un CDN (Content Delivery Network), voici quelques exemples :

  • Utilisez les paramètres du CDN : Certains CDN vous permettent de configurer des règles pour bloquer les liens d’images directes. Vous pouvez utiliser ces paramètres pour bloquer les liens d’images qui ne proviennent pas de votre site web.
  • Pour éviter les hotlinking dans CDN, ajoutez simplement le code suivant à votre fichier .htaccess.
Copy code
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\\.)?votresite.com [NC]
RewriteRule \\.(jpg|jpeg|png|gif)$ – [NC,F,L]
  • Utilisez un plugin: Il existe des plugins pour WordPress, qui peuvent vous aider à protéger vos images et autres ressources, contre le Hotlinking comme Hotlink Protection et No Hotlink.
  • Utilisez des headers spécifiques : Vous pouvez utiliser des headers spécifiques pour empêcher le Hotlinking. Vous pouvez utiliser des headers comme « X-FRAME-OPTIONS » ou « X-Content-Type-Options » pour empêcher les liens directs à vos images.

Défendez-vous contre les DDoS

Une attaque DDoS (Distributed Denial of Service) est une technique utilisée pour rendre un site web inaccessible en surchargeant les serveurs avec une quantité énorme de trafic via plusieurs sources (à l’inverse du DoS qui provient d’une seule source).

Attaque DDOS
Attaque DDOS

Il existe plusieurs façons de se protéger contre une attaque DDoS :

  • Utilisez un service de protection DDoS – Il existe des services tels que Cloudflare, Akamai, et Incapsula qui peuvent protéger votre site contre les attaques DDoS en utilisant des techniques telles que le filtrage d’IP, la détection de botnet et la mise en cache du contenu. Ces services peuvent également répartir le trafic pour éviter la surcharge de vos serveurs.
  • Utilisez un service de détection et de mitigation – Il existe des services de détection et de mitigation (détecter, faire diversion, filtrer, analyser).
  • Utilisez un service de sauvegarde – Les services de sauvegarde tels que BackUp services, BackUp Buddy Stash, ou VaultPress peuvent vous aider à restaurer rapidement votre site après une attaque DDoS.
  • Configurez votre routeur – Il est important de configurer le routeur pour accepter uniquement les paquets de trafic valides et de limiter les connexions simultanées.

Renforcez la sécurité des bases de données

La sécurité de vos bases de données peut être drastiquement améliorée avec ces deux points simples :

  • changez de nom de base de données – En changeant le nom de votre base de données pour un nom plus obscur, cela aide à protéger votre site en rendant plus difficile pour les pirates d’identifier et d’accéder aux détails de votre base de données.
  • changez de préfixe – Une deuxième recommandation est d’utiliser un préfixe différent de table de base de données. Par défaut, WordPress utilise wp. Le remplacer par quelque chose comme 39xw ou autre peut être beaucoup plus sûr.
Schéma fonctionnement base de données
Schéma fonctionnement base de données

La base de données intervient dans la structure même. Il ne s’agit pas d’un élément périphérique et négligeable. Elle joue un rôle majeur et incontournable, il faut donc protéger son accès farouchement.

Sauvegardez, sauvegardez, sauvegardez! (ah oui n’oubliez pas de sauvegarder)

Malgré toutes les couches et surcouches de sécurité que vous avez pu mettre en place les sauvegardes viennent rajouter un revêtement supplémentaire comme une sorte de garantie au cas où malgré tous vos efforts vous soyez tout de même victime d’une attaque pirate.

Un site WordPress va généralement être composé de 2 éléments essentiels :

  • les fichiers du site
    • Ils comprennent les fichiers de base de WordPress, les plugins, les thèmes, les images, les fichiers de code et les pages web statiques. (ils sont généralement stockés dans le répertoire principal public_html)
  • la base de données du site
    • La base de données stocke les données qui ne sont pas incluses dans les fichiers de votre site, comme les articles, les pages et les commentaires.

Donc en conclusion pour effectuer une sauvegarde correcte et complète de votre site WordPress il s’avère nécessaire d’effectuer les deux sauvegardes (fichier et base de données).

Sauvegarde des fichiers du site

La plupart des hébergeurs WordPress infogérés fournissent maintenant des sauvegardes. Si votre hébergeur n’a pas de sauvegardes, il existe des services et extensions WordPress populaires (plugin de sauvegarde) que vous pouvez utiliser pour automatiser le processus comme VaultPress (de l’équipe Automattic, fait maintenant partie de Jetpack)

Sauvegarde de la base de données du site

Vous pouvez utiliser, comme pour la sauvegarde des fichiers, un plugin de sauvegarde pour votre base de données. Ces plugins permettent de planifier des sauvegardes automatiques de la base de données, et peuvent également envoyer les sauvegardes sur un stockage externe tel que le cloud pour une protection supplémentaire. Il en existe plusieurs :

  • UpdraftPlus
  • BackupBuddy
  • WP-DB-Backup

Une méthode de sauvegarde un peu moins connue est l’utilisation de scripts de sauvegarde (et non pas plugin de sauvegarde). Par exemple, vous pouvez utiliser la commande mysql dump pour exporter votre base de données WordPress et enregistrer la sauvegarde sur votre serveur. Ensuite, vous pouvez utiliser un outil de planification de tâches tel que Cron pour exécuter automatiquement le script à une fréquence régulière.

Mettez à jour régulièrement

Vous avez 2 grandes méthodes pour mettre à jour votre version de WordPress :

  • Manuellement (via votre tableau de bord WordPress) : Lorsque des mises à jour sont disponibles pour WordPress, les plugins ou les thèmes, une notification s’affiche dans l’interface d’administration de votre site. Il est donc important de se connecter régulièrement à l’interface d’administration pour vérifier s’il y a des mises à jour disponibles.
  • Automatiquement (via un plugin) – Il existe des plugins WordPress qui automatisent le processus de mise à jour, tels que Easy Updates Manager, WP Updates Notifier, ou Advanced Automatic Updates. Ces plugins peuvent également vous alerter par courriel lorsque des mises à jour sont disponibles, vous permettant de les installer immédiatement.
Mises à jour sur WordPress
Mises à jour sur WordPress

Conclusion

Pour beaucoup d’entre vous, votre site WordPress est à la fois votre entreprise et votre revenu. Il est donc important de prendre un peu de temps et de mettre en œuvre certaines des meilleures pratiques de sécurité mentionnées ci-dessus, le plus tôt possible.

Articles connexes

Discutons ensemble

Réponse rapide de 9 à 19h en semaine.

Choisissez votre moyen de communication préféré pour discuter avec nous.