Votre WordPress est en danger : 13 conseils d’expert pour améliorer sa sécurité

Par , Le 18 juin 2017 (Temps de lecture estimé : 9 min)

Suite à un incident sur mon site WordPress, j’ai renforcé sa sécurité. Anticiper ces problèmes est crucial, surtout en création de site internet WordPress. Découvrez des pratiques essentielles pour toute agence WordPress. Voici une liste de bonnes pratiques à avoir.

aetherconcept-securite-00

Un vendredi matin, un plugin de mon site WordPress a été la cible d’attaques intensives, causant des dysfonctionnements majeurs et la publication impromptue de 1000 tweets en seulement 3 heures. Bien que cette situation ait été gênante, elle m’a poussé à renforcer davantage la sécurité de mon site. En tant qu’agence web WordPress, j’ai la responsabilité de protéger non seulement mon propre site, mais aussi ceux de nos clients. Suite à cette attaque j’ai accentué la sécurité de mon site avant de passer à ceux de mes clients et de les en informer. L’un de mes clients, qui est militaire réserviste, m’a appelé suite à mon message pour me remercier, mais surtout pour me confirmer l’information qu’il avait lui aussi eu du côté de l’armée : La France subissait alors une vague de piratages, avec une petite préférence pour les sites orientés défense.

Cette publication vise alors à sensibiliser sur l’importance de la sécurité, d’autant plus dans un contexte où même des institutions nationales sont visées par des cyberattaques. Personne n’est à l’abri, et c’est pourquoi il est crucial de connaître les outils et méthodes pour sécuriser efficacement votre site WordPress.

Les plug-ins

Pour renforcer la sécurité lors de la création de site internet WordPress, plusieurs outils et méthodes sont à votre disposition. Les plug-ins, notamment, peuvent être d’une aide précieuse pour accomplir diverses tâches essentielles.

Redirection

Initialement conçu pour faciliter la mise en place de redirections 301, ce plug-in est un incontournable pour toute agence WordPress. Une redirection 301 informe les visiteurs et les moteurs de recherche du nouvel emplacement d’une page dont l’URL a changé, que ce soit à la suite d’un déménagement de site ou d’une refonte. Cependant, l’aspect le plus intéressant pour nous est la capacité de ce plug-in à détecter les erreurs 404 et les URL associées. Vous pourrez ainsi identifier les IP à l’origine de ces erreurs. Certaines URL sont révélatrices de tentatives malveillantes. Ces IP seront essentielles pour le prochain plug-in que nous aborderons.

aetherconcept-securite-01

iQ Block Country

Ce plug-in, essentiel pour toute agence web WordPress lors de la création de site internet WordPress, est à la fois complet et gratuit. Il offre la possibilité de restreindre l’accès à votre site depuis les pays que vous sélectionnez. Plus impressionnant encore, il distingue entre le frontend et le backend, vous permettant d’affiner vos paramètres avec précision. Suite à une analyse approfondie des tentatives d’attaques récentes sur mon site, j’ai choisi de limiter l’accès pour plusieurs pays, notamment la Chine, l’Ukraine, la Russie, la Turquie, les Émirats Arabes Unis, Taïwan, la Corée du Nord et le Pakistan. Il est à noter que la Chine, l’Ukraine et la Russie étaient les principales sources de ces attaques.

aetherconcept-securite-03

Pensez toutefois retirer le pays dans lequel vous vous trouvez des listes par défaut. Même si cette recommandation est clairement indiquée dans les options du plug-in, je tiens à insister sur ce point pour éviter tout désagrément. À noter que iQ Block Country remplit également les fonctions de IB Ban (un plug-in que j’avais évoqué précédemment dans cet article) et vous offre la possibilité d’ajouter des IP spécifiques à la liste des bannissements.

Rename WP-Login

Cette extension, recommandée pour toute expert WordPress lors de la création d’un site internet, modifie l’URL de la page de connexion à votre tableau de bord administratif. Ainsi, ceux qui scrutent votre site en quête d’un wp-login.php seront confrontés à une impasse.

aetherconcept-securite-04

Limit Login Attempts

Cependant, en complément de l’extension précédente, ce module est un atout lors de la création de votre site internet. Il restreint les tentatives d’accès à l’interface d’administration de WordPress. Facile à utiliser, il est particulièrement efficace : après un certain nombre de tentatives infructueuses, il bloque automatiquement les IP pour une durée que vous définissez.

aetherconcept-securite-05


Le .htaccess

Le .htaccess est un fichier de configuration du protocole HTTP. On le trouve le plus souvent à la racine du site, mais on peut aussi le trouver à différent niveau dans des sous-dossiers. Voici quelques lignes de code pour vous aider.

Masquez vos répertoires

Masquer vos répertoires aura pour effet de rendre vos dossiers inaccessibles. C’est-à-dire que même en ayant l’URL d’un dossier d’images par exemple, l’internaute ne pourra avoir accès à celles-ci. Seul votre site sera habilité à exploiter ces répertoires pour afficher vos contenus. Afin de procéder à cette opération, il vous suffit d’ajouter la ligne suivante à votre .htaccess :
 Options All -Indexes
IndexIgnore * 

Sécurisez vos fichiers wp-config.php et .htaccess

Votre fichier wp-config.php contient pas mal de choses qu’il vaudrait mieux éviter de laisser fuiter. Ouvrez-le, et constatez : identifiants ftp et sql, mots de passe, bref tout ce qu’on préfèrerait garder pour soit. Ajoutez les lignes suivantes à votre .htaccess pour être pénard sur ce point :
 <files wp-config.php>
order allow,deny
deny from all
</files> 

On fera de même avec les fichiers .htaccess :
 <files .htaccess>
order allow,deny
deny from all
</files> 

Empêchez l’exécution de scripts php dangereux

Parfois, il suffit d’un thème ou d’un plug-in vérolé, et sans le savoir celui-ci va planquer une petite saleté de fichier dans un sous-dossier de « wp-content/upload ». La solution pour empêcher leur exécution est de créer un fichier .htaccess spécialement pour le dossier « upload » et d’y écrire les lignes suivantes (en remplaçant les IP d’exemples par celle du serveur de votre site ainsi que la vôtre au cas où) :
 <Files *.php>
Deny from all
allow from 255.255.255.255
allow from 121.121.121.121
</Files> 

Se protéger de diverses tentatives d’attaques (XSS, clickjacking et MIME-Type sniffing)

Le XSS concerne ce qu’on appelle l’injection de code, qui peut ensuite mettre en danger vos visiteurs ou se servir de votre hébergement pour y héberger quelques contenus illicites. J’en ai d’ailleurs eu l’exemple avec une connaissance m’ayant sollicité pour sécuriser son site, alors réalisé par un autre prestataire. Des hackers russes avaient trouvé le moyen d’héberger dans ses fichiers une immense base de données ainsi que des pages web, servant à la revente de produits peu légaux, comme de la drogue ou des variantes de la petite pilule bleue…
 <ifModule mod_headers.c>
Header set X-XSS-Protection « 1; mode=block »
Header always append X-Frame-Options SAMEORIGIN
Header set X-Content-Type-Options: « nosniff”
</ifModule> 

Éviter que l’on découvre l’identifiant d’un auteur

Pour se connecter à l’interface d’administration de WordPress, il faut un identifiant. Et quand on l’a, la moitié du travail est déjà fait. Ne reste alors plus que le mot de passe. Ce petit bout de code permet de rendre la tâche plus compliquée.
 <IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* – [F] </IfModule> 


Mais aussi…

Évitez que l’on puisse voir la version de WordPress

Tout est dans le titre. Vous n’avez qu’à placer ce petit bout de code dans le fichier function.php de votre thème :
 remove_action(‘wp_head’, ‘wp_generator’); 

Désactivez Windows Live Writer

Windows Live Writer est un logiciel permettant de bloguer à distance. Pour que ce logiciel puisse fonctionner correctement, une ligne de code est générée par WordPress. Afin de supprimer celle-ci, il vous suffit de coller cette ligne dans le fichier function.php de votre thème :
 remove_action(‘wp_head’, ‘wlwmanifest_link’); 

Supprimez les fichiers readme.html et licence.txt

Situés à la racine du site, ces fichiers indiquent le numéro de version de WordPress. Ça serait ballot de laisser trainer ça…

Bonus

Téléchargez ma liste des IP à bannir. Cette liste contient les IP sources de tentatives récurrentes de piratages et de spams répétés. A ajouter dans IP Ban ou mieux encore, dans iQ Block Country car elle complète assez bien ce dernier.


En tant qu’agence web WordPress, j’ai partagé avec vous les méthodes de base les plus courantes pour sécuriser un site internet WordPress. Une observation intéressante : en bloquant l’accès depuis certains pays, j’ai remarqué une réduction significative des spams. Bien sûr, il est toujours possible d’optimiser davantage la sécurité, mais ces étapes devraient déjà vous prémunir contre les attaques les plus fréquentes. Pour mettre les choses en perspective, voici une statistique édifiante : 60 000. C’est le nombre de tentatives d’intrusion que j’ai enregistrées en seulement quatre ans. Bien que ce blog bénéficie d’une bonne visibilité et que la majorité de ces tentatives proviennent probablement de bots, ce chiffre reste stupéfiant.

Cet article vous a plu ? Partagez-le !

  

Sébastien DROUIN

Consultant en communication croisé zèbre, designer graphique, ingénieur de formation, AI prompt engineer. Je mange des IA au petit déjeuner et je permets aux entreprises de multiplier leurs ventes grâce au web 🤖

Rejoignez les 10 000 visiteurs mensuels du site et recevez Le Guide de Survie de la Communication d'Entreprise au format PDF.
136 pages d'une valeur de 23,90 € offertes !
En m'inscrivant, j'accepte de recevoir par e-mail les derniers articles du blog et je prends connaissance de la politique de confidentialité.