Protégez votre site WordPress contre les XSS, le Clickjacking et d’autres attaques

La sécurisation de votre site est essentielle pour votre présence commerciale en ligne. Au cours du week-end, j’ai procédé à une analyse de sécurité de mon site WordPress via Acunetix et Netsparker et j’ai trouvé les vulnérabilités suivantes.

  • En-tête X-Frame-Options manquant
  • Cookie non marqué comme HttpOnly
  • Cookie sans drapeau Secure

Si vous êtes sur un hébergement dédié Cloud ou VPS, vous pouvez injecter directement ces en-têtes dans Apache ou Nginx pour atténuer la vulnérabilité. Cependant, pour le faire directement dans WordPress, vous pouvez procéder comme suit.

Remarque: après la mise en œuvre, vous pouvez utiliser l‘outil Secure Headers Test pour vérifier les résultats.

En-tête X-Frame-Options dans WordPress

L’injection de ce paramètre dans l’en-tête empêchera les attaques par détournement de clics. Le problème ci-dessous a été découvert par Netsparker.

X-Frame-Options Header in WordPress

Solution :

  • Allez dans le chemin d’accès où WordPress est installé. Si vous êtes sur un hébergement partagé, vous pouvez vous connecter à cPanel >> Gestionnaire de fichiers
  • Faites une sauvegarde de wp-config.php
  • Editez le fichier et ajoutez la ligne suivante
header('X-Frame-Options : SAMEORIGIN') ;
  • Sauvegardez et actualisez votre site web pour vérifier.

Le fait d’avoir un cookie avec HTTPOnly indique au navigateur de ne faire confiance qu’au cookie du serveur, ce qui ajoute une couche de protection contre les attaques XSS.

httponly-cookie-wordpress

Le drapeau sécurisé dans le cookie indique au navigateur que le cookie est accessible via des canaux SSL sécurisés, ce qui ajoute une couche de protection pour le cookie de session.

cookie-secure-flag

Remarque: cette procédure fonctionne sur le site web HTTPS. Si vous êtes toujours sur HTTP, vous pouvez envisager de passer à HTTPS pour une meilleure sécurité.

Solution :

  • Faites une sauvegarde de wp-config.php
  • Modifiez le fichier et ajoutez la ligne suivante
@ini_set('session.cookie_httponly', true) ; 
@ini_set('session.cookie_secure', true) ; 
@ini_set('session.use_only_cookies', true) ;
  • Enregistrez le fichier et actualisez votre site web pour le vérifier.

Si vous n’aimez pas pirater le code, vous pouvez utiliser le plugin Shield, qui vous aidera à bloquer les iFrames & et à vous protéger contre les attaques XSS.

Une fois le plugin installé, allez dans les en-têtes HTTP et activez-les.

shield-http-headers

J’espère que ce qui précède vous aidera à atténuer les vulnérabilités de WordPress.

Attendez avant de partir…

Cherchez-vous à mettre en place d’autres en-têtes sécurisés ?

Il y a 10 en-têtes sécurisés recommandés par l’OWASP, et si vous utilisez un VPS ou un Cloud, consultez ce guide d’implémentation pour Apache et Nginx. Cependant, si vous êtes sur un hébergement mutualisé ou si vous voulez le faire dans WordPress, essayez ce plugin.

Conclusion

Sécuriser un site est un défi, et cela nécessite des efforts continus. Si vous souhaitez confier le casse-tête de la sécurité à un expert, vous pouvez essayer SUCURI WAF, qui s’occupe pour vous de la protection et de la performance complètes de votre site web.