Catégories
Devops Sécurité

Sécurité des WebApps

Une partie des attaques web peuvent être bloquées en utilisant des mécanismes implémentés dans les navigateurs et activés du coté des serveurs web, reverse proxy (Nginx) ou certains CDNs (Akamai Cloudflare etc.) voir la liste par MDN.

En-têtes HTTP de sécurité

La sécurité est assurée par l’ajout d’en-têtes HTTP de sécurité dont :

  • HSTS (nginx) HTTP Strict Transport Security : force le https
  • CPS Content Security Policy : pour prévenir des attaques XSS en n’autorisant le chargement de contenus que des origines spécifiées
  • Feature Policy : permet de contrôler certaines features et API du navigateur comme la geoloc, microphone, camera etc.

Se faire aider des scanners pour vérifier ses headers.

Implémentations

Nginx

Simple a configurer, et permet de décharger un peu les serveurs applicatifs de cette tache (d’ajout d’en-têtes). A lire aussi ce mémo.

Dotnet Core

l’ajout des en-têtes de sécurité se fait simplement grâce aux middlewares via context.Response.Headers.Add( ) comme nous le montre cet article de c-sharpcorner.

Nodejs/Express

Le middleware Helmet nous fourni la plupart des en-têtes de sécurité, avec la possibilité de les configurer simplement (comme pour les CSP).

Scanner son site

Linux

Nous avons à disposition pas mal d’outil de scan sous Linux :

Web scanners

Plusieurs WebApps nous permettent de scanner notre site pour y détecter les en-têtes de sécurité manquants comme :

Liens