Pare-feu d’applications web (WAF)Web application firewall (WAF)

Le pare-feu d’applications Web (WAF) est une fonctionnalité de passerelle d’application qui protège vos applications web de manière centralisée contre les vulnérabilités et exploits courants.Web application firewall (WAF) is a feature of Application Gateway that provides centralized protection of your web applications from common exploits and vulnerabilities.

Les applications Web sont de plus en plus la cible d’attaques malveillantes qui exploitent des vulnérabilités connues.Web applications are increasingly targets of malicious attacks that exploit common known vulnerabilities. Les types d’attaques les plus courants sont l’injection de code SQL et les attaques de script site à site, entre autres.Common among these exploits are SQL injection attacks, and cross site scripting attacks to name a few.

Empêcher ces attaques dans le code d’application peut se révéler difficile et nécessiter une maintenance rigoureuse, des mises à jour correctives ainsi que la surveillance au niveau de plusieurs couches de la topologie de l’application.Preventing such attacks in application code can be challenging and may require rigorous maintenance, patching and monitoring at multiple layers of the application topology. Un pare-feu d’applications web centralisé facilite grandement la gestion de la sécurité et offre une meilleure garantie de protection aux administrateurs de l’application contre les menaces ou les intrusions.A centralized web application firewall helps make security management much simpler and gives better assurance to application administrators against threats or intrusions. Une solution WAF peut également réagir plus rapidement à une menace de sécurité en corrigeant une vulnérabilité connue dans un emplacement central plutôt que de sécuriser individuellement chacune des applications web.A WAF solution can also react to a security threat faster by patching a known vulnerability at a central location, instead of securing each of individual web applications. Les passerelles d’application existantes peuvent être facilement converties en une passerelle d’application avec un pare-feu d’applications web.Existing application gateways can be converted to a web application firewall enabled application gateway easily.

Le WAF suit les règles des Ensembles de règles de base OWASP 3.0 ou 2.2.9.WAF is based on rules from the OWASP core rule sets 3.0 or 2.2.9. Il se met automatiquement à jour pour inclure la protection contre les nouvelles vulnérabilités, sans aucune configuration supplémentaire requise.It automatically updates to include protection against new vulnerabilities, with no additional configuration needed.

imageURLroute

Application Gateway fonctionne comme un contrôleur de livraison d’applications (ADC) et offre la résiliation SSL, 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 operates as an application delivery controller (ADC) and offers SSL termination, cookie-based session affinity, round-robin load distribution, content-based routing, ability to host multiple websites, and security enhancements.

Les améliorations de sécurité offertes par Application Gateway sont notamment la gestion des stratégies SSL ainsi que la prise en charge du chiffrement SSL de bout en bout.Security enhancements offered by Application Gateway include SSL policy management, and end to end SSL support. La sécurité de l’application est désormais renforcée par l’intégration directe du pare-feu d’applications web (WAF) à l’offre ADC.Application security is now strengthened by WAF (web application firewall) being directly integrated into the ADC offering. Vous bénéficiez ainsi d’un emplacement central facile à configurer, capable de gérer et protéger vos applications web contre les vulnérabilités web courantes.This provides an easy to configure central location to manage and protect your web applications against common web vulnerabilities.

AvantagesBenefits

Voici les principaux avantages liés à Application Gateway et au pare-feu d’applications web :The following are the core benefits that Application Gateway and web application firewall provide:

ProtectionProtection

  • Protection de votre application web contre les vulnérabilités et les attaques web sans modification du code principal.Protect your web application from web vulnerabilities and attacks without modification to backend code.

  • Protection simultanée de plusieurs applications web derrière une passerelle d’application.Protect multiple web applications at the same time behind an application gateway. La passerelle d’application peut héberger jusqu’à 20 sites web derrière une passerelle unique, protégeant ainsi tous ces sites contre les attaques web avec le pare-feu d’applications web.Application gateway supports hosting up to 20 websites behind a single gateway that could all be protected against web attacks with WAF.

SurveillanceMonitoring

  • Analysez les attaques contre votre application web à l’aide d’un journal WAF en temps réel.Monitor your web application against attacks using a real-time WAF log. Ce journal est intégré à Azure Monitor pour effectuer le suivi des journaux et alertes WAF et analyser facilement les tendances.This log is integrated with Azure Monitor to track WAF alerts and logs and easily monitor trends.

  • WAF est intégré avec Azure Security Center.WAF is integrated with Azure Security Center. Azure Security Center vous offre un aperçu central de l’état de sécurité de toutes vos ressources Azure.Azure Security Center allows for a central view of the security state of all your Azure resources.

PersonnalisationCustomization

  • Possibilité de personnaliser des règles et groupes de règles WAF pour les besoins de votre application et éliminer les faux positifs.The ability to customize WAF rules and rule groups to suit your application requirements and eliminate false positives.

CaractéristiquesFeatures

  • Protection contre les injections de code SQLSQL injection protection
  • Protection de l’exécution de script de site à siteCross site scripting protection
  • Protection contre les attaques web courantes comme l’injection de commande, les dissimulations de requêtes HTTP, la séparation de réponse HTTP et les attaques RFI (Remote File Inclusion)Common Web Attacks Protection such as command injection, HTTP request smuggling, HTTP response splitting, and remote file inclusion attack
  • Protection contre les violations de protocole HTTPProtection against HTTP protocol violations
  • Protection contre les anomalies de protocole HTTP comme un agent-utilisateur hôte manquant et les en-têtes AcceptProtection against HTTP protocol anomalies such as missing host user-agent and accept headers
  • Protection contre les robots, les crawlers et les scanneursPrevention against bots, crawlers, and scanners
  • Détection des erreurs de configuration d’application courantes (par exemple, Apache, IIS, etc.)Detection of common application misconfigurations (for example, Apache, IIS, and so on)
  • Demander des limites de taille - pare-feu d’applications Web permet aux utilisateurs de configurer des limites de taille de demande au sein des limites inférieure et supérieure.Request size limits - Web Application Firewall allows users to configure request size limits within lower and upper bounds.
  • Listes d’exclusion - listes d’exclusion de WAF autoriser les utilisateurs à omettre certains attributs de la demande à partir d’une version d’évaluation de WAF.Exclusion lists - WAF exclusion lists allow users to omit certain request attributes from a WAF evaluation. À titre d’exemple courant, citons les jetons Active Directory insérés qui sont utilisés pour les champs d’authentification ou de mot de passe.A common example is Active Directory inserted tokens that are used for authentication or password fields.

Ensembles de règles de baseCore rule sets

Application Gateway prend en charge les ensembles de règles CRS 3.0 et CRS 2.2.9.Application Gateway supports two rule sets, CRS 3.0, and CRS 2.2.9. Ces ensembles de règles de base sont des ensembles de règles qui protègent vos applications web des activités malveillantes.These core rules sets are collections of rules that protect your web applications for malicious activity.

Le pare-feu d’applications web est préconfiguré avec CRS 3.0 par défaut. Vous pouvez aussi d’utiliser la version 2.2.9.Web application firewall comes preconfigured with CRS 3.0 by default or you can choose to use 2.2.9. CRS 3.0 permet une réduction des faux positifs au-delà de la version 2.2.9.CRS 3.0 offers reduced false positives over 2.2.9. Il est possible de personnaliser des règles en fonction de vos besoins.The ability to customize rules to suit your needs is provided. Le pare-feu d’applications web protège notamment des vulnérabilités web courantes suivantes :Some of the common web vulnerabilities which web application firewall protects against includes:

  • Protection contre les injections de code SQLSQL injection protection
  • Protection de l’exécution de script de site à siteCross site scripting protection
  • Protection contre les attaques web courantes comme l’injection de commande, les dissimulations de requêtes HTTP, la séparation de réponse HTTP et les attaques RFI (Remote File Inclusion)Common Web Attacks Protection such as command injection, HTTP request smuggling, HTTP response splitting, and remote file inclusion attack
  • Protection contre les violations de protocole HTTPProtection against HTTP protocol violations
  • Protection contre les anomalies de protocole HTTP comme un agent-utilisateur hôte manquant et les en-têtes AcceptProtection against HTTP protocol anomalies such as missing host user-agent and accept headers
  • Protection contre les robots, les crawlers et les scanneursPrevention against bots, crawlers, and scanners
  • Détection des erreurs de configuration d’application courantes (par exemple, Apache, IIS, etc.)Detection of common application misconfigurations (for example, Apache, IIS, etc.)

Pour une liste plus détaillée des règles et de leurs protections, consultez Ensembles de règles de base.For a more detailed list of rules and their protections, see Core rule sets.

OWASP_3.0OWASP_3.0

L’ensemble de règles de base 3.0 fourni dispose de 13 groupes de règles comme indiqué dans le tableau suivant.The 3.0 core rule set provided has 13 rule groups as shown in the following table. Chacun de ces groupes de règles contient plusieurs règles, qui peuvent être désactivées.Each of these rule groups contains multiple rules, which can be disabled.

RuleGroupRuleGroup DescriptionDescription
REQUEST-911-METHOD-ENFORCEMENTREQUEST-911-METHOD-ENFORCEMENT Contient des règles pour verrouiller les méthodes (PUT, PATCH)Contains rules to lock down methods (PUT, PATCH)
REQUEST-913-SCANNER-DETECTIONREQUEST-913-SCANNER-DETECTION Contient des règles de protection contre les scanneurs de port et d’environnement.Contains rules to protect against port and environment scanners.
REQUEST-920-PROTOCOL-ENFORCEMENTREQUEST-920-PROTOCOL-ENFORCEMENT Contient des règles de protection contre les problèmes de protocole et d’encodage.Contains rules to protect against protocol and encoding issues.
REQUEST-921-PROTOCOL-ATTACKREQUEST-921-PROTOCOL-ATTACK Contient des règles de protection contre les attaques par injection d’en-tête, dissimulation de requête et fractionnement de réponseContains rules to protect against header injection, request smuggling, and response splitting
REQUEST-930-APPLICATION-ATTACK-LFIREQUEST-930-APPLICATION-ATTACK-LFI Contient des règles de protection contre les attaques par fichier et chemin d’accès.Contains rules to protect against file and path attacks.
REQUEST-931-APPLICATION-ATTACK-RFIREQUEST-931-APPLICATION-ATTACK-RFI Contient des règles de protection contre les attaques par inclusion de fichier distant (RFI)Contains rules to protect against Remote File Inclusion (RFI)
REQUEST-932-APPLICATION-ATTACK-RCEREQUEST-932-APPLICATION-ATTACK-RCE Contient des règles de protection contre les attaques par exécution de code à distance.Contains rules to protect again Remote Code Execution.
REQUEST-933-APPLICATION-ATTACK-PHPREQUEST-933-APPLICATION-ATTACK-PHP Contient des règles de protection contre les attaques par injection de code PHP.Contains rules to protect against PHP injection attacks.
REQUEST-941-APPLICATION-ATTACK-XSSREQUEST-941-APPLICATION-ATTACK-XSS Contient des règles de protection de l’exécution de script de site à site.Contains rules for protecting against cross site scripting.
REQUEST-942-APPLICATION-ATTACK-SQLIREQUEST-942-APPLICATION-ATTACK-SQLI Contient des règles de protection contre les attaques par injection de code SQL.Contains rules for protecting against SQL injection attacks.
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATIONREQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION Contient des règles de protection contre les attaques par fixation de session.Contains rules to protect against Session Fixation Attacks.

OWASP_2.2.9OWASP_2.2.9

L’ensemble de règles de base 2.2.9 fourni dispose de 10 groupes de règles comme indiqué dans le tableau suivant.The 2.2.9 core rule set provided has 10 rule groups as shown in the following table. Chacun de ces groupes de règles contient plusieurs règles, qui peuvent être désactivées.Each of these rule groups contains multiple rules, which can be disabled.

RuleGroupRuleGroup DescriptionDescription
crs_20_protocol_violationscrs_20_protocol_violations Contient des règles de protection contre les violations de protocole (caractères non valides, GET avec un corps de requête, etc..)Contains rules to protect against protocol violations (invalid characters, GET with a request body, etc.)
crs_21_protocol_anomaliescrs_21_protocol_anomalies Contient des règles de protection contre les informations d’en-tête incorrectes.Contains rules to protect against incorrect header information.
crs_23_request_limitscrs_23_request_limits Contient des règles de protection contre les arguments ou les fichiers qui dépassent les limites.Contains rules to protect against arguments or files that exceed limitations.
crs_30_http_policycrs_30_http_policy Contient des règles de protection contre les types de fichiers, les en-têtes et les méthodes restreints.Contains rules to protect against restricted methods, headers, and file types.
crs_35_bad_robotscrs_35_bad_robots Contient des règles de protection contre les analyseurs et les scanneurs de sites web.Contains rules to protect against web crawlers and scanners.
crs_40_generic_attackscrs_40_generic_attacks Contient des règles de protection contre les attaques génériques (par fixation de session, inclusion de fichier distant, injection de code PHP etc.).Contains rules to protect against generic attacks (session fixation, remote file inclusion, PHP injection, etc.)
crs_41_sql_injection_attackscrs_41_sql_injection_attacks Contient des règles de protection contre les attaques par injection de code SQL.Contains rules to protect against SQL injection attacks
crs_41_xss_attackscrs_41_xss_attacks Contient des règles de protection de l’exécution de script de site à site.Contains rules to protect against cross site scripting.
crs_42_tight_securitycrs_42_tight_security Contient une règle de protection contre les attaques par traversée de cheminContains a rule to protect against path traversal attacks
crs_45_trojanscrs_45_trojans Contient des règles de protection contre les chevaux de Troie.Contains rules to protect against backdoor Trojans.

Modes WAFWAF Modes

Application Gateway WAF peut être configuré pour s’exécuter dans les deux modes suivants :Application Gateway WAF can be configured to run in the following two modes:

  • Mode de détection : Quand il est configuré pour s’exécuter en mode de détection, le WAF Application Gateway supervise et journalise toutes les alertes de menace dans un fichier journal.Detection mode – When configured to run in detection mode, Application Gateway WAF monitors and logs all threat alerts to a log file. L’enregistrement des diagnostics pour la passerelle Application Gateway doit être activé à l’aide de la section Diagnostics.Logging diagnostics for Application Gateway should be turned on using the Diagnostics section. Vous devez également vérifier que le journal WAF est sélectionné et activé.You also need to ensure that the WAF log is selected and turned on. Le pare-feu d’applications web exécuté en mode de détection ne bloque pas les requêtes entrantes.When running in detection mode web application firewall does not block incoming requests.
  • Mode de prévention – Lorsqu’il est configuré pour s’exécuter en mode de prévention, la passerelle Application Gateway bloque de façon active les intrusions et les et attaques détectées par les règles définies.Prevention mode – When configured to run in prevention mode, Application Gateway actively blocks intrusions and attacks detected by its rules. L’attaquant reçoit une exception d’accès non autorisé de type 403 et la connexion prend fin.The attacker receives a 403 unauthorized access exception and the connection is terminated. Le mode de prévention continue de consigner ce type d’attaques dans les journaux WAF.Prevention mode continues to log such attacks in the WAF logs.

Mode de calcul de score d’anomalieAnomaly Scoring Mode

OWASP comporte deux modes pour décider si un blocage du trafic ou non.OWASP has two modes for deciding whether blocking traffic or not. Il existe un mode traditionnel et un mode de calcul de score d’anomalie.There is a Traditional mode, and an Anomaly Scoring mode. En mode classique, une règle de trafic correspondant est considéré comme indépendamment de si autres règles ont mis en correspondance trop.In the Traditional mode, any rule matching traffic is considered independently of whether other rules have matched too. Alors que plus faciles à comprendre, l’absence d’informations sur le nombre de règles qui est déclenché par une demande spécifique est l’une des limitations de ce mode.While easier to understand, the lack of information on how many rules are fired by a specific request is one of the limitations of this mode. Par conséquent, le mode de calcul de score d’anomalie a été introduit, qui est devenu la valeur par défaut avec OWASP 3.x.Hence the Anomaly Scoring mode was introduced, which has become the default with OWASP 3.x.

En Mode de calcul de score d’anomalie, le fait qu’une des règles décrites dans la section précédente correspond au trafic ne pas immédiatement signifie que le trafic doit être bloqué, en supposant que le pare-feu est en mode de prévention.In Anomaly Scoring Mode, the fact that one of the rules described in the previous section matches on traffic does not immediately mean that the traffic is going to be blocked, assuming the firewall is in Prevention mode. Les règles ont une certaine gravité (critique, erreur, avertissement et avis), et en fonction de cette gravité ils augmentent la valeur numérique pour la demande appelée le Score d’anomalie.Rules have a certain severity (Critical, Error, Warning and Notice), and depending on that severity they will increase a numeric value for the request called the Anomaly Score. Par exemple, une règle d’avertissement correspondante contribuera à la valeur 3, mais une seule règle critique correspondante contribuera à la valeur 5.For example, one matching Warning rule will contribute a value of 3, but one matching Critical rule will contribute a value of 5.

Il existe un seuil pour le Score d’anomalie sous lequel le trafic n’est pas supprimé, ce seuil est défini sur 5.There is a threshold for the Anomaly Score under which traffic is not dropped, that threshold is set to 5. Cela signifie que, une seule règle de correspondance critique est suffisant pour que le pare-feu d’applications Web Azure bloque une demande en mode de prévention (étant donné que la règle critique augmente le score d’anomalie de 5, selon le paragraphe précédent).That means, a single matching Critical rule is enough so that Azure WAF blocks a request in Prevention mode (since the Critical rule increases the anomaly score by 5, according to the previous paragraph). Toutefois, une règle correspondante avec un niveau d’avertissement sera augmentation uniquement l’anomalie score par 3.However, one matching rule with a level of Warning will only increase the anomaly score by 3. Étant donné que 3 est toujours inférieur au seuil de 5, aucun trafic ne sera bloqué, même si le pare-feu WAF est en mode de prévention.Since 3 is still lower than the threshold 5, no traffic will be blocked, even if the WAF is in Prevention mode.

Notez que le message consigné quand un trafic de correspondances de règles WAF inclura l’action_s de champ en tant que « Bloqué », mais qui ne signifie pas nécessairement que le trafic a réellement été bloqué.Note that the message logged when a WAF rules matches traffic will include the field action_s as "Blocked", but that does not necessarily mean that the traffic has actually been blocked. Un score d’anomalie de 5 ou version ultérieure est requis pour réellement bloquer le trafic.An anomaly score of 5 or higher is required to actually block traffic.

Surveillance du pare-feu d’applications webWAF Monitoring

Il est important de surveiller l’état de votre passerelle d’application.Monitoring the health of your application gateway is important. La surveillance de l'intégrité de votre pare-feu d'applications web et des applications qu'il protège est assurée par la journalisation et l'intégration à Azure Monitor, à Azure Security Center et aux journaux Azure Monitor.Monitoring the health of your web application firewall and the applications that it protects are provided through logging and integration with Azure Monitor, Azure Security Center, and Azure Monitor logs.

diagnostics

Azure MonitorAzure Monitor

Chaque journal de passerelle d’application est intégré à Azure Monitor.Each application gateway log is integrated with Azure Monitor. Cela vous permet d’effectuer le suivi des informations de diagnostic, y compris des alertes et des journaux WAF.This allows you to track diagnostic information including WAF alerts and logs. Cette fonctionnalité est proposée dans la ressource Application Gateway sous l’onglet Diagnostics du portail ou directement via le service Azure Monitor.This capability is provided within the Application Gateway resource in the portal under the Diagnostics tab or through the Azure Monitor service directly. Pour en savoir plus sur l’activation des journaux de diagnostic pour Application Gateway, consultez Diagnostics Application GatewayTo learn more about enabling diagnostic logs for application gateway, see Application Gateway diagnostics

Azure Security CenterAzure Security Center

Azure Security Center vous aide à prévenir, détecter et résoudre les menaces grâce à une visibilité et un contrôle accrus de la sécurité de vos ressources Azure.Azure Security Center helps you prevent, detect, and respond to threats with increased visibility into and control over the security of your Azure resources. Désormais, Application Gateway s’intègre à Azure Security Center.Application gateway now integrates into Azure Security Center. Le service Azure Security Center analyse votre environnement pour détecter les applications web non protégées.Azure Security Center scans your environment to detect unprotected web applications. Il peut à présent recommander à Application Gateway WAF de protéger ces ressources vulnérables.It can now recommend application gateway WAF to protect these vulnerable resources. Vous pouvez créer des instances Application Gateway WAF directement à partir d’Azure Security Center.You can directly create application gateway WAF from the Azure Security Center. Ces instances WAF sont intégrées à Azure Security Center et renverront des alertes et des informations d’intégrité à Azure Security Center à des fins de création de rapports.These WAF instances are integrated with Azure Security Center and will send alerts and health information back to Azure Security Center for reporting.

figure 1

JournalisationLogging

Application Gateway WAF fournit des rapports détaillés sur chaque menace détectée.Application Gateway WAF provides detailed reporting on each threat it detects. La journalisation est intégrée aux journaux Azure Diagnostics et les alertes sont enregistrées au format json.Logging is integrated with Azure Diagnostics logs and alerts are recorded in a json format. Ces journaux peuvent être intégrés aux journaux Azure Monitor.These logs can be integrated with Azure Monitor logs.

imageURLroute

{
  "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupId}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{appGatewayName}",
  "operationName": "ApplicationGatewayFirewall",
  "time": "2017-03-20T15:52:09.1494499Z",
  "category": "ApplicationGatewayFirewallLog",
  "properties": {
    "instanceId": "ApplicationGatewayRole_IN_0",
    "clientIp": "104.210.252.3",
    "clientPort": "4835",
    "requestUri": "/?a=%3Cscript%3Ealert(%22Hello%22);%3C/script%3E",
    "ruleSetType": "OWASP",
    "ruleSetVersion": "3.0",
    "ruleId": "941320",
    "message": "Possible XSS Attack Detected - HTML Tag Handler",
    "action": "Blocked",
    "site": "Global",
    "details": {
      "message": "Warning. Pattern match \"<(a|abbr|acronym|address|applet|area|audioscope|b|base|basefront|bdo|bgsound|big|blackface|blink|blockquote|body|bq|br|button|caption|center|cite|code|col|colgroup|comment|dd|del|dfn|dir|div|dl|dt|em|embed|fieldset|fn|font|form|frame|frameset|h1|head|h ...\" at ARGS:a.",
      "data": "Matched Data: <script> found within ARGS:a: <script>alert(\\x22hello\\x22);</script>",
      "file": "rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf",
      "line": "865"
    }
  }
} 

Tarification de la référence SKU Application Gateway WAFApplication Gateway WAF SKU pricing

Le pare-feu d’applications web est disponible sous une nouvelle référence WAF.Web application firewall is available under a new a WAF SKU. Cette référence est disponible uniquement dans le modèle d’approvisionnement Azure Resource Manager et non sous le modèle de déploiement classique.This SKU is available only in Azure Resource Manager provisioning model and not under the classic deployment model. Par ailleurs, la référence WAF est proposée uniquement dans les instances Application Gateway de moyenne et grande taille.Additionally, the WAF SKU comes only in medium and large application gateway instance sizes. Toutes les limites relatives à la passerelle d’application s’appliquent également à la référence WAF.All the limits for application gateway also apply to the WAF SKU.

La tarification est basée sur les frais d’instance de passerelle par heure et les frais de traitement des données.Pricing is based on per hour gateway instance charge and data processing charge. La tarification par heure de la passerelle pour la référence WAF diffère des frais de référence Standard et est accessible sur Détails de tarification Application Gateway.Per hour gateway pricing for WAF SKU is different from Standard SKU charges and can be found at Application Gateway pricing details. Les frais de traitement des données restent inchangés.Data processing charges remain the same. Il n’y a pas de frais par règle ou groupe de règles.There's no per rule or rule group charges. Vous pouvez protéger plusieurs applications web derrière le même pare-feu d’applications web sans frais supplémentaires liés à la prise en charge de plusieurs applications.You can protect multiple web applications behind the same web application firewall and you are not charged for supporting multiple applications.

Étapes suivantesNext steps

Après avoir découvert les fonctionnalités de WAF, découvrez comment configurer un pare-feu d’applications web sur la passerelle Application Gateway.After learning about WAF, see How to configure web application firewall on Application Gateway.