WordPress est un des CMS les plus utilisés au monde. Ce succès n’est pas sans risque et va vous obliger à prendre de bon réflexe dès le début de l’aventure.
Que vous soyez un développeur débutant ou aguerri, il y a peut-être des conseils qui vous serviront dans ceux qui vont suivre.
Dès l’installation
À l’installation de WordPress, un certains nombre de pièges sont à éviter.
Le pseudo d’administrateur
Il vous faut choisir un pseudo, une information qui ne sera connue que par vous et qui ne devra pas être publique. Dans l’idéal il ne faudrait pas qu’il s’agisse de votre pseudonyme public. (qui pourra être choisi plus tard)
Une suggestion d’Alex sur GeekPress était d’utiliser un générateur de mot de passe pour le pseudonyme. Pourquoi pas !
Que faire si vous avez choisi « Admin » en guise de pseudo, ou si votre pseudo est votre nom public ?
Vous pouvez en changer. Pour cela voici la marche à suivre :
- rendez-vous dans le menu de l’administration Utilisateurs > Ajouter ;
- ajoutez un utilisateur qui deviendra le super administrateur ;
- renseignez un identifiant personnel, puis vos nom et prénom (ou un pseudo public) ;
- choisissez en « Nom à afficher publiquement » un nom différent de votre identifiant (sera composé avec le nom et le prénom si renseignés) ;
- enregistrez le nouveau profil ;
- supprimez le compte « admin » en n’oubliant pas de vous attribuer les articles si vous en avez déjà écrit.
Un mot de passe costaud
Un mot de passe facile à trouver n’est vraiment pas recommandé (nom commun, prénom, date, etc.)
L’idéal est qu’il soit composé d’au moins 8 caractères comprenant au moins une lettre majuscule, une minuscule, un chiffre et un caractère autre qu’alphanumérique, et que des caractères identiques ne se répètent pas trois fois de suite.
En utilisant ce générateur de mot de passe, en cochant toutes les cases et en choisissant 10 caractères, vous obtiendrez un mot de passe convenable. Si vous possédez déjà votre propre mot de passe, vous pouvez le tester sur http://howsecureismypassword.net/
Changer le préfixe « wp_ » des tables SQL
WordPress possède un certain nombre de tables SQL qu’il installe sur votre base de données.
Par défaut ces tables sont préfixées d’un « wp_ ».
Il est donc facile de connaître le nom des tables si le préfixe n’est pas changé, ce qui facilite d’éventuelles injections SQL.
Pour changer ce préfixe, soit vous avez pris le temps de le faire lors de l’installation de WordPress en changeant la valeur de la variable $table_prefix = 'wp_';
du fichier wp-config.php
, soit vous pouvez passer par le plugin WP Security Scan qui propose bien d’autres services à côté de celui-ci.
Le choix du préfixe est à votre convenance, cependant évitez les initiales de votre site (ex: « swp_ » pour SuperWordPress.net), c’est une pratique trop courante.
Clefs uniques d’authentification et salage
WordPress, depuis sa version 2.6.0 propose un système de salage que vous devez utiliser !
Tout se passe dans le fichier wp-config.php
, il vous faut remplacer 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');
Par celles fournies sur cette page : Service de clefs de salage de WordPress.
Il vous est possible de changer ces clefs à tout moment pour invalider les cookies. Cela forcera tous les utilisateurs à se reconnecter.
Avec la mise en application de ces quelques conseils, vous devriez pouvoir commencer sur de bonnes bases.
Après l’installation
Quelques actions de votre part qui peuvent être bénéfiques pour la sécurité de votre site :
- Changer régulièrement vos mots de passe
- Mettez à jour WordPress, vos plugins et vos thèmes si possible
- Transférez vos fichiers en SFTP lorsque c’est possible (Connect to your WordPress via secure FTP)
- Faites une sauvegarde régulière de votre base de données et de vos fichiers (notamment ceux de
wp-content/
) - Suivez les prochaines articles de ce dossier
merci pour ces précieux conseils 🙂
surtout quand on voit le nombre de site piraté, la sécurité de son site web n’est pas à négligé !
Pour le mot de passe, tu me dis donc que « aaaaaaaA1# » est sécure ? Perso, je ne trouve pas. Je t’invite à le tester que http://howsecureismypassword.net/ en sachant que les valeurs retournées sont bien en deça.
Maintenant je recommande plutôt d’utiliser 3 mots simples mais assez long, tous en minuscule, pas besoin de chiffres ou autre trucs non mémorable et complexe.
Je prends … « wordpress password efficace » et de le tester sur le même site, tu comprendras vite ce qu’est un bon mot de passe 😉
Ce n’est pas sa complexité pour l’oeil d’un humain qui en fait un bon, mais plutôt un long mot de passe fait de lui un bon.
Pour ce qui est des clés uniques, il faut savoir que WordPress les utilise en couple key/salt.
Donc AUTH_KEY est hashé avec AUTH_SALT.
Si *_SALT n’a pas été modifié et est donc encore « put your unique phrase here », WordPress va créer/générer ces clés SALT dans votre base de données !
Aussi il existe « SECRET_KEY » qui est la clé par défaut pour toutes les *_KEY dans le cas d’une demande de wp_salt() avec un scheme inconnu, utilisé pour un plugin perso par exemple.
Ce commentaire n’est qu’information supplémentaire, l’article est parfait.
Salut Julio,
Merci pour ces compléments et pour ta remarque très pertinente sur les mots de passe.
Je rajoute un lien vers http://howsecureismypassword.net/ dans l’article, c’est une excellente ressource.
Disons que je ne vois pas comment expliquer que plusieurs mots du dico sont plus sécurisant qu’un seul, ça me semble plus simple de fournir un outil tel que generateurdemotdepasse.com.
C’est là que la ressource que tu proposes peut-être intéressante puisque l’utilisateur pourra tester son mot de passe habituel s’il croise cet article dans les méandres du net ^^
Je file lire tes autres commentaires !
C’est faux, tu peux avoir un mot de passe de 50 caractères, si il n’y a que des lettres ça ne prendra pas longtemps pour le trouver en bruteforce. Un petit mot de passe avec plus de types de caractères est déjà bien plus sécurisé. Car le nombre de lettres n’est qu’un multiplicateur, alors que le nombre de caractères différents possibles sont des puissances, en terme de complexité. Un exemple simple, un mot de passe de 2caractères avec 100caractères possibles mettra 200calculs. Un mot de passe de 4caractères avec 20caractères possibles en mettra 80. La longueur n’est pas très utile, un mot de passe de 8caractères qui contient alphabet (min + maj) + chiffres + caractères spéciaux est suffisamment sécurisé, dans la limite du bon sens.
Hello
Je te cite
« le nombre de lettres n’est qu’un multiplicateur, alors que le nombre de caractères différents possibles sont des puissances »
« un mot de passe de 2 caractères avec 100 caractères possibles mettra 200 calculs »
(Le « 2 caractères » je pense que tu voulais dire « d’une longueur de 2 »)
2^100 = 200 ? ha bah je vais retourner à l’école alors, merci
« je ne vois pas comment expliquer que plusieurs mots du dico sont plus sécurisant qu’un seul »
Ce n’est qu’une question de taille 😉
Mon mot de passe est très long, un brute force va mettre des plombe à le trouver.
Mais ton systeme de 8 caractères reste faible, car pour un script, le caractère « @ » ou « a » c’est toujours un caractère, il n’a pas plus de difficulté à brute forcer un « @ », un « # » ou un « a » !
Par contre, tester toutes les combinaisons possible sur 8 ou 16 caractères, là c’est plus long … tout simplement.
J’ajouterais aussi dans cette liste de conseils de sécurité un élément crucial : sécurisez l’ordinateur sur lequel seront stockés vos identifiants et mots de passe. Un trojan ou un virus peut très facilement les récupérer pour ensuite pirater votre site en s’y connectant très facilement.
A ma connaissance, si WordPress est configuré pour afficher les auteurs des articles, il s’affiche le nom public de l’auteur.. bien mais souvent le theme laisse un lien sur ce nom afficher et ce lien contient le username !
Bonjour Denis,
C’est vrai que WordPress affiche le username de base dans l’URL et la « body_class ». Cependant il existe des moyens pour éviter cela, comme par exemple sur mon blog, l’utilisateur (login) « geoffrey » n’existe pas, et pourtant :
http://www.creativejuiz.fr/blog/auteur/geoffrey
C’est grâce au plugin de ScreenFeed : http://wordpress.org/plugins/sf-author-url-control/
Bonne journée,
Geoffrey
J’avais justement créé un plugin avec Julio pour masquer le plus possible le login de l’utilisateur : SX User Name Security. En le combinant avec SF Author URL Control, on peut (enfin) cacher entièrement le login de chaque utilisateur.
En effet 🙂
Merci pour ce complément Daniel.
Merci beaucoup pour tous ces super conseils mais quel est la différence entre un ftp et un sftp et pourquoi privilégier le sftp? Merci et bonne journée.
Bonjour,
Si l’anglais ne te fait pas peur, un peu de lecture : http://www.wise-ftp.com/know-how/ftp_and_sftp.htm
Bonne journée.
Passant par là je ne résiste pas à l’idée de donner une astuce simple si vous êtes en hébergement mutualisé.
Dans ce cas de figure, le serveur est infogéré par votre hébergeur, s’il se fait pirater, c’est son problème contrairement au dédiés.
Du coup en interdisant le répertoire wp-admin par un htaccess avec cette simple ligne (deny from all, deuxième ligne, allow from votre ip) vous obligez à forcer le serveur pour changer ce fichier… ce qui bien sûr entraine quand même si l’hébergeur est bon, est haut niveau de connaissance pour une cible (que vous êtes sûrement) souvent insignifiante. Ca permet de se dégager de beaucoup de risque.
Bonne continuation à tous.