Parce qu’on se sent bien en sécurité

Malheureusement personne n’est à l’abri contre les attaques de pirates / hackers malintentionnés. J’imagine qu’il existe 2 styles d’hacking :

  • Le hack réfléchit dans un but précis (négative SEO, vengeance personnelle, …),
  • Le hack pour se faire la main (s’entrainer, se tester, s’amuser, …).

La 2ème option me concerne surement étant donné le peu d’intérêt d’avoir pollué un de mes blogs pauvre en contenu, tout jeune et non référencé.

Ayant donc été victime d’une injection SQL, je vous propose une liste ToDo de conseils à mettre en place lors de la création d’un nouveau blog sous WordPress pour le sécuriser un minimum.

1 – Changer le login « admin » et choisissez un mot de passe complexe

WordPress 3.0 (désormais disponible et avec un nouveau theme wordpress par défaut) permet de choisir dès l’installation un login personnalisé.

Le plugin WP Security Scan permet de scanner votre installation WordPress afin de trouver les éventuelles vulnérabilités de sécurité et vous propose en conséquence les actions correctives à mettre en place. Ce plugin possède également un générateur de password, plutôt utile pour vous aider à choisir un mot de passe digne de ce nom.

Installation et configuration WordPress 3.0

2 – Modifier le préfixe wp_ des tables de la BDD WordPress

Dans sa configuration de base, WordPress ajoute le préfixe wp_ devant le nom de chaque table. Une personnalisation à ce niveau peut être utile lors de l’installation de votre blog WordPress.

A noter que wordpress table rename est un plugin qui permet de modifier ce préfixe sur une base de données WordPress déjà existante. Il va dupliquer vos tables avec le nouveau préfixe et il vous suffira de supprimer manuellement les anciennes tables avec le wp_ !

3 – Protéger WordPress avec un fichier .htaccess

  1. Interdire la consultation des fichiers : Afin d’éviter que les internautes puissent consulter vos fichiers, ajouter la ligne suivante au fichier .htaccess situé à la racine du site.
  2. # Interdire la consultation des fichiers
    Options -Indexes

  3. Sécuriser le répertoire wp-admin et le fichier wp-config.php : Afin de restreindre l’accès à ce répertoire, ajouter les lignes ci-dessous seulement si vous avez une IP fixe sinon mettez en place un accès par mot de passe.
  4. order deny,allow
    deny from all
    # 1ere IP autorisée
    allow from XXX.XXX.XXX.XXX
    # 2nde IP autorisée
    allow from XXX.XXX.XXX.XXX

4 – Optimiser le fichier robots.txt de votre WordPress

Empêcher les robots d’indexer les fichiers sensibles de WordPress, dans tous les cas il ne sert strictement à rien de surcharger l’index de Goolge avec ces contenus inutiles pour l’internaute !

Sitemap: http://www.nomdedomaine.tld/sitemap.xml

User-agent: *
Disallow: /wp-content/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-
Disallow: /feed
Disallow: /comments/feed
Disallow: /feed/$
Disallow: /*/feed/$
Disallow: /*/feed/rss/$
Disallow: /*/trackback/$
Disallow: /*/*/feed/$
Disallow: /*/*/feed/rss/$
Disallow: /*/*/trackback/$
Disallow: /*/*/*/feed/$
Disallow: /*/*/*/feed/rss/$
Disallow: /*/*/*/trackback/$
Disallow: /trackback/
Disallow: /cgi-bin/
Allow: /wp-sitemap.php

User-agent: Googlebot
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.cgi$
Disallow: /*.xhtml$
Disallow: /*.php*
Disallow: */trackback*
Disallow: /*?*
Disallow: /wp-*
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*.txt$
Allow: /images/
Allow: /wp-sitemap.php

5 – Mettre à jour WordPress et faire régulièrement un Backup

Une fois ces recommandations effectuées lors de la création, restez vigilant !

Il est nécessaire de veiller à ce que votre version de WordPress soit à jour ainsi que les plugins utilisés, sachant qu’une maj a pour objectif d’améliorer le CMS / Plugin en corrigeant un ensemble de bugs et de failles de sécurité.

Sauvegarder aussi régulièrement votre blog et surtout votre base de données. WP-DB-Backup est un plugin permettant de sauvegarder facilement votre base de données WordPress.

Matt Cutts intervient sur la question « How do you protect your blog from hackers? »