Planifier et implémenter un pare-feu d’applications web

Effectué

Le pare-feu d’applications web (WAF) permet de centraliser la protection de vos applications web contre les vulnérabilités et les attaques courantes. Les applications web sont de plus en plus ciblées par des attaques malveillantes sophistiquées qui exploitent les vulnérabilités couramment connues. L’injection SQL et les scripts intersites restent parmi les attaques les plus courantes, ainsi que les menaces émergentes telles que les abus d’API et les attaques basées sur des bots.

Diagramme montrant comment le pare-feu d’applications web (WAF) fournit une protection centralisée de vos applications web contre les failles et vulnérabilités courantes.

Il est difficile d’empêcher de telles attaques dans le code d’application. Cela peut nécessiter une maintenance rigoureuse, une mise à jour corrective et la surveillance au niveau de plusieurs couches de la topologie de l’application. Un pare-feu d’applications web centralisé facilite la gestion de la sécurité. Un pare-feu WAF offre également aux administrateurs d’application une meilleure garantie de protection contre les menaces et intrusions .

Une solution WAF peut également réagir plus rapidement à une menace de sécurité en corrigeant une vulnérabilité connue de façon centralisée plutôt que de sécuriser individuellement chacune des applications web.

Service pris en charge

WAF peut être déployé avec Azure Application Gateway, Azure Front Door et le service Azure Content Delivery Network (CDN) de Microsoft. WAF comprend des fonctionnalités qui sont personnalisées pour chaque service spécifique. Pour plus d’informations sur les fonctionnalités de WAF pour chaque service, consultez la vue d’ensemble de chaque service.

Le pare-feu d’applications web Azure (WAF) sur Azure Application Gateway protège activement vos applications web contre le code malveillant exploitant une faille de sécurité et les vulnérabilités courantes. À mesure que les applications web deviennent des cibles plus fréquentes pour les attaques malveillantes, celles-ci exploitent souvent des vulnérabilités connues, comme l’injection SQL et le scripting inter-site.

WAF sur Application Gateway est basé sur l’ensemble de règles de base (CRS) à partir du projet OWASP (Open Web Application Security Project).

Toutes les fonctionnalités WAF suivantes se trouvent dans une stratégie WAF. Vous pouvez créer plusieurs stratégies, qui peuvent être associées à une Application Gateway, à des écouteurs individuels ou à des règles d’acheminement basées sur le chemin d’une Application Gateway. De cette façon, vous pouvez avoir des stratégies distinctes pour chaque site derrière votre Application Gateway, si nécessaire.

Diagramme montrant un exemple de pare-feu d’applications web et de fonctionnalités de passerelle d’application web.

Application Gateway fournit de nombreuses fonctionnalités de contrôleur de livraison d’applications (ADC). Ce service offre une terminaison TLS (Transport Layer Security), anciennement SSL (Secure Sockets Layer), une affinité de session basée sur les cookies, une distribution de charge par tourniquet (round robin), un routage basé sur le contenu, la possibilité d’héberger plusieurs sites web et des améliorations de sécurité.

Application Gateway améliore la sécurité via la gestion de stratégies TLS et la prise en charge de TLS de bout en bout. L’intégration de WAF à Application Gateway renforce la sécurité des applications. Cette combinaison défend activement vos applications web contre les vulnérabilités courantes, et offre un emplacement centralisé facile à gérer et à configurer.

Protection

  • Protégez vos applications web contre les vulnérabilités et attaques web sans modification du code principal.
  • Protection simultanée de plusieurs applications web. Une instance d’Application Gateway peut héberger jusqu’à 40 sites web protégés par un pare-feu d’applications web.
  • Créer des stratégies WAF personnalisées pour différents sites derrière le même pare-feu d’applications web.
  • Protégez vos applications web contre des bots malveillants avec l’ensemble de règles de réputation IP.
  • Protégez votre application contre les attaques DDoS avec des fonctionnalités de protection intégrées.

Supervision

Surveillez les attaques dirigées contre vos applications web à l’aide d’un journal WAF en temps réel. Le journal est intégré à Azure Monitor pour suivre les alertes WAF et surveiller facilement les tendances.

Le pare-feu d'applications web (WAF) Application Gateway est intégré à Microsoft Defender for Cloud. Defender for Cloud fournit une vue centrale de l'état de sécurité de toutes vos ressources Azure, hybrides et multiclouds.

Personnalisation

  • Personnalisez des règles et groupes de règles WAF pour les besoins de votre application et pour éliminer les faux positifs.
  • Associez une stratégie WAF pour chaque site derrière votre WAF afin d’autoriser la configuration spécifique au site.
  • Créez des règles personnalisées pour répondre aux besoins de votre application.

Fonctionnalités

  • Protection contre les injections de code SQL.
  • Protection contre l’exécution de scripts de site à site.
  • Protection contre d’autres attaques web courantes comme l’injection de commande, les dissimulations de requêtes HTTP, la séparation de réponse HTTP et l’inclusion de fichier distant.
  • Protection contre les violations de protocole HTTP.
  • Protection contre les anomalies de protocole HTTP comme un agent-utilisateur hôte manquant et les en-têtes Accept.
  • Protection contre les robots d’indexation et les scanneurs.
  • Détection de configurations incorrectes d’application courantes (par exemple, Apache et Internet Information Services).
  • Limites de taille de demande configurables avec seuils inférieur et supérieur.
  • Des listes d’exclusion vous permettent d’omettre certains attributs de demande d’une évaluation de pare-feu d’applications web. À titre d’exemple courant, citons les jetons insérés par Microsoft Entra ID qui sont utilisés pour les champs d’authentification ou de mot de passe.
  • Créez des règles personnalisées pour répondre aux besoins spécifiques de votre application.
  • Géofiltrez le trafic pour autoriser ou bloquer l’accès de certains pays/régions à vos applications.
  • Protégez vos applications des bots avec l’ensemble de règles d’atténuation des risques des bots.
  • Inspecter la notation d’objet JavaScript (JSON) et le langage XML (Extensible Markup Language) dans le corps de la requête

Stratégie et règles WAF

Pour activer un pare-feu d’applications web sur Application Gateway, vous devez créer une stratégie WAF. Cette stratégie est l’endroit où se trouve l’ensemble des règles managées, des règles personnalisées, des exclusions et d’autres personnalisations, comme une limite de chargement des fichiers.

Vous pouvez configurer une stratégie WAF et l’associer à une ou plusieurs passerelles d’application pour la protection. Une stratégie WAF se compose de deux types de règles de sécurité :

  • Les règles personnalisées que vous créez
  • Ensembles de règles managées qui rassemblent les règles préconfigurées managées par Azure

Quand ces deux types de règles sont utilisés conjointement, les règles personnalisées sont appliquées avant celles d’un ensemble de règles managées. Une règle est constituée d’une condition de correspondance, d’une priorité et d’une action. Les types d’actions pris en charge sont les suivants : ALLOW, BLOCK et LOG. Vous pouvez créer une stratégie entièrement personnalisée qui répond aux exigences de protection spécifiques de votre application en combinant des règles personnalisées et des règles managées.

Les règles d’une stratégie sont traitées selon un ordre de priorité. La priorité est représentée par un entier unique qui définit l’ordre des règles à traiter. Plus la valeur entière est petite, plus la priorité est élevée ; les règles ayant des valeurs inférieures sont évaluées avant les règles ayant des valeurs plus élevées. Une fois qu'une correspondance de règle est trouvée, l’action associée définie dans la règle est appliquée à la requête. Une fois qu’une telle correspondance est traitée, aucune autre règle avec une priorité inférieure n’est traitée.

Une application web fournie par Application Gateway peut être associée à une stratégie WAF au niveau global, au niveau de chaque site ou au niveau de chaque URI.

Ensembles de règles de base

Application Gateway prend en charge plusieurs ensembles de règles, notamment CRS 3.2 (recommandé), CRS 3.1 et CRS 3.0. Ces règles protègent vos applications web contre les activités malveillantes. CRS 3.2 offre une meilleure précision, de meilleures performances et une protection améliorée contre les menaces modernes.

Règles personnalisées

Application Gateway prend également en charge des règles personnalisées. Avec des règles personnalisées, vous pouvez créer vos propres règles qui sont évaluées pour chaque requête passant par le WAF. Ces règles ont une priorité plus élevée que les autres règles des ensembles de règles gérés. Si un ensemble de conditions sont remplies, une action est entreprise pour autoriser ou bloquer. Les règles personnalisées sont utiles pour répondre aux exigences de sécurité spécifiques à l’application ou atténuer les faux positifs des règles gérées.

Ensemble de règles de protection bot

Vous pouvez activer un ensemble de règles de protection des bots managées afin d’effectuer des actions personnalisées sur les requêtes provenant de toutes les catégories de bots connues.

Trois catégories de bots sont prises en charge :

  • Mauvais : les bots malveillants incluent des bots provenant d’adresses IP malveillantes et de bots qui falsifient leurs identités. Les robots malveillants dotés d'adresses IP suspectes proviennent des indicateurs de haute confiance de compromission IP du flux Microsoft Threat Intelligence.
  • Bon - De bons bots incluent des moteurs de recherche validés tels que bingbot et d’autres agents utilisateur approuvés.
  • Inconnu - Les bots inconnus sont classés par le biais d’agents utilisateur publiés sans plus de validations. Par exemple, analyseur de marché, récupérateurs de flux et agents de collecte de données. Les bots inconnus incluent également des adresses IP malveillantes qui proviennent des indicateurs IP de compromission du flux de Veille des menaces Microsoft de confiance moyenne.

La plateforme WAF gère et met à jour dynamiquement les signatures de bot.

Capture d’écran montrant un exemple de signatures de bot.

Vous pouvez affecter Microsoft_BotManagerRuleSet_1.0 en utilisant l’option Attribuer sous Ensembles de règles managés :

Capture d’écran montrant un exemple d’affectation de jeux de règles managés.

Lorsque la protection bot est activée, elle bloque, autorise ou journalise les requêtes entrantes qui correspondent aux règles de bot en fonction de l’action configurée. Par défaut, elle bloque les bots malveillants, autorise les analyseurs des moteurs de recherche vérifiés, bloque les analyseurs des moteurs de recherche inconnus et journalise les bots inconnus. Vous pouvez définir des actions personnalisées pour bloquer, autoriser ou journaliser différents types de bots.

Vous pouvez accéder aux journaux WAF à partir d’un compte de stockage, d’un hub d’événements, d’analytique des journaux, ou envoyer des journaux à une solution partenaire.

Modes WAF

Le pare-feu d’applications web d’Application Gateway peut être configuré pour s’exécuter dans les deux modes suivants :

  • Mode de détection : surveille et consigne toutes les alertes de menace sans bloquer le trafic. Vous activez la journalisation des diagnostics pour Application Gateway dans la section Diagnostics. Vous devez également vérifier que le journal WAF est sélectionné et activé. Le pare-feu d’applications web ne bloque pas les demandes entrantes quand il opère en mode de détection. Utilisez ce mode pendant le déploiement initial et le réglage pour identifier les faux positifs.
  • Mode de prévention : Bloque les intrusions et les attaques détectées par les règles. L’attaquant reçoit une exception « 403 Accès non autorisé » et la connexion est fermée. Le mode de prévention enregistre de telles attaques dans les journaux WAF. Il s’agit du mode recommandé pour les environnements de production après le réglage approprié.

Moteurs WAF

Le moteur WAF (Web Application Firewall) Azure est le composant qui inspecte le trafic et détermine si une demande inclut une signature qui représente une attaque potentielle. Lorsque vous utilisez CRS 3.2 ou version ultérieure, votre WAF exécute le nouveau moteur WAF, ce qui offre des performances plus élevées et un ensemble amélioré de fonctionnalités. Lorsque vous utilisez des versions antérieures du CRS, votre WAF s’exécute sur un moteur plus ancien. Les nouvelles fonctionnalités sont disponibles uniquement sur le nouveau moteur WAF Azure, ce qui rend CRS 3.2 la version recommandée pour une protection optimale.

Actions WAF

Vous pouvez choisir l’action à exécuter quand une requête correspond à la condition d’une règle. Les actions suivantes sont prises en charge :

  • Autoriser : la demande passe par le WAF et est transférée vers le serveur principal. Aucune autre règle de priorité inférieure ne peut bloquer cette requête. Les actions d’autorisation s’appliquent seulement à l’ensemble de règles du gestionnaire de bots et non pas à l’ensemble de règles de base.
  • Bloquer : la requête est bloquée et waf envoie une réponse au client sans transférer la requête au back-end.
  • Journal : la demande est consignée dans les journaux WAF et WAF continue l'évaluation des règles de priorité inférieure.
  • Score d’anomalie : action par défaut pour le jeu de règles CRS où le score d’anomalie total est incrémenté lorsqu’une règle avec cette action est mise en correspondance. Le scoring d’anomalie ne s’applique pas à l’ensemble de règles du gestionnaire de bots.

Mode de scoring d’anomalie

Open Web Application Security Project (OWASP) a deux modes pour décider s’il faut bloquer le trafic : mode traditionnel et mode scoring d’anomalie.

En mode traditionnel, le trafic correspondant à une règle est considéré indépendamment de toute autre correspondance. Ce mode est facile à comprendre. Mais le manque d’informations sur le nombre de règles correspondant à une requête spécifique est une limitation. C’est ainsi que le mode de scoring d’anomalie a été introduit. Il s’agit de la valeur par défaut pour OWASP 3.x.

En mode de scoring d’anomalie, le trafic correspondant à une règle n’est pas immédiatement bloqué lorsque le pare-feu est en mode de prévention. Les règles ont une certaine gravité : Critique, Erreur, Avertissement ou Avis. Cette gravité affecte une valeur numérique pour la requête, appelée score d’anomalie. Par exemple, une correspondance de règle Avertissement ajoute 3 au score. Une correspondance de règle Avertissement ajoute 5.

Sévérité Valeur
Essentiel 5
Erreur 4
Avertissement 3
Remarque 2

Le score d’anomalie doit atteindre le seuil de 5 pour que le trafic soit bloqué. Ainsi, une seule correspondance de règle Critique suffit pour que le pare-feu d’applications web d’Application Gateway bloque une demande, même en mode de prévention. Mais une correspondance de règle Avertissement augmente considérablement selon le score d’anomalie de 3, ce qui est insuffisant en soi pour bloquer le trafic.

Paramétrage

Vous pouvez configurer et déployer toutes les stratégies WAF en utilisant le portail Azure, des API REST, des modèles Azure Resource Manager ou Azure PowerShell.

Surveillance du WAF

Il est important de surveiller l’intégrité de votre passerelle applicative. Vous pouvez prendre en charge ceci en intégrant votre WAF et les applications qu’il protège à Microsoft Defender for Cloud, Azure Monitor et les journaux Azure Monitor.

Diagramme montrant un exemple de fonctionnalité de surveillance du pare-feu d’applications web Azure.

Azure Monitor

Les journaux Application Gateway sont intégrés à Azure Monitor. Cela vous permet d’effectuer le suivi des informations de diagnostic, y compris des alertes et des journaux WAF. Vous pouvez accéder à cette fonctionnalité sous l’onglet Diagnostics de la ressource Application Gateway dans le portail ou directement via Azure Monitor.