Plugins de sécurité WordPress – En avez-vous besoin ?

Publié: 2023-03-24

Avec Google fournissant plus de 22 millions de résultats pour les "plugins de sécurité WordPress" et plus de 1 000 plugins de sécurité répertoriés sur la page officielle des plugins WordPress, on ne peut nier leur popularité. Mais la vraie question est :en avez-vous vraiment besoin sur votre site pour commencer ?

En raison de leur seule dénomination et de ce qu'elles sont annoncées comme étant capables de faire pour votre site, certaines solutions dans cet espace se positionnent comme des plugins indispensables pour garantir que WordPress fonctionne en toute sécurité.Vraisemblablement, pour que vous puissiez cesser complètement de vous soucier de la sécurité.

C'est loin de la réalité.

En fait, l'utilisation d'un plugin de sécurité WordPress mal construit peut en fait ralentir votre site - en ajoutant des fonctionnalités qui devraient normalement se produire au niveau du réseau avant même que la demande n'ait besoin d'être traitée par votre serveur.

Alors, sans plus tarder, plongeons dedans.

Avez-vous besoin d'un plugin de sécurité WordPress ?

Chaque site Web est une cible potentielle pour les pirates malveillants - certains sont des cibles plus importantes que d'autres. Ce n'est pas un secret.

La publication populaire Fast Company a récemment (au moment de la rédaction de cet article)vu ses systèmes violés par quelqu'un qui a ensuite envoyé des notifications Apple News offensantes.

Les personnes essayant d'accéder à des sites avec une intention malveillante ne ciblent pas nécessairement les grandes entreprises. Les petites et moyennes entreprises pourraient potentiellement représenter une cible plus facile si elles assument cela, prenant peut-être moins de précautions en conséquence.

Au-delà des tracas liés à la gestion de la situation, du temps perdu et de la perte de revenus que votre site aurait pu générer alors qu'il restait inaccessible, les entreprises ont l'obligation légale de protéger les informations des clients. Cette obligation s'accompagne d'un risque d'action réglementaire.

Il va sans dire que personne ne veut être victime d'une attaque. Mais étant donné que l'écosystème mondial des sites WordPress était évalué indépendamment à environ 635,5 milliards de dollars (USD), il n'est pas surprenant que la vente de la promesse de sécurité se soit avérée être une bonne opportunité commerciale.

Comment les pirates attaquent-ils les sites WordPress

WordPress est open-source, donc les vulnérabilités découvertes dans le noyau de WordPress et tous les thèmes ou plugins finissent par être rendus publics. Malheureusement, cela peut se produire avant que WordPress ne soit en mesure de publier un correctif pour la vulnérabilité, créant ainsi une fenêtre d'opportunité pour ceux qui ont de mauvaises intentions. Les mauvais acteurs sont bien conscients de cette opportunité, ce qui leur permet de commencer à cibler automatiquement les sites quipourraientexécuter le thème ou le plugin vulnérable - pour voir ce qui est possible.

Même sans ces vulnérabilités, il est assez courant pour les personnes et les bots d'utiliser des attaques par force brute pour tenter d'accéder à un site. Cela implique l'envoi répété de plusieurs demandes de connexion dans le but d'identifier les comptes d'utilisateurs qui utilisent des combinaisons de nom d'utilisateur et de mot de passe par défaut ou courantes.

Il existe de nombreuses façons possibles de pirater un site WordPress, c'est pourquoi une approche large au niveau du serveur est si importante .Certains des risques de piratage les plus probables sont les suivants :

Attaques par force brute : Ce type d'attaque consiste à essayer à plusieurs reprises différentes combinaisons de nom d'utilisateur et de mot de passe pour tenter d'accéder au panneau d'administration d'un site.

SQL Injection : Ce type d'attaque consiste à injecter du code malveillant dans la base de données d'un site Web, qui peut ensuite être utilisé pour voler des informations sensibles ou perturber les fonctionnalités du site.

Cross-Site Scripting (XSS) : Ce type d'attaque consiste à injecter un code malveillant dans un site Web, qui est ensuite exécuté par le navigateur de l'utilisateur.Cela peut être utilisé pour voler des informations sensibles, telles que les identifiants de connexion, ou pour rediriger les utilisateurs vers un site Web malveillant.

Injection de fichiers : ce type d'attaque consiste à télécharger des fichiers malveillants sur un site Web, tels que des portes dérobées ou des logiciels malveillants.Ces fichiers peuvent ensuite être utilisés pour obtenir un accès non autorisé au site.

Logiciel obsolète : Si un site Web n'est pas mis à jour régulièrement, il peut présenter des vulnérabilités qui peuvent être exploitées par des pirates.

Phishing : Ce type d'attaque incite les utilisateurs à fournir des informations sensibles telles que des identifiants de connexion, des numéros de carte de crédit et d'autres informations personnelles en créant une fausse page de connexion.

Pourquoi les plugins de sécurité ne sont pas le choix intelligent

En raison de la façon dont les plugins fonctionnent, ils ne fonctionnent qu'une fois qu'une requête atteint le serveur. Cela signifie qu'il est uniquement possible pour le plugin de sécurité de contester les choses au niveau PHP. Par exemple, cela pourrait inclure une connexion avec un mécanisme pour empêcher un éventuel accès non autorisé une fois que le serveur a reçu la demande.

Le résultat de ceci est, bien sûr, la consommation de ressources serveur supplémentaires à chaque demande adressée au serveur car il se situe entre la demande et le début du traitement de la sortie. Évidemment, ce n'est même pas infaillible : pluginvulnerabilities.com a testé 31 plugins de sécurité contre une vulnérabilité zero-day, et seuls 6 d'entre eux ont pu repousser l'attaque.

Les plugins de sécurité WordPress doivent être entièrement chargés avant de pouvoir commencer à traiter le trafic. Cela signifie que ces plugins consommeront des ressources même si votre site Web n'est pas attaqué .

Il n'est pas rare non plus que les plugins de sécurité WordPress aient eux-mêmes leurs propres vulnérabilités , et celles-ci peuvent également être exploitées par des pirates.

Par exemple, Wordfence, un plugin de sécurité populaire avec plus de 4 millions d'utilisateurs, a signalé plusieurs vulnérabilités, telles que Cross Site Scripting et Broken Access Control au fil des ans. Ces vulnérabilités ont été rapidement corrigées, mais cela ne change rien au fait que les systèmes ont été exposés, bien que pour une courte période.

Il y a aussi le danger que les plugins de sécurité puissent créer un faux sentiment de sécurité .Il est déjà arrivé qu'un administrateur de site installe un plugin de sécurité populaire, pensant qu'il protégerait son site de tous les types d'attaques, négligeant d'autres mesures de sécurité importantes telles que des mises à jour logicielles régulières, des mots de passe forts, une authentification à deux facteurs. , et sauvegardes.

Un autre problème que nous avons vu est celui où les plugins de sécurité causentdes problèmes de compatibilité avec les thèmes existants ou d'autres plugins.Dans certains cas, ce conflit peut rendre votre site vulnérable aux attaques.

Et il est également assez courant de rencontrerdes faux positifs en utilisant des plugins de sécurité.Les plugins trop pressés peuvent signaler des actions légitimes comme malveillantes, ce qui peut entraîner de fausses alarmes et des désagréments pour les administrateurs et les utilisateurs.

L'essentiel est qu'en ce qui concerne la sécurité de votre site WordPress,il n'y a pas de solution de plug-in que vous pouvez utiliser pour le définir et l'oublier .La sécurité est une bête organique en évolution qui nécessite une vigilance constante.

Existe-t-il des plugins de sécurité qui valent la peine d'être utilisés ?

Alors, comment protéger un site Web WordPress ?

Pour commencer, travaillez avec un fournisseur d'hébergement WordPress qui apporte des compétences en matière de sécurité, d'évolutivité et de performances - comme nous le faisons chez Servebolt. Nous faisons le gros du travail lié à la sécurisation complète de l'infrastructure sous-jacente de vos sites.

Au-delà de cela, vous voulez que toutes les requêtes malveillantes (et potentiellement malveillantes) soient bloquées avant même qu'elles n'atteignent votre serveur - avant qu'elles n'aient la possibilité de consommer des ressources afin que vous puissiez offrir la meilleure expérience possible auxvrais visiteurs du site Web.

Un exemple de ce type de solution est Cloudflare. Cloudflare est une entreprise qui fournit une variété de services de sécurité Internet, notamment un réseau de diffusion de contenu (CDN), un système de noms de domaine (DNS) et un pare-feu d'application Web (WAF). Ces services fonctionnent ensemble pour protéger les sites Web contre plusieurs formes de cyberattaques, telles que les attaques DDoS, l'injection SQL et les scripts intersites (XSS). Cloudflare offre également des fonctionnalités supplémentaires telles que le cryptage SSL/TLS, ainsi qu'un système de gestion de robots pour améliorer encore la sécurité d'un site Web.

Chez Servebolt, en plus de cette approche, nous proposons deux services proactifs gérés, Accelerated DomainsetServebolt CDN, qui peuvent renforcer la sécurité de votre site Web.Ils sont construits sur l'offre Enterprise de Cloudflare, et nous offrons deux domaines gratuits à tous les clients qui s'inscrivent.

Nous utilisons à la fois des produits de sécurité basés sur serveur, ainsi que la construction au-dessus du WAF de Cloudflare lorsqu'il est mis en œuvre par notre intermédiaire. Nous ajoutons des mesures de sécurité supplémentaires pour réduire les tentatives de piratage, ainsi que pour empêcher l'accès direct au serveur lors de l'utilisation de Cloudflare afin de réduire les tentatives de piratage par force brute. Ces mesures sont configurées pour bloquer automatiquement les requêtes potentiellement dangereuses et ne nécessitent aucune configuration ni maintenance .

Cela mis à part, certains plugins peuvent améliorer la sécurité de votre site, bien qu'ils ne fournissent en aucun cas une solution unique :

  • Two-Factor :Ce plugin est développé par l'équipe WordPress et permetl'authentification à deux facteursà l'aide de mots de passe à usage unique basés sur le temps (OTP, Google Authenticator), Universal 2nd Factor (FIDO U2F, YubiKey), e-mail et vérification de sauvegarde codes.

Si vos informations d'identification sont divulguées sur Internet, votre serveur peut être piraté même si la plupart du trafic malveillant est bloqué par un pare-feu.Nous vous recommandons fortement d'utiliser l'authentification à deux facteurs pour dissuader les mauvais acteurs.

Une alternative que nous utilisons chez Servebolt est Cloudflare Access .

  • Patchstack &WPScan:Un scanner de vulnérabilité tel que Patchstack ou WPScan peut être utile pour suivre les vulnérabilités. WP Scan, par exemple, vérifie en permanence les menaces sur votre serveur par rapport à une base de données connue de plus de 37 000 vulnérabilités maintenue par des professionnels de la sécurité WordPress. Si une menace est détectée, elle peut déclencher unenotification par e-mail ou via un webhook personnalisé avec toutes les informations et recommandations nécessaires pour résoudre le problème.

Conseils pour renforcer votre site WordPress

L'utilisation de domaines accélérés ou de CDN Servebolt sécurise votre site contre de nombreuses attaques bien connues. Ils implémentent automatiquement la limitation du taux de connexion et XML-RPC pour se protéger contre les attaques malveillantes par force brute sur la page de connexion de votre site. Mais vous pouvez encore améliorer votre sécurité en mettant en œuvre les pratiques de sécurité supplémentaires suivantes sur votre site Web.

Limitation de l'accès aux fichiers

Chaque fichier et dossier de votre serveur est associé à des droits d'accès qui spécifient qui peut lire, écrire et exécuter le fichier ou le répertoire donné. Bien que le fait d'avoir des autorisations ouvertes sur les actifs publics de votre site puisse ne pas sembler être un gros problème, c'est certainement une mauvaise pratique. De plus, certains fichiers sensibles, tels que .htaccessetwp-config.php,doivent être verrouillés en toute sécurité.

Nous vous recommandons de verrouiller autant que possible tous les fichiers sensibles et de n'assouplir brièvement ces autorisations que lorsque vous en avez absolument besoin.

Pour.htaccess, vous devez modifier le niveau d'autorisation à 644 - cela accorderait au propriétaire du fichier un accès en lecture-écriture, tous les autres utilisateurs pouvant uniquementlirele fichier.

Vous pouvez restreindre encore plus ces autorisations pour le fichierwp-config.phpen définissant le mode d'autorisation sur400 ou 440, ce qui signifie que seul le propriétaire (ou, éventuellement, également d'autres membres du groupe sélectionné) peut lire le fichier, tandis que les modifications ne peut être effectué que par l'utilisateur root.

Examinons en détail les exigences d'autorisation pour des répertoires WordPress spécifiques :

  • Répertoire racine de WordPress (/) :

Tous les fichiers, à l'exception de.htaccess, ne doivent être accessibles en écriture que par votre compte - définissez le mode d'autorisation sur 644 pour tous les fichiers sauf.htaccess.

  • Espace d'administration WordPress (/wp-admin/) :

Tous les fichiers doivent être accessibles en écriture uniquement par votre compte - définissez le mode d'autorisation sur 644 pour tous les fichiers.

  • Logique d'application WordPress (/wp-includes/) :

Tous les fichiers doivent être accessibles en écriture uniquement par votre compte - définissez le mode d'autorisation sur 644 pour tous les fichiers.

  • Contenu fourni par l'utilisateur (/wp-content/) :

Ce répertoire est destiné à être accessible en écriture à la fois par vous et par le processus du serveur Web - définissez le mode d'autorisation sur 664 pour tous les fichiers.

Cependant, dans le répertoire /wp-content/, vous pouvez trouver :

  • Fichiers de thème (/wp-content/themes/) :

Si vous souhaitez utiliser l'éditeur de thème intégré, tous les fichiers doivent être accessibles en écriture par le processus du serveur Web. Si vous n'avez pas besoin d'utiliser l'éditeur, tous les fichiers ne peuvent être écrits que par votre compte d'utilisateur.

  • Fichiers de plug-ins (/wp-content/plugins/) :

Tous les fichiers doivent être accessibles en écriture uniquement par votre compte d'utilisateur. Cependant, certains plugins tiers peuvent avoir besoin d'un accès en écriture. Nous vous recommandons de supprimer les autorisations d'écriture et de les accorder uniquement à des plugins spécifiques au cas par cas.

Désactiver l'exécution de fichiers PHP dans les répertoires sélectionnés

Vous pouvez encore améliorer la sécurité de votre site Web WordPress en limitant l'exécution des fichiers PHP dans les répertoires où cela n'est pas nécessaire.

Le premier emplacement où vous devez le désactiver est votre dossier/wp-content/car un utilisateur peut télécharger un script PHP malveillant et essayer de l'exécuter.

Vous pouvez désactiver l'exécution de PHP en créant un fichier nommé.htaccessdans le dossier souhaité et en y collant le code suivant :

 <Fichiers *.php>

refuser de tous

</Fichiers>

Le code ci-dessus crée une règle qui interdit l'exécution de tout fichier PHP dans le répertoire spécifié. Cela signifie que même si un pirate injecte du code PHP malveillant dans un fichier, il ne peut pas s'exécuter sur le serveur, évitant ainsi tout dommage à votre site Web.

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

La navigation dans les répertoires est une fonctionnalité des serveurs Web qui affiche tous les fichiers et répertoires disponibles dans un répertoire donné d'un site Web. Lorsqu'il est activé, n'importe qui sur Internet peut voir tout le contenu sur n'importe quel chemin du site Web. Il s'agit d'un risque de sécurité majeur car il peut révéler des informations confidentielles et la configuration du serveur.

Par exemple, si quelqu'un visitait https://www.example.com/static , il pourrait voir (et télécharger) tous les fichiers présents dans ce chemin. Il est fortement recommandé de désactiver cette fonctionnalité. Vous pouvez le faire en ajoutant la ligne suivante à votre fichier.htaccess.

 Options -Index

Utilisez Fail2ban pour arrêter les attaques par force brute

Fail2ban est un utilitaire pour les serveurs qui peut créer dynamiquement des règles de pare-feu pour bloquer les adresses IP en fonction d'une condition prédéfinie. Vous pouvez l'utiliser avec WordPress pour bloquer temporairement un utilisateur s'il ne parvient pas à se connecter 3 fois de suite.

N'utilisez pas le nom d'utilisateur "admin"

Pour un pirate informatique, un compte avec des privilèges d'administrateur équivaut aux joyaux de la couronne - les comptes d'administrateur peuvent déverrouiller toutes les portes du serveur. Sans surprise, il s'agit du premier compte ciblé par les pirates. C'est une bonne idée d'utiliser un nom différent pour ce compte administrateur afin de rendre ce processus plus difficile pour eux et de dissuader toute attaque par force brute.

Si vous utilisez toujours le nom d'utilisateur "admin", vous devez créer un deuxième compte avec un nom différent et lui accorder un accès administrateur.Connectez-vous à votre deuxième compte et supprimez l'ancien compte administrateur.

Restreindre les privilèges des utilisateurs de la base de données

La sécurité de la base de données est d'une importance primordiale pour tout site Web. Lors de l'installation de plusieurs sites sur votre serveur, créez des bases de données et des utilisateurs distincts pour chaque site. Cela rend plus difficile pour les intrus d'accéder à l'ensemble du système et de voler des informations personnelles.

Vous devez également configurer correctement les privilèges du compte MySQL et désactiver toutes les fonctionnalités inutiles, telles que la connexion TCP à distance. Vous pouvez également limiter les tentatives de connexion si l'utilisateur de la base de données ne se trouve pas dans un emplacement sur liste blanche. Par exemple, vous pouvez bloquer l'accès aux connexions root si la connexion n'a pas été initiée sur l'hôte local.

De plus, WordPress n'a besoin que des autorisations de lecture et d'écriture sur une base de données MySQL pour les fonctions normales. Si vous n'accordez que SELECT, INSERT, UPDATE et DELETE à votre utilisateur de base de données, tout fonctionnera toujours correctement. Cependant, les plugins tiers et les mises à jour WordPress peuvent parfois provoquer des erreurs lorsqu'ils tentent de modifier le schéma de la base de données ou de créer une nouvelle table. Lisez attentivement les notes de version et la documentation de chaque plugin si vous utilisez cette mesure de sécurité.

Changer l'URL wp-admin

Pour rendre plus difficile pour les pirates de lancer des attaques par force brute sur votre site WordPress, envisagez de changer l'URL par défaut de votre tableau de bord d'administration en quelque chose d'obscur. Pour ce faire, vous pouvez utiliser un plugin tel que WPS Hide Login ou Change wp-admin login , qui vous permet de personnaliser facilement votre URL de connexion.

Désactiver l'édition de fichiers

La fonction d'édition de fichiers de WordPress permet aux administrateurs de modifier directement les fichiers de thème et de plug-in à partir du tableau de bord. Bien que cela soit utile lors de la configuration du site, cela peut poser un risque de sécurité si le compte administrateur est compromis. La désactivation de la fonctionnalité d'édition de fichiers atténue ce risque.

Cela réduira également les modifications accidentelles et renforcera la documentationdes modifications, car toutes les nouvelles révisions seront suivies sur le contrôle de version et devront passer par des tests avant d'être mises en ligne sur le site.

Pour désactiver l'édition de fichiers dans WordPress, vous pouvez ajouter la ligne de code suivante au fichier wp-config.php de votre site :

 définir ('DISALLOW_FILE_EDIT', true );

Modification du préfixe de la base de données

WordPress utilise une chaîne de texte commune dans tous les noms de table pour faciliter l'identification. La modification de ce préfixe rend difficile pour les acteurs malveillants de deviner les noms de vos tables lors de l'exécution d'attaques par injection SQL et d'autres formes d'exploitation de bases de données.

Bien que cela puisse sembler être une petite amélioration insignifiante, la plupart des attaques sur Internet sont effectuées par des robots automatisés qui ne visent que des fruits à portée de main. En modifiant la valeur par défaut, vous pouvez vous défendre contre la plupart des attaques automatisées .

Votre préfixe de base de données actuel est stocké dans le fichier wp-config.php de votre répertoire racine WordPress. La valeur par défaut ressemble à ceci.

 $table_prefix = 'wp_';

Vous pouvez remplacer le préfixe "wp_" par un nouveau préfixe unique de votre choix. Gardez à l'esprit que vous n'êtes autorisé à utiliser que des lettres, des chiffres et des traits de soulignement. Par exemple:

 $table_prefix = 'my_custom_prefix_123_';

Après avoir enregistré les modifications apportées au fichier wp-config.php, vous devrez mettre à jour manuellement les tables SQL existantes avec les nouveaux noms. Si vous ne savez pas comment procéder, vous pouvez utiliser un plugin tel que Brozzme DB Prefix .

Déconnecter automatiquement les utilisateurs inactifs

L'implémentation d'une fonction de déconnexion automatique dans WordPress peut aider à améliorer la sécurité de votre site en mettant automatiquement fin aux sessions des utilisateurs après une période d'inactivité spécifiée. Cette fonctionnalité peut aider à empêcher l'accès non autorisé à votre site au cas où un utilisateur oublie de se déconnecter ou s'il laisse son appareil sans surveillance.

Pour implémenter une fonctionnalité de déconnexion automatique dans WordPress, vous pouvez utiliser un plugin tel que Inactive Logout . Cela aidera à protéger la vie privée des utilisateurs en garantissant que les informations sensibles ne sont pas accessibles aux personnes non autorisées.

Rapport après action - Agissez dès aujourd'hui pour protéger votre site et votre réputation

30 000 sites Web sont piratés chaque jour , et avec WordPress alimentant 43 % du Web, cela représente un potentiel de 12 900 sites WordPress sérieusement compromis chaque jour.

Malheureusement, les conseils disponibles en ligne détaillant comment sécuriser un site WordPress sont vagues, obsolètes ou tout simplement faux. C'est ce mauvais conseil, le recours uniquement à des plugins tiers et l'hypothèse selon laquelle une fois la sécurité définie, vous pouvez l'oublier, qui entraînent un si grand nombre de ces violations.

Bien que la sécurité ne soit jamais "terminée", cela ne doit pas être un casse-tête, et la plupart des conseils de cet article sont assez simples pour la plupart. Bien sûr, avoir une société d'hébergement Web solide qui prend la sécurité aussi au sérieux qu'elle le devrait est une première étape majeure pour la plupart.

Des questions sur la sécurisation de vos sites WordPress ?N'hésitez pas à nous contacter et nous serons heureux de vous expliquer comment le Servebolt Cloud peut vous aider à offrir la meilleure expérience possible à vos visiteurs. Ou, si ce guide a déjà répondu à toutes vos questions et que vous êtes prêt à essayer l'approche Servebolt…

Intéressé par un hébergement géré qui est empiriquement plus rapide ? Essayez notre approche de l'hébergement WordPress :

  • Évolutivité : dans les tests de charge de travail des utilisateurs réels, Servebolt a fourni des temps de réponse moyens de 65 ms, soit des temps de réponse 4,9 fois plus rapides que le deuxième meilleur.
  • Les temps de chargement mondiaux les plus rapides : les temps de chargement moyens des pages de 1,26 seconde nous placent en tête de la liste des résultats mondiaux de WebPageTest.
  • La vitesse de calcul la plus rapide : les serveurs Servebolt offrent des vitesses de base de données sans précédent, traitant 2,44 fois plus de requêtes par seconde que la moyenne et exécutant PHP 2,6 fois plus vite que le deuxième meilleur !
  • Sécurité et disponibilité parfaites : avec une disponibilité de 100 % sur tous les moniteurs et une note A+ sur notre implémentation SSL, vous pouvez être assuré que votre site est en ligne et sécurisé.