lundi 25 mars 2019

Sécuriser un site WordPress en 2019: check list synthétique

WordPress motorise aujourd’hui près de 33% des sites web dans le monde est plus de 60% des sites utilisant un CMS. Corolaire de cette part de marché dominante, il est aussi très exposé aux attaques de hackers. Dans ce contexte, sécuriser son instance WordPress devient un paramètre important si on ne veut pas voir partir en fumée son travail ou se mettre en difficulté vis-à-vis de vos lecteurs. A ce titre, il est important de rappeler qu’en France, l’Article de la loi Informatique et Libertés du 6 janvier 1978 est assez clair : « 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. »

Check list: comment sécuriser son site WordPress


La littérature sur le sujet est riche et en substance assez consistante. Vous trouverez ci-dessous une compilation des règles à implémenter par ordre d’importance croissante.
  1.  Choisir un hébergeur de qualité 
  2. Faire des mises à jours régulières (Core WordPress, thème, plugins) 
    • Eliminer tous les plugins et les thèmes non utilisés 
    • Utiliser un thème maintenu ou passer son thème au scanner: type https://wordpress.org/plugins/tac/ 
    • Même remarque pour les plugins 
  3. Sécuriser les comptes d’accès et la page de login 
    • Remplacer le compte Admin par défaut par un compte peu explicite.
    • Toujours utiliser des mots de passe complexes associant associant lettres, symboles et chiffres de plus de 8 caractères.
    • Changer l'adresse de votre page de login en utilisant un plugin type WPS Hide Login.
    • Restreindre le nombre d’essais d’authentification pour se prévenir d’attaques dites de « force brute » en limitant le nombre d’essais provenant d’une même adresse IP avant blocage et le temps de blocage après blocage en utilisant un plugin du type WPS Limit Login.
  4. Passer le site en https comme décrit dans l'article en lien, mais c’est valable pour tous les sites désormais. 
  5. Sécuriser l’environnement 
    • Installer un scanner de failles de sécurité qui fournit d’autres services de sécurité (type WAF) type WordFence .
    • Ajouter des clefs de sécurité secrètes. Les clés d’authentification SALT créent un cookie d’identification qui protège votre installation et replacer les codes dans la section ad hoc du fichier de config 
    • Protéger en écriture wp-config.php et .htaccess via Filezilla : config 644 
    • Protéger vos répertoires via .htaccess : 
      • Pour protéger le fichier wp-config, ajouter :
             <Files wp-config.php>
             order allow,deny
             deny from all
             </Files>
      • Pour cacher les répertoires sensibles, ajouter:
             Options All –Indexes
      • Enfin pour protéger le fichier htaccess lui-même:
             <Files.htaccess>
             order allow,deny
             deny from all
             </Files>
  6. Faire des sauvegardes régulières du système: fichiers + base de données en utilisant un plugin de backup type UpDraftPlus  ou quand ils existent les services de votre hébergeur. 
  7. Opérations complémentaires:
    •  Changer le préfixe "wp_" par défaut des tables de la base MySQL comme expliqué ici  ou en utilisant un plugin type Brozzme DB Prefix & Tools Addons.
    • Ne pas utiliser le même mail pour le formulaire de contact et l’administration du site.
    • Masquer la version de votre wordpress afin de ne pas donner d'informations aux hackers. En théorie il y a pas mal de choses à faire et si votre site est à jour (conseil #2), c’est inutile. Ceci dit, une tâche facile consiste à enlever le fichier read.html à la racine.

Références bibliographiques en ligne

lundi 25 février 2019

Comment regrouper plusieurs sites un un seul ?

L'idée dans cet article va être déterminer le modus operandi pour regrouper plusieurs sites (et leur trafic) dans un seul, le contenu de plusieurs URLs sous une seule.
D'un pur point de vue référencement, l'autorité à consulter pour engager pareille opération a longtemps été est un certain Matt Cutts, ingénieur chez Google qui partageait des "trucs" officiels pour bien référencer son site.
Et dans la vidéo ci-dessous il expliquer clairement "Comment fusionner 4 sites en un seul sans perdre de trafic SEO ?".



Si vous n'avez pas 1 min à perdre à écouter Matt, sa réponse est la suivante
  • faire attention que le nom de domaine cible soit attractif (ancien, sans passif).
  • utiliser des redirections 301 pour rediriger les URL des sites à fusionner (par exemple B, C et D) vers le site qui recevra toutes les informations (A).
    • Ex .htaccess: "redirect 301 / https://www.nouveausite.com/repertoireanciensite/"
  • le faire par étapes, en commençant par le site qui a le moins de trafic, pour éviter tout problème en cas d'erreur.
  • une fois le premier site redirigé (par exemple vers un répertoire de A) et que tout est est OK, passer au deuxième, etc. Etape par étape donc.



dimanche 24 février 2019

Passer son site en https


 Le https, kesako ?

Le protocole https, ou “secure http”, a été développé pour sécuriser les transactions web. Il est quasiment identique à son alter ego non sécurisé, à la différence qu’il utilise une couche de sécurité supplémentaire en déplaçant les données via le SSL. Il garantit théoriquement la confidentialité et l'intégrité des données envoyées par l'utilisateur (notamment des informations entrées dans les formulaires) et reçues du serveur.
Historiquement, c'était surtout pertinent pour les sites faisant transiter des infos sensibles (au hasard, identifiants ou mots de passe), mais depuis août 2014, Google a officiellement annoncé que le passage d’un site en https pouvait donner un coup de pouce au référencement. Le sujet fait toujours débat: en revanche, les navigateurs mettent des petites alarmes de plus en plus insistantes avec le temps dès que le site n'est pas en https.
Moralité, quand faut-y aller, faut y aller...

Quid des certificats Let's Encrypt ?

 ... et ce d'autant plus, qu'à la différence d'il y a quelques années, le surcoût peut-être proche du néant si on utilise le cerficats gratuits Let's Encrypt.

Let's Encrypt est une autorité de certification lancée en décembre 2015 soutenue par des acteurs majeurs du web (Electronic Frontier Foundation, Fondation Mozilla, OVH, Free). Elle fournit des certificats gratuits X.509 pour le protocole cryptographique TLS au moyen d'un processus automatisé destiné à se passer du processus complexe actuel impliquant la création manuelle, la validation, la signature, l'installation et le renouvellement des certificats pour la sécurisation des sites internet.

La plupart des grands hébergeurs français le propose par défaut (OVH ou O2Switch par exemple).

Comment passer en https ?

L'activation se fait très simplement via la console d'administration de votre hébergeur. Une fois l'opération réalisée, 2 choses restent à faire:
  1. Rediriger les anciennes URL en http vers les nouvelles en https
  2. Vérifier qu'il n'y a pas de contenus mixtes sur vos pages ie. de contenu en http (souvent des composants externes) dans vos pages https.
Rediriger vos pages

C'est assez simple. Il suffit de modifier le .htaccess de votre site en y insérant/modifiant le bout de code suivant:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.monsite.com/$1 [R,L]

Ce code va faire repointer vos page en www sans http et vous pages sans www (http ou https) sur votre site en https avec www (à adapter si vous n'aimez pas garder le www devant vos url).

Traquer le contenu mixte

Lorsque le site affiche des contenus non sécurisés, le cadenas de votre navigateur qui indique si le site est correctement configuré n'est pas au vert. Pour identifier ces éléments perturbants, il suffit de tester sa page avec le service Why No Padlock ? et de suivre les recommandations.