Guide · 3 min de lecture

Liste de renforcement WordPress avec correctifs à copier-coller

Les mises à jour comptent le plus. Ensuite, ces petits changements ferment les portes que les attaquants essaient en premier.

Mis à jour le · HackGrade

Le code et la configuration restent en anglais.

1. Gardez tout à jour

Activez les mises à jour automatiques des extensions et des thèmes (Extensions → Activer les mises à jour auto). Supprimez ce que vous n’utilisez pas : les extensions désactivées peuvent tout de même être exploitées.

2. Désactivez l’éditeur de fichiers intégré

Ajoutez ceci à wp-config.php, au-dessus de /* That’s all, stop editing! */ :

wp-config.php
define( 'DISALLOW_FILE_EDIT', true );

3. Bloquez XML-RPC (si vous ne l’utilisez pas)

Jetpack et certaines applications mobiles utilisent XML-RPC. Si ce n’est pas votre cas, bloquez-le au niveau du serveur :

.htaccess
<Files "xmlrpc.php">
  Require all denied
</Files>
nginx
location = /xmlrpc.php { deny all; }

4. Cessez d’afficher les noms d’utilisateur

Masquez la liste des utilisateurs de l’API REST aux visiteurs non connectés (en extension must-use dans wp-content/mu-plugins/) :

PHP
<?php
add_filter( 'rest_endpoints', function ( $endpoints ) {
    if ( ! is_user_logged_in() ) {
        unset( $endpoints['/wp/v2/users'], $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
    }
    return $endpoints;
} );

Vérifiez aussi que les archives d’auteur (/?author=1) ne révèlent pas les identifiants de connexion. Réglez le « Nom à afficher publiquement » de chaque utilisateur sur autre chose que l’identifiant.

5. Pas de PHP dans uploads

Le dossier uploads ne doit contenir que des médias. Placez ceci dans wp-content/uploads/.htaccess :

.htaccess
<FilesMatch "\.(php|phtml|phar)$">
  Require all denied
</FilesMatch>
nginx
location ~* ^/wp-content/uploads/.*\.(php|phtml|phar)$ { deny all; }

6. Protégez wp-config.php et les connexions

  • Rendez wp-config.php lisible uniquement par son propriétaire (droits 600 ou 640, selon votre hébergeur).
  • Ne laissez jamais de copies wp-config.php.bak, .old ou .zip à la racine web.
  • Utilisez l’authentification à deux facteurs et limitez les tentatives de connexion des comptes administrateurs.
  • Laissez WP_DEBUG_DISPLAY désactivé en production, pour que les erreurs ne s’affichent jamais à l’écran.

Sources

Guides associés

Gratuit · Immédiat · Sans inscription

Découvrez votre note avant quelqu’un d’autre.

Analyse passive. Rien n’est attaqué sans votre autorisation.

Gratuit pour commencer. Offres payantes dès 12 $ par mois, ou un rapport unique à 29 $. Voir les tarifs