Chapitre 2: stratégie de sécurisation
Après avoir pris la précaution de sauvegarder son blog, comment procéder pour éviter au mieux le piratage et autre vandalisme en vogue sur le net?
Ci-dessous, une synthèse des actions à mener depuis le panneau d’administration de WordPress ou bien en intervenant sur certains fichiers clés. Pour la plupart, ces consignes, accessibles, sont très faciles à mettre en œuvre, et sont vraiment importantes en matière de sécurité.
Plan: 3 Chapitres en 5 posts
Chapitre 1
Chapitre 3
- Sécurité côté Serveur
- Identification par .htaccess et .htpasswd
- Autoriser un nombre limité d’adresses IP
- Interdire certaines adresses IP
- Protéger le fichier wp-config.php
- Protéger le fichier .htaccess
- Interdire le listage des fichiers
- Serveur Apache et masquage
- Les CHMOD
- Empêcher l’indexation
- Une connexion sécurité plus plus
- .htaccess, en résumé
1)-Utiliser la dernière version de WordPress
Il est souhaitable de travailler avec la dernière version disponible, puisque de version en version, WordPress améliore la sécurité en éliminant d’éventuelles failles. L’idée est la même pour les plugins. Attention toutefois, de bien vérifier la provenance des mises à jour proposées, il en existe apparemment de fausses…
2)-Changer l’identifiant de l’administrateur
Lors de la création du blog, WordPress attribue par défaut à l’administrateur du blog l’identifiant « admin » et délivre un mot de passe. S’il est souhaitable de modifier cet identifiant, qui est de base le même pour tout nouveau blog WordPress, il n’est pas possible de le changer directement dans le panneau d’administration du blog en le corrigeant par exemple.
Pour renommer l’identifiant par défaut du compte administrateur, la méthode la plus simple est de créer un nouveau compte administrateur et de supprimer l’ancien.
-
1-Créer un nouveau compte
Depuis le panneau d’administration de WordPress, rubrique « utilisateurs » ajouter un nouvel utilisateur en lui attribuant le rôle d’administrateur avec un identifiant très « personnel » et un mot de passe « solide ». Le blog aura donc dorénavant 2 administrateurs différents.
-
2-Déconnexion, reconnexion
A ce stade vous serez toujours connecté sous le compte admin et comme le suicide n’est apparemment pas permis dans le monde WordPress, vous ne pourrez pas le supprimer. Il faudra donc se déconnecter, puis se reconnecter avec l’identifiant et password du nouveau compte.
-
3-Supprimer l’ancien administrateur
Dès lors, le nouvel administrateur pourra supprimer le compte de l’ancien mais surtout en veillant bien à s’attribuer la paternité de tous les posts et liens s’ils existent avant la suppression, sinon ils disparaitront à jamais!
-
4-Méthodes alternatives
Présentées sur le blog nightangel.
3)- Le mot de passe du compte administrateur
Les différentes pistes résumées ci-dessous sont détaillées dans ce post
Actions à mener depuis Worpress
1) Bien choisir son mot de passe
2) Envisager une seconde identification par plugin
3)Limiter les tentatives de connexion
4) Masquer les erreurs de connexion
A noter: solution au niveau du serveur
Il est possible de sécuriser le mot de passe grâce à une seconde identification en installant un fichier .htaccess et un fichier .htpasswd, voir ce post.
4)-Remplir les 4 clés de sécurité de WordPress
Depuis la version 2.6.0, WordPress possède 4 clés de sécurité au sein du fichier wp-config.php. Ce fichier est créé au moment de l’installation et se situe dans la racine du blog. Depuis la version 3.0, des salt ou « grains de sel » ont été ajoutés à chacune des clés de sécurité.
Pour comprendre de quoi il retourne, voir: Info.Cryto.Free ou bien net-actuality
Ces clés, et les salt associés depuis WP 3.0, permettent la sécurisation du mot de passe, elles sont à remplir lors de l’installation ou de la mise à jour d’une version, en remplaçant les phrases par défaut par celles obtenues par un générateur de clés secrètes. Il est possible et même tout à fait souhaitable de les modifier de temps en temps. Cela sera sans incidence sur le fonctionnement du blog, mais provoquera juste une déconnexion pour l’administrateur. La seule contrainte sera donc de se reconnecter.
On obtient quelque chose de cet ordre:
Il s’agit bien sûr d’un exemple à ne pas recopier, vous obtiendrez un code différent et unique en utilisant le générateur de clés secrètes…
5)-Changer le préfixe des tables
Il s’agit ici de changer le préfixe des tables WordPress, qui est par défaut wp_. Le mieux est évidemment de le faire à l’installation. Il est cependant possible de le faire à postériori. Le plugin WP Security Scan, à voir aussi sur le site de l’auteur, Semper Fi Web Design, permet de réaliser, entre autres, cette opération très simplement.
Sinon, pour les plus courageux, voir la méthodologie: blog Loïc Morvan – tdot-blog
6)-Nettoyer l’entête de WordPress
-
L’entête de WordPress
La plupart des thèmes affichent dans l’entête de toute page, trois lignes d’information, dont l’absence n’est généralement aucunement préjudiciable au blog, mais qui, au contraire, risquent de faciliter le travail d’un éventuel hackeur :
- En ligne 1, WordPress affiche automatiquement la version de WordPress de votre blog, en entête. Il est recommandé de laisser d’éventuels pirates dans l’ignorance de ce numéro de version.
- Wordpress génère la ligne 2 à l’intention de tout logiciel d’édition externe, comme Window Live Writer, en lui précisant l’emplacement du fichier xmlrpc.php. Ce dernier contient des paramètres essentiels pour accéder au blog selon le protocole rsd (Really Simple Discovery). Cette ligne est parfaitement inutile lorsqu’on utilise seulement l’éditeur interne de WordPress pour rédiger ses posts.
- La ligne 3 concerne le fichier wlwmanifest.xml pour la prise en charge spécifique de Windows Live Writer. Ligne à supprimer quand on n’utilise pas Windows Live Writer.
-
Cacher seulement la version de WordPress
Pour supprimer seulement l’affichage de la version de WordPress utilisée on peut utiliser des plugins comme Replace WP-Version ou WP Security ScanSupprimer l’affichage de la version de WordPress n’est pas la fonctionnalité la plus importante de ce Plugin .
Il permet de faire le bilan de la sécurisation d’un blog sans demander de compétences particulières.
C’est un outil précieux, voir indispensable..On peut aussi, comme le préconise Emmanuel Georjon, ajouter une ligne de code à la fin du fichier functions.php, fichier qui existe de base dans les versions récentes de WordPress, et se trouve normalement dans le répertoire du thème:
Directory WordPress/wp-content/themes/montheme/functions.php
-
Supprimer les 3 lignes d’entête
Pour supprimer l’affichage des trois lignes dans l’entête, et sans alourdir WordPress avec un énième plugin, il suffit d’ajouter quelques lignes de code, toujours à la fin du fichier functions.php, avant la balise de fermeture php. Voir : Nicolas Fayet
7)-Protéger le fichier wp-config.php
Comme expliqué en détail ici-même sur ce post , ce fichier créé à la racine du blog, au moment de l’installation et de la création de la base de données, contient des informations très sensibles à savoir le nom de la base de données, l’identifiant de l’utilisateur de la base de données, et le mot de passe de connexion. Il contiendra également, les clés de sécurité et le préfixe des tables dont nous avons parlé précédemment.
Protéger wp-config.php en le déplaçant
Depuis la version 2.6.0, WordPress autorise le déplacement de ce fichier plus haut dans la hiérarchie du répertoire. WordPress ira chercher automatiquement le wp-config.php, mais il sera beaucoup plus difficile d’accès et cela ajoute une sécurité supplémentaire.
Voir: Emmanuel Georjon, ou bien encore Smashing magazine
Seule condition: ne pas avoir installé le blog dans la racine du répertoire disponible sur le serveur. Si c’est le cas, il existe une procédure détaillée sur Codex pour changer le nom du répertoire de base de WordPress.
8)-Renommer et/ou déplacer wp-content
Le répertoire wp-content contient le thème du blog ainsi que les plugins. Pour des raisons de sécurité, on peut envisager de le renommer, voir de le déplacer.
-
Renommer le répertoire wp-content
Depuis la version 2.7 de WordPress, il est possible de renommer le répertoire wp-content.
Il faut tout d’abord changer l’intitulé du répertoire en place.
Puis placer une ligne d’instruction dans le fichier wp-config.php pour spécifier la nouvelle appellation: -
Déplacer le répertoire wp-content
Depuis la version 2.6 de WordPress, il est apparemment possible de déplacer le répertoire wp-content. Il est nécessaire de rajouter deux lignes de code dans le fichier wp-congig.php pour spécifier le nouvel emplacement du répertoire. Dans l’exemple ici, le répertoire initialement à la racine du blog, est déplacé dans la directory « blog« , il sera donc plus bas dans la hiérarchie.
Toutefois, la procédure reste assez délicate et le fonctionnement optimal de tous les plugins installés ne semble pas toujours garanti. Prudence donc…
Voir: Codex, moving wp-content ou johngirvin.com ou bien encore, Nightangel ou Codex, Installing WordPress…


Rétrolien : Sécuriser Wordpress, Cpanel et WHM.