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 :
- le tout nouveau Flan scan de CloudFlare basé sur nmap (article)
- Skipfish inclus dans Kali Linux (outil de scan plus général)
- le script http-security-headers de Nmap (spécifiquement les headers HTTP)
- le NSE vulners
Web scanners
Plusieurs WebApps nous permettent de scanner notre site pour y détecter les en-têtes de sécurité manquants comme :
- le Mozilla Observatory
- securityheaders
- le scanner de keycdn
- scanner de Sucuri.net qui retourne ce genre de résultats:
- Missing security header for XSS Protection.
- Missing security header to prevent Content Type sniffing.
- Missing Strict-Transport-Security security header.
Liens
- OWASP cheat sheets (la lsite est longue) et le pdf des TOP 10 failles ainsi que leur OWASP Secure Headers Project
- MDN Sécurité Web et une introduction à la sécurité d’un site Web
- dangers associés aux Script Tiers