Pourquoi et comment sécuriser un site WordPress?

Pourquoi et comment faut-il absolument sécuriser son site Web?
Avant de parler de la sécurité d’un site WordPress, parlons d’abord de la sécurité d’un site web
Je ne vais pas vous faire un cours détaillé sur la sécurité et tous les risques qui y sont liés.
Mon objectif est plutôt de vous donner un aperçu clair des enjeux de la sécurité web, afin que vous preniez conscience de vos responsabilités en tant que propriétaire de site. En effet, être informé des risques est essentiel pour adopter les bonnes pratiques en matière de protection des données et de cybersécurité.
En cas de piratage et de dépôt de plainte contre vous, la loi exige que vous soyez en mesure de démontrer que vous avez pris toutes les mesures raisonnables pour assurer au mieux de vos possibilités la sécurité des données de vos clients et utilisateurs.
La sécurité des sites web
La sécurité des sites web est souvent négligée, et bien souvent, un propriétaire de site est freiné par les coûts et ne réalise son importance que lorsqu’il est trop tard. Malheureusement, il est généralement impossible de revenir en arrière après une attaque, sauf dans de rares cas où une sauvegarde intacte est disponible.
La première règle en matière de sécurité web est la suivante :
LA TOTALE SÉCURITÉ DES SITES INTERNET EST UNE UTOPIE.
Peu importe votre CMS, votre hébergeur ou la renommée de votre webmaster (de votre agence web), quiconque vous promet une sécurité absolue pour votre site est un charlatan.
Si une protection totale était possible, le Pentagone, la CIA et toutes les agences gouvernementales n’investiraient pas des milliards en cybersécurité et ne subiraient jamais de piratages. Le fait même qu’ils aient été attaqués prouve qu’aucun système n’est infaillible.
Cependant, cela ne signifie pas qu’il faille renoncer à la sécurité par fatalisme. Des mesures efficaces existent pour protéger au mieux votre site contre la grande majorité des menaces.
Table des matières
Sécurité : quels sont les risques ?
Les menaces varient en fonction du type de site web et des technologies utilisées (CMS, base de données, etc.). Il existe de nombreuses techniques de piratage, autant qu’il existe de failles potentielles.
Le vol de données clients
Les pirates cherchent principalement à voler des bases de données clients contenant des informations précieuses, notamment :
- Adresses e-mail
Identifiants et mots de passe
- Coordonnées bancaires
- Données personnelles
Ces fichiers sont ensuite revendus à prix d’or sur le marché noir.
Si votre site stocke des données sensibles, vous avez une responsabilité légale quant à leur protection. En cas de fuite, vous êtes tenu de signaler l’incident aux autorités, ce qui peut gravement nuire à votre réputation.
Le détournement de visiteurs
Les hackers peuvent modifier votre site pour rediriger vos visiteurs vers des pages frauduleuses (technique de phishing). Une fois sur ces sites, ils peuvent :
- Voler des identifiants en imitant votre interface de connexion
- Installer des virus ou malwares sur l’ordinateur des visiteurs
- Subtiliser des informations bancaires
Hacktivisme (défiguration de site internet)
Certains groupes de hackers piratent des sites pour y afficher des messages politiques ou idéologiques. Ces attaques visent à dénoncer une cause en exploitant la visibilité du site ciblé.
Blackhat SEO spam
Dans cette forme d’attaque, les pirates injectent des liens frauduleux dans votre site pour rediriger les visiteurs vers des pages publicitaires et ainsi générer des revenus illicites.
Attaques DDoS : utilisation de votre serveur pour envoyer des spams
Une attaque DDoS (Déni de Service Distribué) sature votre serveur de requêtes pour le rendre inaccessible. Parfois, les hackers exploitent votre serveur pour envoyer du spam, ce qui peut entraîner :
- Une surcharge de votre bande passante
- Un blacklistage de votre domaine par les fournisseurs de messagerie
- Une perte de crédibilité auprès des utilisateurs
Vol de contenu et usurpation commerciale
Certains hackers créent des copies illégales de votre site pour tromper les clients et réaliser des arnaques. Par exemple, ils peuvent :
- Vendre vos produits sans jamais les livrer, ternissant votre réputation
- Utiliser un bot pour aspirer les fiches produits de votre boutique
- Saturer votre serveur en interrogeant constamment votre base de données
Les attaques les plus fréquentes sur le web
Votre site peut être victime de plusieurs types d’attaques, parmi lesquelles :
Attaques par déni de service (DDoS)
- TCP SYN Flood : inondation de requêtes pour faire planter un serveur
- Botnets : utilisation d’ordinateurs infectés pour surcharger un site
- Teardrop : fragmentation de paquets pour provoquer un crash système
- Ping of Death : envoi de paquets anormalement grands pour planter le serveur
Attaques de type "Homme au milieu" (MitM)
Un pirate intercepte la connexion entre l’utilisateur et le serveur pour voler des identifiants ou injecter du contenu malveillant.
Injection SQL
Les hackers exploitent une faille dans un formulaire ou une requête mal sécurisée pour prendre le contrôle de la base de données.
XSS (Cross-Site Scripting)
Un pirate injecte du code malveillant dans votre site, permettant par exemple de voler les cookies de session des utilisateurs.
Attaques par force brute
Les hackers testent des milliers de combinaisons de mots de passe jusqu’à trouver le bon et accéder à votre site.
Protéger son site WordPress des hackers
- La base de la base à mon sens, est de choisir un hébergeur qui propose un firewall. Cela ne vous empêchera pas d'avoir besoin d'un autre firewall, mais si votre hébergeur en propose un, non seulement, vous serez mieux protégé, mais en plus, le plugin de sécurité que vous installerez aura moins de requêtes à traiter, ce qui évitera des surcharges du serveur, ralentissant votre site.
- Installer un plugin de sécurité pour votre site WordPress. Il existe de nombreux plugin que vous trouverez sur les extensions disponibles pour WordPress. J'en ai testé personnellement, quelques unes, mais beaucoup limitent les protection afin de vous poussez à acheter la version pro, ce qui peut-être une bonne chose pour ceux qui peuvent se le permettre. Pour ma part, après de nombreux essai, pour mes clients, j'en ai sélectionné un qui est extrêmement efficace, et propose un très large panel de protection dès la version gratuite.
- Installez un HoneyPot : Le pot de miel est un champ invisible sur votre page de connexion, les personnes qui se connectent ne le voient pas, et donc ne le remplissent pas, alors qu'un robot va remplir tous les champs. Si le champ est rempli, l'accès est refusé, s'il est vide, la vérification du HonneyPot est validée.
- Installez un Captcha. Le plus courant est Google reCaptcha, mais il en existe bien d'autre. Consultez votre plugin de sécurité pour voir s'il ne propose pas l'option, auquel cas, activez la. Sinon installez un plugin qui le fera.
- Installer un plugin de double authentification (2FAS) : le principe est simple. Sur votre téléphone installez une application qui gère la double authentification (exemple : Microsoft authenticator). Rendez-vous dans votre wordpress et installez un plugin de double authentification (mais regardez d'abord si votre plugin de sécurité ne propose pas cette option). Rendez-vous dans votre profil, ou dans le panneau de contrôle du Plugin 2FAS, et ouvrez votre application Microsoft authenticator, créer un nouvel accès et scannez le QR code présenté sur votre site. Vérifiez que les deux code, sur votre téléphone et sur WordPress sont identiques, et si c'est le cas, enregistrez l'accès sur votre téléphone, et vérifiez bien, que dans les paramètres du plugin, la double authentification est activée.
Ainsi, pour vous authentifier, selon l'application, une fois que vous aurez saisi votre identifiant et mot de passe vous devrez soit autoriser l'acces à votre site par le téléphone, soit saisir le code d'authentification dans l'appli de votre téléphone. - A manier avec la plus extrême des prudence, mais, il est possible d'augmenter nettement la sécurité de votre site internet grâce à des règles à implanter dans votre fichier .htaccess à la racine de votre site, et dans les répertoires sensibles. Mais, attention, la moindre faute et votre site peut se retrouver en panne, et si vous ne faites pas les choses correctement, vous pouvez, au contraire, ouvrir des failles de sécurité. Il convient d'être très prudent avec ce fichier. Il est aussi difficile d'aller plus loin dans les explications concernant le ficher caché .htaccess, car, son contenu dépendra de votre type de serveur, mais le web regorge de solutions pour vous aider.
- Pour les plus doué d'entre vous, aptes à programmer, il est possible d'implanter des règles de filtrage dés l'entrée de votre site dans le fichier index.php, avant même que WordPress ne soit chargés. Les plugins interviennent après le chargement de WordPress. Ici, il est question d'intervenir "dès la porte d'entrée" afin de filtrer les requêtes, notamment des bots qui surcharges inutilement votre bande passante.
Il y a plusieurs types de bots (robots d'exploration, aussi appelé crawler) qui parcourent le web pour récolter des informations.
-> les bots légitimes des moteurs de recherche (googlebot, bingbot, yahoobot, applebot, duckduckgo bot, etc).
-> des bots légitimes, mais qui font tellement de requêtes sur votre site qu'il s'en trouve extrêmement ralenti. Personnellement, j'ai choisi de bloquer ces bots, qui rapportent peu en terme de référencement, mais qui utilisent surtout votre site, pour récolter des données, leurs permettant de faire valoir leurs prestation (Semrushbot, Ahrefbot, etc).
NOTA-BENE : les bots légitimes, respectent les consignent fixées dans votre fichier robots.txt.
-> les bot malveillants : les premiers à bloquer. La seule solution pour les repérer est de consulter les logs (fichiers journaux) des requêtes effectuées sur votre site (Si vous installez un plugin de sécurité, la plupart d'entre eux vous fournissent des logs). Et là, commence un travail de fourmi pour trouver les bots illégitimes, car il va vous falloir éplucher des centaines, voire des milliers de ligne selon votre nombre de visite. Et il vous faudra trouver les bot aux noms suspects, ceux qui masquent le nom de leur agent utilisateur (user-agent), et faire des recherches. C'est un travail de titan indispensable. C'est pour cette raison que le suivi de la sécurité est un travail coûteux, et que beaucoup de propriétaires de sites refusent d'investir dans une prestation de surveillance. Ils se reposent sur les plugins, et priant le ciel pour qu'il fasse tout le travail.
Ce qu'ils oublient, c'est que les hackers ne se reposent pas. Ils programment des robots qui travaillent pour eux, et certains travaillent à la main, site le site visé en vaut le coup. Et maintenant, ils travaillent même avec le support de l'IA.
Lorsque vous consulterez vos log, il vous arrivera même de trouver des bots illégitimes qui se font passer pour des bots légitimes, comme ceux qui annoncent être des Googlebot afin de pouvoir passer au travers des mailles du firewall.
Le meilleur moyen est de mettre en place un script de filtrage au niveau de votre fichier index.php (porte d'entrée de votre site), qui effectue une vérification DNS et DNS reverse de tous les bots majeurs qui prétendent être des bots des bots légitime, mais qui n'en sont pas, afin de ne laisser passer que les véritable robots appartenant à Google, Yahoo, etc.
Vous pouvez ensuite aussi, blacklister les mauvaise IP, même si cette protection et temporaire puisque les hacker changent de serveurs, passent par des ordinateurs piratés (privés ou entreprises) pour masquer leurs traces. Mais le blacklistage est une démarche qui n'est pas inutile.
Conclusion
La cybersécurité est un sujet crucial pour tout propriétaire de site web. Bien qu’il soit impossible d’éliminer totalement les risques, des mesures simples et efficaces permettent de protéger son site contre la plupart des attaques, et des mesures un peu plus complexes vous permettront de booster la sureté de votre site, car n'oubliez pas que vous êtes responsables des données de vos utilisateurs.
Dans le prochain article, nous verrons comment sécuriser un site WordPress efficacement.