security cors csp xss csrf web-dev

En-têtes de sécurité Web et attaques : CORS, CSP, XSS et CSRF

Protégez vos applications web des menaces courantes. Apprenez à implémenter des en-têtes comme CSP et HSTS pour contrer le XSS et le CSRF.

2026-04-11

En-têtes de Sécurité Web et Attaques Courantes : Un Guide Complet

La sécurisation d'une application web moderne nécessite une approche multicouche. De la couche réseau où les pare-feu filtrent le trafic à la couche application où les en-têtes de sécurité indiquent aux navigateurs comment se comporter, chaque couche joue un rôle critique. Ce guide explore les outils et les en-têtes essentiels que vous devez connaître pour vous défendre contre les attaques web les plus courantes.

1. Défense de la Couche Réseau : Pare-feu et Prévention des Intrusions

La première ligne de défense se situe souvent au niveau du serveur. Des outils tels que les pare-feu et les systèmes de prévention des intrusions surveillent le trafic entrant et bloquent les acteurs malveillants avant même qu'ils n'atteignent votre application.

Outils de Pare-feu : iptables, nftables et ufw

  • iptables : L'outil de pare-feu Linux traditionnel pour gérer le filtrage des paquets IPv4 et le NAT. Il utilise des "chaînes" et des "règles" pour décider quoi faire des paquets entrants.
  • nftables : Le successeur moderne d'iptables, conçu pour le remplacer par une syntaxe plus efficace et flexible. Il fournit un cadre unifié pour l'IPv4 et l'IPv6.
  • ufw (Uncomplicated Firewall) : Une interface conviviale pour gérer iptables/nftables. C'est l'outil de configuration de pare-feu par défaut pour Ubuntu et il est parfait pour les développeurs qui veulent des règles simples et faciles à gérer.

fail2ban

fail2ban est un logiciel de prévention des intrusions qui protège les serveurs contre les attaques par force brute. Il scanne les fichiers journaux à la recherche de tentatives de connexion échouées répétées et met à jour les règles du pare-feu pour "bannir" les adresses IP pendant une durée spécifiée.


2. En-têtes de Sécurité Web Essentiels

Les en-têtes de sécurité sont des en-têtes de réponse HTTP qui indiquent au navigateur comment gérer le contenu de votre site. Ils constituent un moyen puissant et peu coûteux d'atténuer de nombreux types d'attaques.

CSP (Content Security Policy)

Le CSP est l'un des en-têtes de sécurité les plus importants. Il vous permet de spécifier quelles sources de contenu (scripts, styles, images) sont fiables. En restreignant l'endroit d'où les scripts peuvent être chargés, le CSP est la principale défense contre le XSS (Cross-Site Scripting).

HSTS (HTTP Strict Transport Security)

Le HSTS indique au navigateur que le site web ne doit être consulté que via HTTPS. Cela empêche les attaques de type "SSL stripping" et garantit que toutes les communications sont cryptées.

SRI (Subresource Integrity)

Le SRI est une fonction de sécurité qui permet aux navigateurs de vérifier que les ressources qu'ils récupèrent (par exemple, à partir d'un CDN) sont livrées sans manipulation inattendue. Il utilise un hachage cryptographique pour garantir l'intégrité du fichier.

CORS (Cross-Origin Resource Sharing)

Bien qu'il ne s'agisse pas strictement d'un "en-tête de sécurité" au sens d'un verrouillage, le CORS est un mécanisme qui permet à des ressources restreintes sur une page web d'être demandées à partir d'un autre domaine en dehors du domaine à partir duquel la première ressource a été servie. Configurer correctement le CORS est vital pour empêcher l'accès non autorisé aux données.


3. Comprendre et Atténuer les Attaques Courantes

XSS (Cross-Site Scripting)

Le XSS se produit lorsqu'un attaquant injecte des scripts malveillants dans un site web de confiance. Cela peut être utilisé pour voler des cookies, des jetons de session ou des informations sensibles.

  • Défense : Utilisez le CSP, nettoyez les entrées utilisateur et encodez les données avant de les rendre dans le navigateur.

CSRF (Cross-Site Request Forgery)

Le CSRF est une attaque qui force un utilisateur authentifié à exécuter des actions indésirables sur une application web dans laquelle il est actuellement authentifié.

  • Défense : Utilisez des jetons anti-CSRF, des attributs de cookies SameSite et vérifiez les en-têtes Origin ou Referer.

SSRF (Server-Side Request Forgery)

Dans une attaque SSRF, l'attaquant peut abuser des fonctionnalités du serveur pour lire ou mettre à jour des ressources internes. L'attaquant peut fournir une URL vers laquelle l'application côté serveur effectuera une requête.

  • Défense : Validez les URL fournies par l'utilisateur, utilisez des listes d'autorisation pour les requêtes sortantes et restreignez l'accès au réseau interne à partir du serveur d'application.

Conclusion

La sécurité web est un processus continu d'amélioration et de surveillance. En combinant des outils robustes au niveau du réseau comme ufw et fail2ban avec des en-têtes puissants au niveau de l'application comme CSP et HSTS, vous pouvez réduire considérablement la surface d'attaque de vos applications. Restez informé, gardez vos outils à jour et donnez toujours la priorité à la sécurité des données de vos utilisateurs.