WordPress est un système de gestion de contenu (CMS) parmi les plus populaires au monde.

Il permet de créer facilement et rapidement des sites web performants. Seulement un site web doit également être sécurisé. Sachez que les défaillances de sécurité qui rendaient hier l’entreprise victime en cas d’intrusion ou de dysfonctionnement de son traitement automatisé de données, peuvent désormais la rendre responsable, voire coupable.

Je cite l’article 34 de la loi Informatique et Libertés du 6 janvier 1978 :

« Le responsable du traitement est tenu de prendre toutes précautions utiles, au regard de la nature des données et des risques présentés par le traitement, pour préserver la sécurité des données et, notamment, empêcher qu’elles soient déformées, endommagées, ou que des tiers non autorisés y aient accès. »

On a donc tout intérêt à sécuriser notre site web, et voici comment.

EDIT: Cet article n’est donné qu’à titre indicatif : les liens externes et conseils donnés peuvent varier/expirer dans le temps. Il convient de les adapter à chaque situation. Vous pouvez vous rendre sur Cyberini.com pour accéder au cours complet et à jour sur les failles web si besoin.

Garder WordPress à jour

WordPress est populaire, le nombre d’utilisateurs conséquent implique un nombre de pirates conséquent, à l’affut de la moindre mise à jour oubliée pour exploiter d’éventuels bugs de sécurité.

Il est donc impératif d’effectuer les mises à jour le plus vite possible via votre panneau d’administration.

Les mises à jours sont indiquées directement dès leurs sorties, et cela va de même pour les plugins. N’oubliez pas de mettre à jour vos plugins, ils sont souvent la source d’un piratage réussi.

Sauvegarder régulièrement la base de données et les fichiers

En cas de problème, vous pourrez toujours retrouver vos fichiers et bases de données si déjà vous les aviez sauvegardés auparavant.

Pour sauvegarder la base de données, vous pouvez l’effectuer en ligne de commande, via votre interface d’administration type phpmyadmin, ou via un plugin prévu pour : BackWPup.

Changer l’identifiant

Pour des raisons de sécurité il n’est pas conseillé de garder l’identifiant par défaut « admin ».

Cette étape est assez technique à réaliser seul, vous pouvez donc utiliser l’excellent plugin dont nous reparlerons plus tard : http://wordpress.org/extend/plugins/better-wp-security/

Protéger le serveur

Pour bien sécuriser son site WordPress, il faut également penser au serveur.

Supprimez le fichier readme.html installé à la racine de votre installation qui contient la version de WordPress.

N’oubliez pas de modifier les lignes suivantes de votre fichier wp-config.php :

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

Cachez le contenu de vos répertoires :

Créez ou modifiez le fichier .htaccess à la racine de votre installation et placez y la ligne suivante :

Options All -Indexes

Sécurisez vos fichiers importants:

Placez dans le même fichier .htaccess le code suivant :

<Files wp-config.php>
order allow,deny
deny from all
</Files>
<Files .htaccess>
order allow,deny
deny from all
</Files>

Qui permettra de restreindre l’accès à wp-config.php donc à votre mot de passe de base de données, ainsi qu’au fichier .htaccess lui-même.

Utiliser HTTPS

HTTPS permet de crypter les données transmises entre un client et un serveur.

Lorsque ces données ne sont pas cryptées et sont récupérées à la volée, je ne vous décris pas le problème qu’il peut se passer s’il s’agit du mot de passe administrateur.

Vous devez d’abord activer le module ssl de apache :

sudo a2enmod ssl

Ensuite créez un nouveau fichier dans le répertoire sites-available que vous nommerez « nomsite-ssl »

Placez dans ce fichier :

<VirtualHost *:443>
 ServerName www.votresite.fr
 ServerAlias votresite.fr
 DocumentRoot /var/www/votredossier/
SSLEngine on
 SSLCertificateFile /etc/apache2/server.crt
 SSLCertificateKeyFile /etc/apache2/server.key
 </VirtualHost>

Il reste à générer les fichiers de certificat :

sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/apache2/server.crt -keyout /etc/apache2/server.key

Faites attention lorsqu’on vous demande le « Common Name », il s’agit de votre nom de domaine.

Enfin activez le site avec :

sudo a2ensite nomsite-ssl

et redémarrez apache :

service apache2 reload

Plus d’informations ici : http://doc.ubuntu-fr.org/tutoriel/securiser_apache2_avec_ssl

Une fois cela fait, téléchargez le plugin suivant : http://wordpress.org/plugins/wordpress-https/

Cochez les deux premières cases, cliquez sur Save Changes, et votre site sera maintenant en https pour tout ce qui est administration dont la connexion à votre compte administrateur.

sécuriser son site WordPress

Installer les plugins de sécurité indispensables

Le plugin Better Wp Security est très efficace pour automatiser certaines tâches que nous avons vues. Il permet de sécuriser son site WordPress à l’aide d’une tonne d’options.

Hide My WP protège votre site en cachant les fichiers et dossiers sensibles.

Le plugin Baw anti Csrf quant à lui vous protège des attaques par CSRF.

Rester vigilant encore et toujours !

Un mot de passe compliqué en vaut 10 simples.

N’utilisez pas ce même mot de passe pour plusieurs sites/services différents.

Ne cliquez pas sur des offres trop alléchantes, encore moins si on vous demande votre mot de passe.

Évitez de vous connecter sur un ordinateur qui ne vous appartient pas, car même en HTTPS vous n’êtes pas à l’abri des keyloggers.

Lisez cet article : VOUS êtes la faille : Le Social Engineering (ou Ingénierie sociale en français)

Articles similaires

Menu