Lolokai – Supervision, systèmes, réseaux, base de données…

4

Installer et sécuriser un blog WordPress

Loic FONTAINE 16 juin 2011

Présentation

Wordpress est un moteur de blog Open Source qui permet à tout un chacun de créer son blog en moins de temps qu’il ne faut pour le dire ^^. Cependant, tout blogueur consciencieux sécurise un maximum son blog afin d’élever au maximum la sécurité de celui-ci. Un blog se sécurise à la création mais sa sécurité doit toujours être maintenue pendant sa durée de vie. Ci-dessous, vous trouverez quelques conseils « de base »  afin de bien sécuriser votre blog WordPress.

La sécurité passe par une installation « propre »

Deux choix s’offrent à vous pour installer WordPress. Soit vous passez par le SVN, soit vous téléchargez votre moteur de blog pour l’uploader sur votre serveur distant. Pour faire plus « user-friendly » on va récupérer notre CMS depuis le site officiel (c’est préférable :)) : http://www.wordpress-fr.net/. Une fois téléchargé, décompressez le fichier et rendez-vous dans la racine.

Le fichier « wp-config.php »

Ouvrez le fichier « wp-config-sample.php ». Nous allons dans un premier temps définir la configuration pour accéder à notre base de données MySQL. Trouvez les lignes :

/** Nom de la base de données de WordPress. */
define(‘DB_NAME’, ‘votre_nom_de_bdd’);
/** Utilisateur de la base de données MySQL. */
define(‘DB_USER’, ‘votre_utilisateur_de_bdd’);
/** Mot de passe de la base de données MySQL. */
define(‘DB_PASSWORD’, ‘votre_mdp_de_bdd’);
/** Adresse de l’hébergement MySQL. */
define(‘DB_HOST’, ‘localhost’);

Remplacez :

  • votre_nom_de_bdd : le nom de la base de données qui hébergera WordPress
  • votre_utilisateur_de_bdd : le nom d’utilisateur pour accéder à la base de données
  • votre_mdp_de_bdd : le mot de passe pour accéder à votre base de données
  • localhost : l’adresse de votre serveur de base de données

Trouvez les lignes :

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’);

Rendez-vous sur le site internet : https://api.wordpress.org/secret-key/1.1/salt/. Puis remplacez les lignes ci-dessus par le contenu affiché sur la page.
Maintenant enregistrez le fichier wp-config-sample.php et renommez le en wp-config.php.

Le .htaccess

Créez un fichier .htaccess au niveau de la racine de votre blog et ajoutez les lignes suivantes dans celui-ci :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>Header unset ETag
FileETag Nonephp_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0

Options -Indexes

<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>

<Files wp-config.php>
Order Deny,Allow
Deny from all
</Files>

<Files readme.html>
order allow,deny
deny from all
</Files>

Cacher sa version de WordPress

Personne ne doit voir votre version de WordPress, pour cela ouvrez  le fichier wp-content/themes/twentyten/functions.php, à la fin de celui-ci ajoutez :

remove_action(« wp_head », « wp_generator »);
foreach(array(« rss2_head », « commentsrss2_head », « rss_head », »rdf_header », « atom_head », « comments_atom_head », « opml_head », « app_head ») as $action)
{
remove_action($action, »the_generator »);
}

/!\ ATTENTION : Vous devrez répéter cette action pour chaque thème que vous utiliserez /!\

Installation

Bon maintenant que nous avons sécurisé une partie de notre blog, envoyons nos fichiers vers notre serveur web (via SSH de préférence), puis démarrons l’installation de celui-ci :

Remplissez les champs normalement, mais respectez les conseils suivants :

  • Modifiez l’identifiant « admin » en un autre
  • Utilisez un mot de passe fort : au minimum 7 caractères avec des majuscules, des minuscules, des caractères spéciaux et des chiffres

Le blog au jour le jour

Gestion du blog

Votre blog est maintenant installé, voici quelques petites habitudes à prendre pour le gérer en toute sécurité :

  • Si vous n’en avez pas l’utilité, n’autorisez personne à s’inscrire : pour cela, rendez-vous dans Réglages ==> Général ==> Inscription et décochez « Tout le monde peut s’enregistrer ». Sauvegardez.
  • Lorsque vous souhaitez ajouter un nouveau thème, deux choses à faire : Editez votre fichier functions.php afin d’éviter d’afficher votre version de WordPress (comme montré au-dessus) ; Passez votre thème « au peigne fin » grâce à l’extension « Theme Authenticity Checker » pour vérifier que celui-ci ne cache pas de code malicieux.
  • Faites régulièrement la mise à jour de votre WordPress et de vos extensions (dès qu’elles sont disponibles)
  • Lorsque vous n’utilisez plus un ancien thème, supprimez le !
  • Lorsque vous n’utilisez plus une ancienne extension, supprimez la !
  • Si possible, connectez vous en https à votre interface de gestion admin

Les plugins utiles

Vous trouverez ci-dessous quelques plugins qui vont vous permettre d’améliorer la sécurité de votre blog :

  • WP-reCAPTCHA : Un captcha est toujours important, en effet, il se peut que certains robots cherchent à publier du contenu indésirable dans vos commentaires (comme de la pub, des liens …), ce captcha devrait les empecher de faire ça !
  • Login LockDown : Il se peut qu’un pirate cherche à brute-forcer votre mot de passe. Login LockDown empechera quiconque de le faire car il permet de bloquer une adresse IP pendant quelques minutes au bout d’un certain nombre de connexions non fructueuses.
  • Maintenance Mode : Vous êtes entrain de maintenir votre blog ? Il vaut mieux le mettre en mode maintenance pour éviter de diffuser des informations sensibles sur celui ci :)
  • WP Security Scan : WP Security Scan va vous permettre de scanner votre blog afin de relever d’éventuelles failles. C’est aussi grâce à ce plugin que vous devrez modifier l’extension de vos tables WordPress afin de limiter les risques d’injections SQL pour votre site internet.
  • Secure WordPress : Extension qui va vous permettre de sécuriser votre WordPress

Les sauvegardes

Tout bon blogueur qui se respecte doit prévoir des sauvegardes de son blog, je vous ai sélectionné quelques plugins qui permettent de faire cela :

  • WordPress Backup to Dropbox : Vous permet de sauvegarder votre blog (fichiers, images, bdd etc…) vers votre DropBox !
  • Online Backup for WordPress : Sauvegardez en ligne, sur votre serveur web (à éviter!) ou sur votre boite mail votre base de données WordPress
  • WP-DB-Backup : Sauvegardez sur votre serveur web (à éviter !), sur votre ordinateur ou dans votre boite mail votre base de données

Et maintenant ?

N’allez pas crier sur les toits : PIRATES !! Venez m’attaquer !!! Non, il faut savoir rester sur ses gardes, car aucun blog n’est infaillible ! L’idée n’est pas d’empêcher tout le monde de venir hacker votre blog ! L’idée est de limiter le plus possible les personnes aillant les compétences pour avoir un accès non autorisé à votre blog.

Et vous amis blogueurs, comment sécurisez vous votre CMS WordPress ? Que pensez-vous de ce tuto ?Loic FONTAINE

Comments (4)

  1. Bonjour,

    Si je mets le htaccess tel qu’il est écrit sur l’article, je ne peux plus rien faire, j’ai le message suivant qui s’affiche :
    « Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request. »

    Etes-vous sûr de ce contenu ?

    Répondre
  2. Appels d'offres SGC 22 mars 2012 at 20 h 57 min

    Je viens en effet d’abandonner spip pour un site dont je m’occupais au profit de wordpress qui permet maintenant de faire des sites corporate de très grande qualité sans la complexité de Joomla.

    Répondre

Laisser un commentaire

 

Login to your account

Can't remember your Password ?

Register for this site!