Sécurité Avancé dans WordPress

Classé dans : WebMaster - Mots clés : Wordpress, sécurité

Après un premier article sur la sécurité d'un site WordPress, voici encore un plus d'opérations à effectuer pour sécuriser votre site.

L'article précédent listait les opérations nécessaires à effectuer sur tout site WordPress, nous allons maintenant voir des opérations avancés.

Une faille dans WordPress

L'état actuel dans WordPress du fichier load-scripts.php (ainsi que load-style.php) ouvre la porte à une attaque DOS (Denial of Service - Déni de Service), tel que décrit par  Barak Tawily dans un article bien détaillé.

Le seul moyen d'empêcher une attaque est de modifier ces fichiers dès que possible. Barak propose une version dans son dépôt Git.

Je l'ai légèrement modifié pour ajouter :

  • une copie des fichiers avant de les modifier,
  • la suppression du fichier readme.html (qui peut fournir des informations à un potentiel attaquant).

On peut également modifier sa configuration d'Apache (comme décrit par les networks gurus) pour contrer cette attaque ... mais cela ne sera pas possible dans le cas d'un hébergement mutualisé.

Modification des en-têtes

Toujours dans une recherche de sécurité et de ne pas trop divulguer d'informations à de potentiels attaquants, il faut modifier les en-têtes des pages qui sont renvoyés par un site WordPress.

Typiquement, dans le fichier functions (du thème enfant), on ajoutera les lignes suivantes :

function add_all_headers() {
    header( 'Referrer-Policy: no-referrer' );
    header( 'X-Content-Type-Options: nosniff' );
    header( 'X-XSS-Protection: 1' );
    header( 'X-Frame-Options: DENY' );
    header( 'X-Powered-By: L@u' );
    header( 'Strict-Transport-Security: max-age=31536000' );
    header( "Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdnjs.cloudflare.com https://code.jquery.com https://fonts.googleapis.com, " );
}
add_action( 'send_headers', 'add_all_headers' );

La ligne Content-Security-Policy doit lister toutes les ressources externes appelés. Il peut être intéressant d'utiliser Content-Security-Policy-Report-Only: pour lister les erreurs potentielles durant la phase de test (comme décrit sur le blog de Scott Helme).

A noter que certains de ces headers peuvent être générés par des plugins de sécurité (e.g. SecuPress en génère certains).

Contrôler les vulnérabilités d'un site web

Service Web

Pour vérifier, si un site web est susceptible de prêter le flan à des attaques, on peut utiliser l'excellente application en ligne : Security Headers.

Non seulement l'analyse est complète et suit les liens (contrairement à d'autres) mais en plus, chaque remarque est associé à un lien du blog de Scott Helme qui indique les opérations à effectuer pour résoudre le problème.

Commande Linux

On peut aussi contrôler les headers renvoyés par une page à l'aide de la commande linux :

$ curl -I https:mon-site.com

Application de tests

Si on veut tester toutes les vulnérabilités , on utilisera l'application OWASP-Nettacker, qui permet d'effectuer de nombreux tests et de générer des rapports.

Plus d'informations

On peut lire les informations de Mozilla sur les headers de page web.

On peut aussi utiliser un plugin que je n'avais pas listé précédemment : Cerber.

 

Bonne sécurisation de votre site WordPress ! ! !  wink

[ Aucun commentaire ]

© Le Computing Froggy  !

Écrire un commentaire

Quelle est la première lettre du mot 6ygbehl ? :