Dans la 1ère partie nous avions vu comment protéger WordPress sur le serveur. Maintenant intéressons nous aux plugins et à WP lui même.

1 - Ne pas utiliser le compte par défaut admin.
Perso, je ne m'en sers pas mais je lui ai attribué le statut de simple éditeur. Ou supprimez le carrément.

2 - Sécuriser le login
wordpress_login_lockdown
Limit Login Attempts ou Login LockDown : Limitent les tentatives de login par ip ou cookies.

Stealth Login : Permet de customiser les url de login et d'enregistrement à votre blog. Plus difficile aux pirates de trouver la page de login.

3 - Sécuriser WP-Admin.
Si vous avez une IP fixe, vous pouvez mettre ce Htaccess dans le dossier wp-admin.

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Access Control"
AuthType Basic
order deny,allow
deny from all
allow from XXX.XXX.XXX.XXX # IP autorisée
allow from XXX.XXX.XXX.XXX # 2eme IP autorisée

Sinon vous pouvez mettre un Htaccess accompagné d'un Htpasswd. Ainsi un mot de passe sera demandé pour se connecter à wp-admin.
Voici un générateur de Htpasswd.

4 - Nettoyer les entêtes WordPress dont la version de WordPress.
Pas besoin de plugin pour nettoyer les entêtes de WordPress, il suffit de rajouter dans le fichier functions.php de votre thème, ceci :

#Supprimer le numéro de version
remove_action('wp_head', 'wp_generator');
#Enlever le lien Really Simple Discovery
remove_action('wp_head', 'rsd_link');
#Enlever le lien Windows Live Writer
remove_action('wp_head', 'wlwmanifest_link');

5- Bien remplir le wp-config.php
Depuis WordPress 2.5, l'équipe de développement a introduit les clés secretes pour augmenter la sécurité du blog.
https://api.wordpress.org/secret-key/1.1/
Ouvrez le fichier wp-config.php et ajouter les phrases générées.

Dans le Htaccess, n'oubliez pas de rajouter :

# Empecher de lire ou accéder au fichier wp-config.php
<Files wp-config.php>
Order Allow,Deny
Deny from All
</Files>

Bonus :) - Sécurisez votre thème
Dans search.php ou searchform.php trouvez la ligne:

<?php echo $_SERVER ['PHP_SELF']; ?>

Et remplacez la par celle là:

<?php bloginfo ('home'); ?>

Au lieu de chercher sur le serveur, cela permettra de rechercher seulement sur le blog.

Vérifiez search.php, searchform.php et header.php pour cette ligne:

<?php echo $s; ?>

Cela permet des injections de codes malicieux, remplacez le par:

<?php echo wp_specialchars($s, 1); ?>

Important en cas de souci, pensez à faire un Backup de la base de données, quotidien ou au moins hebdomadaire.
WP DB Manager : Permet de sauvegarder et nettoyer votre base de données depuis l'interface d'administration.

Voici donc cette petite série consacrée à améliorer la protection de votre WordPress finie.

Partagez cet article :
  • Twitter
  • LinkedIn
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Google Bookmarks
  • Live

Articles similaires :

  1. 10 manières de protéger votre WordPress – Partie 1
  2. Customisez votre page login Wordpress
  3. Personnalisez votre page login Wordpress
  4. Protegez votre Wordpress
  5. Testez la sécurité de votre Wordpress