L’en-tête Content-Security-Policy
Content Security Policy (CSP) est une norme de sécurité utilisée par les navigateurs modernes pour se protéger contre les attaques par injection de données, telles que le cross-site scripting (XSS). CSP utilise une liste blanche pour déterminer quelles ressources peuvent être chargées en toute sécurité et ignore les sources non vérifiées. Elle consigne également toute tentative de contournement de la politique de sécurité. Pour utiliser cette politique, fournissez au serveur un en-tête HTTP Content-Security-Policy avec une ou plusieurs directives. Chaque directive couvre un type de ressource spécifique. Les directives définissent une politique de sécurité en déclarant des règles pour les ressources. Pour configurer CSP pour votre navigateur, ajoutez le code suivant dans votre fichierweb.config :
web.config.
Pour plus d’informations sur l’en-tête Content-Security-Policy, consultez ce site web.
En-tête HTTP Strict-Transport-Security
HTTP Strict-Transport-Security (HSTS) limite chaque interaction entre le navigateur et le site web à une connexion SSL sécurisée. Un serveur web sur lequel HSTS est configuré contient une instruction indiquant au navigateur d’utiliser exclusivement HTTPS et lui interdit d’utiliser HTTP. HSTS est principalement utilisé pour se prémunir contre les attaques d’interception impliquant des requêtes et des réponses, par exemple les attaques MITM (Man-In-The-Middle). Pour pouvoir utiliser cette politique de sécurité, vous devez utiliser des règles de réécriture d’URL pour ajouter un en-tête Strict-Transport-Security (STS) aux réponses HTTP. Cela est nécessaire pour empêcher les requêtes HTTP indésirables et rediriger tout le trafic HTTP vers HTTPS (selon la logique définie dans les règles). Pour configurer ces règles, vous devez installer le module URL Rewrite. Pour plus d’informations, consultez le site web de Microsoft. Pour configurer HSTS pour votre navigateur, ajoutez le code suivant dans votre fichierweb.config :
max-age définit la durée, en secondes, pendant laquelle la règle s’applique. La valeur 31536000 correspond à un an.
Pour plus d’informations, consultez HSTS dans IIS 10 version 1709 dans la documentation Microsoft.
Les en-têtes X-Powered-By et X-AspNet-Version
Outre les en-têtes HTTP essentiels pour renforcer la sécurité de votre serveur web, il existe également des en-têtes facultatifs. Les en-têtes facultatifs ne sont souvent régis par aucune norme. Ils augmentent également le trafic généré par chaque requête HTTP, ce qui facilite les attaques malveillantes. Voici deux de ces en-têtes facultatifs :- X-Powered-By est un en-tête HTTP qui contient des informations sur diverses technologies utilisées par le serveur web.
- X-AspNet-Version est un en-tête HTTP qui contient des informations sur la version d’ASP.NET utilisée pour déployer des applications sur le serveur web.
web.config :
web.config :
L’en-tête X-XSS-Protection
X-XSS-Protection est un en-tête HTTP utilisé par les navigateurs pour empêcher les attaques de type Cross-Site Scripting. Cet en-tête fonctionne en activant un filtre XSS, qui intercepte les tentatives indésirables d’insertion de code tiers malveillant dans des pages web ouvertes dans un navigateur. X-XSS-Protection est compatible avec les navigateurs suivants : Internet Explorer 8+, Chrome et Safari. La plupart des navigateurs modernes appliquent une politique de sécurité plus stricte, telle que Content-Security-Policy. Cet en-tête n’est donc nécessaire que sur un ancien navigateur qui ne prend pas en charge CSP. Pour activer l’en-tête X-XSS-Protection pour votre navigateur, copiez le code suivant dans votre fichierweb.config :
L’en-tête X-Content-Type-Options
X-Content-Type-Options est un en-tête HTTP que les navigateurs utilisent pour bloquer les attaques exploitant des vulnérabilités MIME (Multipurpose Internet Mail Extensions). MIME est une norme Internet pour le contenu transmis via une connexion Internet. Les navigateurs traitent chaque fichier fourni par le serveur web en fonction de son type MIME. Ils déterminent le type de ressource à partir de l’en-tête de réponse Content-Type ou en inspectant le contenu de la ressource. Cette deuxième méthode permet à des attaquants de faire passer des fichiers HTML pour un autre type. La seule directive disponible pour cet en-tête est la directivenosniff. Elle indique aux navigateurs d’utiliser uniquement le type MIME spécifié par le serveur web.
Pour activer l’en-tête X-Content-Type-Options pour votre navigateur, collez le code suivant dans votre fichier web.config :
L’en-tête Server
L’en-tête Server est un en-tête de réponse décrivant l’application utilisée par le serveur source pour traiter une requête, y compris son numéro de version. L’exposition de ces informations à des tiers constitue une menace pour la sécurité ; supprimez donc le contenu de l’en-tête Server. Pour supprimer le contenu de l’en-tête Server, ajoutez le code suivant dans votre fichierweb.config :
L’en-tête X-Frame-Options
Par défaut, les sites web d’autres entreprises peuvent intégrer les Web Stations ABBYY FlexiCapture dans une iFrame. Si le framesniffing est un problème, bloquez l’intégration dans des cadres interdomaines.Empêcher l’intégration dans des cadres interdomaines
Sélectionner le site
Ouvrir En-têtes de réponse HTTP
Ajouter un en-tête
Définir la valeur X-Frame-Options
Vulnérabilité Slow HTTP POST
La vulnérabilité Slow HTTP POST est une variante d’une attaque par déni de service HTTP lente (DoS), également appelée attaque HTTP Slowloris. Lors d’une attaque Slow HTTP POST, l’attaquant annonce un volume important de données destinées à une requête HTTP POST, puis les envoie très lentement. Pour corriger la vulnérabilité, configurez les Web Limits dans les configurations IIS sur chaque machine exécutant le serveur d’applications. Définissez des limites pour les paramètres suivants :ConnectionTimeoutMinFileBytesPerSec
Utiliser HTTPS plutôt que HTTP
HTTP ne dispose d’aucun mécanisme de chiffrement des données. HTTPS ajoute un certificat numérique SSL ou TLS qui sécurise les communications entre le serveur et le client. Forcez l’ensemble du trafic entre le navigateur de l’utilisateur et le serveur web à passer par HTTPS. HTTP utilise le port 80 par défaut ; fermez donc ce port pour empêcher son utilisation.Utilisez une version récente de TLS et des chiffrements robustes
TLSv1.1 est un protocole de chiffrement faible. Un attaquant peut l’exploiter pour intercepter des communications sécurisées ou modifier des messages. Utilisez toujours la version la plus récente de TLS disponible, avec uniquement des chiffrements robustes. Pour consulter la liste des chiffrements recommandés, reportez-vous à la page TLS côté serveur du wiki Mozilla.Configurer l’ordre des suites de chiffrement SSL via une stratégie de groupe
Ouvrir l’éditeur de stratégie de groupe
gpedit.msc. L’Éditeur d’objet de stratégie de groupe s’affiche.Ouvrir les paramètres de configuration SSL
Ouvrir l’ordre des suites de chiffrement
Faire défiler jusqu’aux instructions
Modifier le paramètre
Protection contre les attaques par déni de service distribué
Une attaque par déni de service distribué (DDoS) submerge une application de requêtes HTTP. Le trafic augmente fortement et l’application devient inaccessible aux utilisateurs légitimes. Il peut être difficile de détecter ce type d’attaque, car il est souvent compliqué de distinguer le trafic légitime du trafic malveillant. Configurez IIS pour bloquer un client qui dépasse soit le nombre de requêtes autorisé sur une période donnée, soit le nombre de requêtes simultanées autorisé.Bloquer les clients qui dépassent les limites de requêtes
Ouvrir IP Address and Domain Restrictions
Modifier les paramètres de restriction dynamique
Choisir une méthode de refus
- Deny IP Address based on the number of concurrent requests
- Deny IP Address based on the number of requests over a period of time
Enregistrer les paramètres
Restreindre l’accès à partir d’adresses IP spécifiques
IIS peut également bloquer des adresses IP spécifiques, et vous choisissez ce que le serveur fait lorsqu’une adresse restreinte tente d’accéder à votre application.Ouvrir IP Address and Domain Restrictions
Modifier les paramètres de restriction dynamique
Choisir une action de refus
Enregistrer les paramètres
Activer le mode proxy pour les adresses IP partagées
Lorsque plusieurs utilisateurs envoient des requêtes HTTP à partir d’une même adresse IP, activez le mode proxy dans les paramètres du serveur IIS. Le serveur proxy transmet alors l’en-têtex-forwarded-for au serveur web, ce qui permet d’identifier chaque utilisateur.
Ouvrir IP Address and Domain Restrictions
Modifier les paramètres de fonctionnalité
Activer le mode proxy
Enregistrer les paramètres
