🌚 🌞

Comment protéger votre site WordPress et renforcer la sécurité

Par kevin le 31 Jan 2024 , mis à jour le 06 Déc 2024

WordPress est un CMS puissant et populaire, mais sa popularité en fait une cible de choix pour les hackers. Protéger votre site est essentiel pour garantir la confidentialité des données, la continuité de vos activités et éviter les désagréments liés aux piratages. Dans cet article, nous explorons des stratégies complètes pour renforcer la sécurité de votre site WordPress.

Renforcez les Accès à Votre Site

La sécurité de votre site WordPress commence par un contrôle strict des accès. En protégeant les points d’entrée les plus sensibles, vous réduisez considérablement le risque d’attaques malveillantes. Voici quelques pratiques essentielles pour garantir que seuls les utilisateurs autorisés puissent accéder à votre site.

Utilisez des mots de passe forts

Assurez-vous que tous les mots de passe (admin, FTP, base de données, etc.) sont longs, complexes, et uniques.
Utilisez un gestionnaire de mots de passe pour vous aider à les gérer.

Modifiez le nom d’utilisateur administrateur par défaut

Remplacez « admin » par un nom d’utilisateur personnalisé et difficile à deviner.

Activez l’authentification à deux facteurs (2FA)

Des plugins comme Google Authenticator, SecuPress ou Wordfence permettent d’ajouter une couche de sécurité supplémentaire.

Limitez les tentatives de connexion

Utilisez des plugins comme Limit Login Attempts Reloaded pour bloquer les IP après plusieurs tentatives échouées.

Sécurisez Vos Fichiers Systèmes

Protégez votre fichier .htaccess

Ajoutez les règles suivantes pour bloquer l’accès aux fichiers sensibles :

<Files wp-config.php>
order allow,deny
deny from all
</Files>

<Files .htaccess>
order allow,deny
deny from all
</Files>

Protection contre les attaques DDoS et les tentatives de connexion excessives

Vous pouvez limiter le nombre de connexions par minute depuis une même IP dans votre .htaccess pour prévenir les attaques par force brute :

<Limit GET POST>
  Order Deny,Allow
  Deny from all
  Allow from 192.168.1.1
</Limit>

Remplacez 192.168.1.1 par l’IP que vous souhaitez autoriser, ou laissez-le vide pour bloquer toutes les IP.

Protection contre l’exécution de scripts PHP dans certains dossiers

Pour empêcher l’exécution de scripts PHP dans des répertoires comme /wp-content/uploads/, vous pouvez ajouter cette ligne dans votre .htaccess :

<Directory "/wp-content/uploads">
  <Files "*.php">
    Deny from all
  </Files>
</Directory>

Cela empêche l’exécution de fichiers PHP dans des dossiers où ils ne sont pas censés être exécutés, comme dans les dossiers d’uploads.

Empêcher l’accès à certains fichiers sensibles

Certaines parties sensibles de WordPress peuvent être ciblées par des attaques, comme wp-config.php ou les fichiers de sauvegarde.
Voici quelques règles à ajouter dans votre .htaccess pour les protéger :

# Bloque l'accès au fichier wp-config.php
<Files wp-config.php>
  Order allow,deny
  Deny from all
</Files>
# Empêche l'accès aux fichiers de sauvegarde (exemple)
<Files ~ "^.*\.bak$">
  Deny from all
</Files>

Désactivez la navigation des répertoires

Ajoutez cette ligne dans votre .htaccess pour empêcher les visiteurs de parcourir vos répertoires :

Options -Indexes

Définissez des permissions de fichiers

Réglez les permissions des dossiers à 755 et des fichiers à 644.
Ne donnez jamais de permissions 777.

Renforcez le Fichier wp-config.php

Déplacez wp-config.php

Déplacez le fichier au-dessus du répertoire racine si possible, ce qui rend son accès direct plus difficile.

Ajoutez des clés de sécurité uniques

Utilisez l’outil officiel WordPress pour générer vos clés : https://api.wordpress.org/secret-key/1.1/salt/

Désactivez l’édition de fichiers dans l’administration

Ajoutez ceci à votre wp-config.php pour empêcher l’édition des fichiers via le tableau de bord WordPress :

define('DISALLOW_FILE_EDIT', true);

Utilisez un Plugin de Sécurité

Les plugins de sécurité jouent un rôle essentiel dans la protection de votre site WordPress.
Deux des plus populaires sont SecuPress Pro et Wordfence Premium. Voici un comparatif pour vous aider à choisir le meilleur plugin selon vos besoins.

Facilité d’utilisation et interface :

  • SecuPress Pro est souvent apprécié pour sa simplicité d’utilisation. Son interface est claire et intuitive, ce qui en fait un excellent choix pour les utilisateurs qui recherchent une protection efficace sans complexité. Vous n’avez pas besoin de beaucoup de connaissances techniques pour configurer SecuPress.
  • Wordfence Premium, bien qu’ayant une interface puissante, peut sembler plus complexe. Il nécessite un peu plus de temps pour comprendre toutes ses fonctionnalités, mais il offre une grande flexibilité pour les utilisateurs avancés.

Protection du pare-feu :

  • Wordfence Premium se distingue par son pare-feu robuste, capable de filtrer le trafic malveillant avant même qu’il atteigne votre site. Il utilise un pare-feu au niveau de l’application web (WAF) et un pare-feu côté serveur. Cette protection de niveau supérieur est un atout majeur pour la sécurité de votre site.
  • SecuPress Pro dispose également d’un pare-feu, mais il n’est pas aussi sophistiqué que celui de Wordfence. Bien que fonctionnel, il n’offre pas le même niveau de personnalisation ni la même puissance de protection.

Scan de malware :

  • Wordfence Premium excelle dans la détection de malwares avec son scanner en temps réel. Il compare votre site à une base de données étendue de menaces connues et offre des rapports détaillés.
  • SecuPress Pro, bien qu’il propose également un scanner de malwares, n’a pas la même couverture ni la même profondeur d’analyse. Cela peut être suffisant pour les petits sites, mais les utilisateurs ayant des besoins plus élevés pourraient préférer Wordfence.

Sécurisation des connexions et authentification à deux facteurs :

  • SecuPress Pro brille particulièrement dans la sécurisation des connexions. Il propose des fonctionnalités comme la personnalisation des tentatives de connexion, la modification de l’URL de connexion, ainsi qu’une authentification à deux facteurs (2FA). Ces options renforcent significativement la sécurité des comptes utilisateurs.
  • Wordfence Premium offre aussi une authentification à deux facteurs, mais SecuPress va plus loin en permettant une plus grande personnalisation des paramètres liés à la connexion.

Impact sur la performance :

  • SecuPress Pro est souvent considéré comme plus léger sur les ressources serveur, ce qui peut être un atout pour les sites ayant des contraintes de performance. Il est moins susceptible de ralentir votre site.
  • Wordfence Premium est plus complet, mais ses fonctionnalités peuvent parfois engendrer une légère surcharge sur le serveur, en particulier pour les sites plus grands.

Support et mises à jour :

  • Wordfence Premium est reconnu pour son support réactif et ses mises à jour fréquentes. Leur équipe est rapide à répondre aux incidents de sécurité et offre des solutions adaptées.
  • SecuPress Pro offre également un bon support, mais certains utilisateurs rapportent que la réactivité est moins rapide que celle de Wordfence.

En bref

  • Wordfence Premium est idéal pour ceux qui ont besoin d’une solution complète avec une protection avancée, notamment grâce à son pare-feu puissant et son scan approfondi des malwares.
  • SecuPress Pro est une excellente option si vous recherchez une solution plus simple à configurer, avec un focus sur la sécurité des connexions et une interface plus légère.

Les deux plugins offrent des fonctionnalités de sécurité robustes, mais Wordfence Premium est souvent préféré par les utilisateurs qui ont des sites plus complexes, tandis que SecuPress Pro peut être plus adapté à ceux qui privilégient la simplicité et une bonne protection pour des sites de taille moyenne.

Gardez Votre Site à Jour

Mettez à jour WordPress, les thèmes et les plugins

Les mises à jour corrigent les failles de sécurité. Configurez les mises à jour automatiques si possible.

Supprimez les plugins et thèmes inutilisés

Les composants inutilisés peuvent devenir des portes d’entrée pour les hackers.

Sécurisez la Base de Données

Changez le préfixe des tables

Remplacez le préfixe par défaut wp_ par un préfixe personnalisé, comme secure_. Vous pouvez le faire lors de l’installation ou via un plugin.

Modifiez le préfixe de base de données WordPress par défaut pour éviter les injections SQL

La base de données SQL de WordPress stocke toutes les informations nécessaires au bon fonctionnement de votre site. Cela en fait une cible de choix pour les pirates informatiques, qui peuvent utiliser des attaques automatisées pour effectuer des injections SQL.

Le préfixe de table par défaut de WordPress est wp_, et beaucoup d’utilisateurs conservent cette valeur par défaut lors de l’installation. Cependant, cela représente un risque majeur car, en raison de la popularité de WordPress, les pirates ciblent souvent ce préfixe spécifique pour leurs attaques. Selon WordFence, environ 1 piratage sur 5 est dû à des injections SQL, et le préfixe wp_ en fait souvent une cible privilégiée.

Il est donc fortement recommandé de modifier ce préfixe par défaut pour renforcer la sécurité de votre site contre ces attaques. Voici comment procéder :

Comment modifier le préfixe de la base de données WordPress :

Avant d’installer WordPress :

  • Lorsque vous installez WordPress, vous pouvez définir un préfixe personnalisé. Pour ce faire, modifiez simplement la ligne suivante dans le fichier wp-config.php avant d’installer WordPress :

$table_prefix = 'monprefixe_'; 

Remplacez monprefixe_ par un préfixe aléatoire et unique, par exemple xyz_ ou un mot-clé personnalisé difficile à deviner.

Après l’installation de WordPress : Si vous avez déjà installé WordPress et que vous n’avez pas changé le préfixe par défaut, il est possible de le modifier manuellement, mais cette opération peut être plus complexe. Voici les étapes à suivre :

  • Sauvegardez votre base de données avant toute modification.Utilisez un outil comme phpMyAdmin pour renommer toutes les tables qui commencent par wp_. Par exemple, wp_posts deviendra monprefixe_posts.Une fois les tables renommées, ouvrez le fichier wp-config.php et modifiez la ligne $table_prefix pour y mettre votre nouveau préfixe.

Important : Vous devrez également rechercher et remplacer tous les cas de l’ancien préfixe dans la base de données, y compris dans les valeurs des options, les métadonnées, et d’autres champs qui utilisent les noms de table. Cela peut être fait avec un script de remplacement dans la base de données ou avec un plugin comme « Better Search Replace ».

Pourquoi cette étape est importante ?

Changer le préfixe par défaut de la base de données est une étape de sécurité simple mais cruciale. En rendant plus difficile pour les pirates de deviner le nom des tables, vous réduisez considérablement le risque d’attaques par injection SQL.

Sauvegardez régulièrement votre base de données

La sauvegarde régulière de votre site WordPress est essentielle pour éviter de perdre des données en cas de piratage, de bugs ou d’erreurs humaines. Utiliser un plugin de sauvegarde automatique est un moyen simple et efficace de garantir la sécurité de vos informations. Deux des meilleures solutions pour automatiser cette tâche sont UpdraftPlus et ManageWP.

UpdraftPlus : Un plugin polyvalent pour les sauvegardes

UpdraftPlus est l’un des plugins de sauvegarde les plus populaires pour WordPress. Il permet de créer des sauvegardes complètes de votre site, y compris de la base de données et des fichiers, que vous pouvez stocker localement ou sur des services de stockage cloud comme Google Drive, Dropbox, Amazon S3, ou OneDrive. Le plugin offre également une fonctionnalité de restauration rapide et la possibilité de programmer des sauvegardes automatiques à intervalles réguliers.

Avec UpdraftPlus, vous pouvez :

  • Choisir les fichiers à sauvegarder : base de données, fichiers WordPress, thèmes, plugins.
  • Planifier les sauvegardes automatiques à des moments précis.
  • Effectuer des sauvegardes manuelles si nécessaire.
  • Récupérer facilement vos données en cas de besoin.

Cependant, il faut noter que bien que UpdraftPlus propose une version gratuite, certaines fonctionnalités avancées, comme la sauvegarde de plusieurs sites ou la planification détaillée, nécessitent la version premium.

ManageWP : Une solution tout-en-un pour la gestion de vos sites

ManageWP est une plateforme qui permet de gérer plusieurs sites WordPress depuis une seule interface. L’un de ses atouts majeurs est sa fonctionnalité de sauvegarde, qui vous permet de créer des sauvegardes automatiques pour tous vos sites gérés. Ce plugin est particulièrement utile pour les agences ou les développeurs qui gèrent plusieurs sites clients.

Avec ManageWP, vous pouvez :

  • Créer des sauvegardes automatiques pour tous vos sites en un seul endroit.
  • Planifier les sauvegardes selon une fréquence personnalisée (quotidienne, hebdomadaire, mensuelle).
  • Récupérer rapidement un site à partir de n’importe quelle sauvegarde précédente.
  • Sauvegarder les fichiers et la base de données de chaque site individuellement ou ensemble.

Ce plugin offre également une option de sauvegarde en un clic, ce qui le rend très pratique pour les utilisateurs pressés. Une autre fonctionnalité intéressante de ManageWP est sa possibilité d’effectuer des sauvegardes à distance, ce qui permet de minimiser les risques en cas d’attaque ciblée.

ManageWP propose un plan gratuit pour un nombre limité de sites, mais des fonctionnalités comme les sauvegardes en temps réel, la planification avancée et la gestion de plusieurs sites à la fois nécessitent un abonnement payant.

A noter que SecuPress permet aussi une sauvegarde des fichiers et bdd

Pourquoi opter pour une sauvegarde régulière ?

Les risques de ne pas sauvegarder régulièrement votre site sont multiples : piratage, erreur humaine, ou mise à jour qui échoue peuvent entraîner la perte de données critiques. Avoir des sauvegardes fréquentes vous permet de restaurer rapidement votre site dans son état précédent et de réduire au minimum les interruptions de service.

Que vous choisissiez UpdraftPlus pour un contrôle détaillé sur chaque sauvegarde ou ManageWP pour une gestion centralisée de plusieurs sites, l’important est de garantir que votre site soit toujours protégé par des sauvegardes régulières et automatisées.
Assurez-vous de tester la restauration de vos sauvegardes de temps en temps pour vérifier leur bon fonctionnement et être prêt en cas de besoin.

Ajoutez un Pare-feu et Filtrez les Accès

Utilisez un pare-feu d’application Web (WAF)

Des solutions comme Cloudflare ou Sucuri protègent votre site contre les attaques DDoS et autres.

Restreignez l’accès à wp-admin

Ajoutez une restriction d’accès basée sur les IP dans votre .htaccess :

<Files wp-login.php>
order deny,allow
deny from all
allow from 123.456.789.0
</Files>

Renforcez le Contenu Dynamique avec des Hooks

Désactivez l’accès XML-RPC

Ajoutez ce code dans le fichier functions.php de votre thème pour désactiver cette fonctionnalité souvent exploitée :

add_filter('xmlrpc_enabled', '__return_false');

Empêchez les commentaires SPAM

Activez Akismet ou désactivez totalement les commentaires si vous n’en avez pas besoin :

add_filter('pre_comment_approved', '__return_false');

10. Surveillez l’Activité de Votre Site

Journalisez les activités

Des plugins comme Activity Log enregistrent toutes les modifications et connexions.

Scannez votre site régulièrement

Wordfence et Secupress offrent des fonctionnalités de scan pour détecter toute activité suspecte.

Publié par kevin

le 31 Jan 2024

Code copié dans le presse-papiers
S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
0
Ajouter un commentaire.x