Guide Pratique : Introduction
WordPress, est souvent ciblé par les cyberattaques. Un réflexe courant chez de nombreux utilisateurs de WordPress est d’installer une multitude de plugins pour chaque fonctionnalité ou problème de sécurité rencontré. Bien que les plugins procurent des solutions pratiques, leur utilisation excessive ou malavisée peut, en réalité, nuire à la performance et à la sécurité du site.
Pour renforcer la sécurité de votre site WordPress sans utiliser de plugins, voici des étapes détaillées que vous pouvez suivre :
Bloquer la Navigation dans les Répertoires de WordPress :
Pour empêcher les utilisateurs de naviguer dans vos répertoires, ajoutez cette ligne dans votre fichier « .htaccess » :
Options -Indexes
Désactiver l'Exécution PHP dans les Répertoires Cache
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
Options -Indexes
Désactiver l'Exécution PHP dans les Répertoires Cache
Pour désactiver l’exécution PHP dans certains répertoires (comme les dossiers de cache), créez un fichier « .htaccess » dans le répertoire concerné avec le contenu suivant :
deny from all
Restreindre l'Accès aux Fichiers et Répertoires
Pour limiter l’accès à des fichiers spécifiques, utilisez des directives dans le fichier .htaccess. Par exemple, pour protéger le fichier wp-config.php, ajoutez :
order allow,deny
deny from all
Bloquer l'Accès à xmlrpc.php de WordPress
Le fichier xmlrpc.php peut être utilisé pour des attaques par force brute. Pour le bloquer, ajoutez :
order allow,deny
deny from all
Désactiver les Langages de Scripts Non Utilisés
La désactivation des langages de scripts non utilisés sur votre serveur web est une mesure de sécurité importante, car elle réduit la surface d’attaque potentielle. Voici comment procéder :
a. Identifier les Langages Non Utilisés
Déterminez d’abord quels langages de script (comme Python, Perl, Ruby) ne sont pas nécessaires pour votre site WordPress. WordPress est principalement basé sur PHP, donc d’autres langages peuvent souvent être désactivés sans impact.
b. Configuration du Serveur
Selon votre serveur (Apache, Nginx, etc.), la désactivation se fait différemment :
Pour Apache : Modifiez le fichier de configuration principal (par exemple, httpd.conf) pour désactiver les modules inutiles. Par exemple, pour désactiver Perl :
Sous Apache
# Commentez ou supprimez la ligne suivante
# LoadModule perl_module modules/mod_perl.so
Pour Nginx : Nginx ne traite pas directement les scripts. Assurez-vous que les configurations de site ne redirigent pas vers des interpréteurs de scripts non utilisés.
c. Vérification
Après la modification, redémarrez le serveur et vérifiez que votre site fonctionne correctement. Testez également pour vous assurer que les langages désactivés ne sont plus accessibles
Modifier le Préfixe de Table de Base de Données par Défaut
Changer le préfixe de table par défaut (wp_) dans WordPress peut empêcher certaines attaques SQL. Voici les étapes :
a. Sauvegarde de la Base de Données
Avant toute modification, assurez-vous de sauvegarder votre base de données. Vous pouvez le faire via phpMyAdmin ou avec un outil de sauvegarde.
b. Changer le Préfixe dans wp-config.php
Ouvrez le fichier wp-config.php et changez la ligne :
$table_prefix = 'wp_';
en remplaçant ‘wp_’ par le nouveau préfixe de votre choix, par exemple ‘wowebpsec_’.
c. Renommer les Tables dans la Base de Données
Utilisez phpMyAdmin ou une requête SQL pour renommer toutes les tables. Par exemple :
RENAME table `wp_options` TO `wpsec_options`;
RENAME table `wp_users` TO `wpsec_users`;
Répétez pour chaque table.
d. Mise à Jour des Options et des Métadonnées
Certaines options et métadonnées dans la base de données contiennent l’ancien préfixe. Mettez-les à jour avec des requêtes SQL, par exemple :
UPDATE `wpsec_options` SET `option_name` = REPLACE(`option_name`, 'wp_', 'wpsec_');
UPDATE `wpsec_usermeta` SET `meta_key` = REPLACE(`meta_key`, 'wp_', 'wpsec_');
e. Tester le Site
Après les modifications, vérifiez que votre site WordPress fonctionne correctement. Testez toutes les fonctionnalités pour vous assurer qu’il n’y a pas de problèmes de connexion ou de fonctionnement.
En appliquant ces méthodes, vous renforcez la sécurité de votre installation WordPress. Gardez cependant à l’esprit que ces actions nécessitent un certain niveau de compétence technique et doivent être exécutées avec soin.
Bloquer l'Accès aux Fichiers Sensibles
Pour bloquer l’accès à des fichiers sensibles comme .htaccess ou php.ini, ajoutez :
order allow,deny
deny from all
Modifier le Nom d'Utilisateur de l'Administrateur par Défaut
Order Allow,Deny
Deny from all
Si vous utilisez ‘admin’ comme nom d’utilisateur pour l’administrateur, changez-le. Cela peut être fait en créant un nouvel utilisateur administrateur avec un nom différent, puis en supprimant l’ancien.
Ces mesures de sécurité manuelles demandent une certaine expertise technique et doivent être appliquées avec précaution pour éviter d’affecter la fonctionnalité de votre site. Assurez-vous de sauvegarder votre site avant d’apporter des modifications et testez les modifications dans un environnement de développement si possible.