Un peu de sécurité pour WordPress

Nicolas, le 11 mar 2012

Blog Security Unit

WordPress est un CMS très efficace et très simple pour mettre en place un blog ou site web dynamique. Mais se contenter de l’installer et d’y poster des articles n’est pas suffisant pour garantir, dans le temps, son bon fonctionnement et surtout, sa sécurité.
Quelques règles simples permettent aisément de s’assurer qu’on ne laisse pas traîner de grosses failles et rendre un peu plus complexe le piratage de WordPress. Attention, rien d’impénétrable, mais de quoi éviter les catastrophes à la moindre intrusion maligne.

Mettre à jour WordPress

Chaque nouvelle version de WordPress arrive avec son lot de pansements pour les failles qui ont pu être découverte dans la précédente version. C’est une bonne et donc une bonne raison d’en profiter. D’autant qu’en publiant la liste des patchs et des failles, WordPress délivre des solutions simples pour pénétrer l’ancienne version, rendant cette dernière d’autant plus vulnérable.

Sauvegarder son WordPress

Sauvegarder est une bonne solution pour retrouver son blog ou son site en cas de gros problème. Il faut procéder en 2 étapes :
– Sauvegarder l’ensemble des fichiers qui se trouvent sur votre serveur à l’aide de votre client FTP
– Sauvegarder le contenu de la base de données en utilisant, par exemple, le plugin WP-DBManager qui permet différents modes de sauvegarder ainsi qu’une fonction d’optimisation des bases de données. On en profitera pour vérifier la « santé » de son installation WordPress avec le plugin Health Check.
Il est impératif d’effectuer ces opérations régulièrement et non uniquement lors des mises à jour de WordPress. Si j’avais été sérieux concernant ce point, je n’aurais pas eu autant de difficultés à retrouver le contenu de mon blog après une mauvaise manipulation dans la gestion de mes bases de données !
Quand je dis « régulièrement », je pense à toutes les 2 semaines à une fois par mois au maximum.

Ne pas utiliser le login « admin » donné par défaut

Tout est dit. Mais si vous avez déjà créé votre compte avec le login « admin », vous ne pouvez pas simplement le changer. Le login ne peut être changé avec WordPress. Alors comment faire ? Il suffit de créer un nouvel utilisateur en lui donnant le statut d’administrateur, se connecter avec ce nouveau compte et de détruire l’ancien. Il faudra alors attribuer les articles au nouveau compte.

Un mot de passe sérieux

Quitte à se créer un nouveau compte, autant choisir un mot de passe qui joue vraiment son rôle. Eviter les « 1234567 », « azertyu », « password », etc ! Prendre un mot de passe plutôt long (plus de 7 caractères), avec majuscules/minuscules, espaces, ponctuations et chiffres. Je dois avouer que j’utilise une phrase complète que je retiens facilement mais qui fait plus de 15 caractères.
Il peut être bon de changer ce mot de passe régulièrement.

Masquer les notifications d’erreurs de connection

Toujours concernant le couple login/mot de passe, il est intéressant de masquer les notifications d’erreurs lors de connections ratées. En effet, ces notifications donnent des indices qui permettent, par élimination, de faciliter l’intrusion.
Pour ce faire, éditez le fichier functions.php de votre thème et ajoutez cette ligne :
add_filter(‘login_errors’,create_function(‘$a’, « return null; »));

Changer le préfixe wp_ des tables des bases de données

Si vous n’avez pas encore installé votre blog ou que le coeur vous en dit de faire les modifications (attention quand on joue avec les bases de données et les fichiers de configuration), changer le préfixe wp_ des tables est une barrière supplémentaire aux intrusions. A l’installation, modifiez la ligne ad hoc dans le fichier wp-config.php.
$table_prefix = ‘wp_';

Protégez le fichier wp-config.php

La seule fois où mon blog a été « squatté », c’est ce fichier qui avait été modifié. Pour empêcher ce genre d’incursion, il faut modifier le fichier .htaccess du répertoire en ajoutant les lignes suivantes :
# protect wp-config.php
<files wp-config.php>
Order deny,allow
Deny from all
<⁄files>

Utilisation des clés d’authentification WordPress

On trouve ça dans le fichier wp-config.php et ça permet simplement de compliquer le décryptage des données. Tout comme les mots de passe, on peut renouveler l’opération régulièrement.
* Clefs uniques d’authentification et salage.
*
* Remplacez les valeurs par défaut par des phrases uniques !
* Vous pouvez générer des phrases aléatoires en utilisant
* {@link https://api.wordpress.org/secret-key/1.1/salt/ le service de clefs secrètes de WordPress.org}.
* Vous pouvez modifier ces phrases à n’importe quel moment, afin d’invalider tous les cookies existants.
* Cela forcera également tous les utilisateurs à se reconnecter.
*
* @since 2.6.0
*/
define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(‘NONCE_KEY’, ‘put your unique phrase here’);
define(‘AUTH_SALT’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_SALT’, ‘put your unique phrase here’);
define(‘LOGGED_IN_SALT’, ‘put your unique phrase here’);
define(‘NONCE_SALT’, ‘put your unique phrase here’);

Voilà qui est déjà pas mal et, même si rien n’est imparable, ces mesures devraient quand même renforcer votre précieux blog ou site. Et pour les free-lances qui me lisent, vous pourrez rajouter « sécurisation » dans votre prestation :-)

#blog #hack it yourself