La première étape pour sécuriser un peu plus l’administration de WordPress consiste en l’installation d’un plugin nommé “WP Security Scan” disponible ici: http://wordpress.org/extend/plugins/wp-security-scan/
Une fois installé et activé, rendez-vous sur l’onglet WSD Security et cliquez sur WSD Security.
Dans la rubrique “Initial Scan”, contrôlez que tout est au vert. Si tel n’est pas le cas, effectuez les manipulations nécessaires pour y remédier à savoir:
*Avoir la dernière version de WP
* Ne pas avoir “wp_” comme préfixe de table (ceci est à déterminer lors de l’installation de WP).
Dans le cas contraire rendez-vous dans l’onglet “Datatbase” de WP Security, faites une sauvegarde de votre BD puis modifier le préfixe de vos tables dans la zone dédiée à cela.
* Masquer votre version de WP.
Pour ce faire, ouvrez le fichier “functions.php” de votre thème et ajoutez la ligne suivante:
add_filter(‘the_generator’, create_function( ‘$a’, “return null;” ) );
Vous pouvez aussi supprimer dans le fichier “header.php” de votre thème la ligne suivante: <meta name=”generator” content=”WordPress <?php bloginfo(‘version’); ?>” />
Ensuite, supprimez les fichiers “readme.html” et “licence.txt” situés à la racine de votre site car ils contiennent eux aussi le numéro de version de votre WP.
Mais même avec ces petites manip, il est tout de même possible de connaître votre version de WP…
* Masquer les erreurs de votre Base de Données
* WP Security Scan, permet de cacherl’élément meta indiquant la version de votre WordPress
* Pas de login administrateur tel que admin, administrator, administrateur etc.
* Protéger le fichier wp-admin par un .htaccess
Rien de bien compliqué pour cette étape et on va même faire mieux en ajoutant un autre fichier nommé “.htpassword” afin de “crypter le combo login/mot de passe.
Tout d’abord, déconnectez vous de votre administration.
1->Ensuite il vous faut trouver le chemin relatif qui pointe vers le dossier wp-admin. Pour ce faire, créez un fichier nommé “chemin.php” que vous mettrez sur votre serveur dans le fichier “wp-admin” et qui contiendra la ligne suivante: <?php echo realpath('chemin.php'); ?>
2 ->Ensuite, ouvrez votre site dans votre navigateur et ajoutez “/wp-admin/chemin.php” à la suite de l’adresse de votre site.
3->Copiez l’adresse qui s’affiche sur la page sans prendre “/chemin.php”
4->Créez un fichier nommé “x.htaccess” contenant les lignes suivantes:
AuthType Basic
AuthUserFile /CHEMIN RELATIF/.htpasswd
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any
5->Remplacez “CHEMIN RELATIF par le chemin copié précédemment.
6->Créez un fichier que vous nommerez “x.htpasswd”
7->Ensuite créez un fichier “cryptage.php” contenant les lignes suivantes:
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<title>Crypter vos mots de passe</title>
<style type=”text/css”>
label {
display:block;
width:150px;
float:left;
}
</style>
</head>
<body>
<h3>Crypter vos mots de passe</h3>
<p>
<?php
if (isset($_POST['login']) AND isset($_POST['pass']))
{
$login = $_POST['login'];
$pass_crypte = crypt($_POST['pass']); // On crypte le mot de passe
echo ‘Ligne à copier dans le .htpasswd :<br />’ . $login . ‘:’ . $pass_crypte;
}
else // On n’a pas encore rempli le formulaire
{
?>
</p>
<p>Entrez votre login et votre mot de passe pour le crypter.</p>
<form method=”post”>
<p>
<label for=”login”>Login :</label> <input type=”text” name=”login”><br />
<label for=”pass”>Mot de passe :</label> <input type=”text” name=”pass”><br /><br />
<input type=”submit” value=”Crypter !”>
</p>
</form>
<?php
}
?>
<br />
</body>
</html>
8->Envoyez le fichier “cryptage.php” sur votre serveur dans “wp-admin” puis entrez dans un navigateur l’adresse de votre site suivi de “wp-admin/cryptage.php”
9->Choisissez un identifiant et un mot de passe et validez
10->Copiez la ligne qui s’affiche “x.htpasswd”
Renouvelez l’étape 9 et 10 si vous avez d’autres utilisateurs à ajouter
11->Enfin, envoyer les fichiers “x.htaccess” et “x.htpasswd” dans le dossier “wp-admin”, renommez les en “.htaccess” et “.htpasswd” puis effacez les fichiers “chemin.php” et “cryptage.php”
Voilà, votre admin est un peu plus sécurisée, le fichier “.htaccess” est créé et le tout protégé par votre fichier “.htpassword”