Valentin LEROUGE

Blog

Comment securiser un WordPress : checklist pragmatique

Mesures essentielles pour durcir un WordPress : URL admin, XML-RPC, mises a jour, PHP, uploads, et bonnes pratiques avancees.

22 Dec 2025Valentin Lerouge3 min de lecture
#cybersecurite#wordpress#securite#hardening

WordPress est la cible favorite des attaques automatisees, surtout via des plugins obsoletes, des mots de passe faibles ou des services exposes par defaut. Voici une checklist claire pour durcir un site rapidement, avec des exemples concrets (plugins et .htaccess).

1) Changer le lien de connexion admin

L'URL par defaut (/wp-admin et /wp-login.php) est scannee en permanence. Changer ce point d'entree reduit le bruit et les tentatives de brute force.

Plugins utiles :

  • WPS Hide Login (simple et leger)
  • iThemes Security (option equivalente, plus complet)

Astuce : evite d'utiliser un chemin obvious type /login ou /admin.

2) Desactiver XML-RPC si inutile

XML-RPC sert a certaines integrations (appli mobile, Jetpack, etc.). Si tu n'en as pas besoin, coupe-le pour eliminer une surface d'attaque frequente.

Via .htaccess (Apache 2.4) :

<Files xmlrpc.php>
  Require all denied
</Files>

Plugins utiles :

  • Disable XML-RPC
  • iThemes Security (option integree)

3) Mettre a jour WordPress, themes et plugins

C'est la source principale de compromission. Active les updates automatiques pour les correctifs de securite, ou programme une revue hebdo.

  • Core WordPress : auto-update de securite
  • Plugins/themes : supprime ceux qui ne sont plus maintenus
  • Evite les plugins "NULLED" ou non officiels

4) Utiliser une version PHP recente

PHP 7.x est EOL. Vise une version maintenue (8.1+), idealement 8.2 ou 8.3 si tes plugins sont compatibles.

  • Performance meilleure
  • Correctifs de securite recents

5) Desactiver le listing des fichiers dans uploads

Le listing de dossier permet de decouvrir des fichiers sensibles (backups, exports, etc.). Ajoute ceci dans wp-content/uploads/.htaccess :

Options -Indexes

Ou globalement dans le .htaccess racine :

<IfModule mod_autoindex.c>
  Options -Indexes
</IfModule>

6) Limiter les tentatives de connexion

Bloque les attaques de brute force et credential stuffing.

Plugins utiles :

  • Limit Login Attempts Reloaded
  • Wordfence (rate limiting + firewall)

7) Activer une authentification forte

  • Mots de passe longs + uniques (gestionnaire recommande)
  • 2FA pour les comptes admin

Plugins utiles :

  • WP 2FA
  • Wordfence Login Security

8) Verrouiller l'edition de fichiers depuis l'admin

Bloque l'edition de code via l'interface (vector d'injection frequente en cas de compte compromis).

Dans wp-config.php :

define('DISALLOW_FILE_EDIT', true);

9) Droits fichiers et utilisateurs

  • Ne donne pas le role Admin a tout le monde
  • Utilise le principe du moindre privilege
  • Droits fichiers standards :
    • Dossiers : 755
    • Fichiers : 644
    • wp-config.php : 600 ou 640

10) HTTPS, headers de securite, WAF

  • Force HTTPS (certificat TLS valide)
  • Ajoute des headers de securite (HSTS, X-Frame-Options, X-Content-Type-Options)
  • Utilise un WAF (Cloudflare, Sucuri, Wordfence)

Exemple minimal (Apache) :

<IfModule mod_headers.c>
  Header set X-Frame-Options "SAMEORIGIN"
  Header set X-Content-Type-Options "nosniff"
  Header set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

11) Sauvegardes et monitoring

  • Sauvegardes regulieres + stockage externe
  • Monitoring des logs et alertes de connexion suspecte

Plugins utiles :

  • UpdraftPlus
  • BlogVault

12) Bonus : proteger wp-login et wp-admin par IP

Si tu as un backoffice utilise depuis des IP fixes, tu peux restreindre l'acces :

<IfModule mod_authz_core.c>
  <LocationMatch "^/(wp-login.php|wp-admin)">
    Require ip 203.0.113.10
    Require ip 198.51.100.0/24
  </LocationMatch>
</IfModule>

En pratique, les 3 actions qui reduisent le plus le risque sont : mises a jour, comptes solides + 2FA, reduction de surface d'attaque (XML-RPC, login, listing). Combine-les avec des backups fiables pour une defense efficace.