Configuration d'un pare-feu d'applications Web (WAF) pour un environnement App ServiceConfiguring a Web Application Firewall (WAF) for App Service Environment

Vue d’ensembleOverview

Les pare-feu d’applications web (WAF) permettent de sécuriser vos applications web en inspectant le trafic web entrant pour bloquer les injections SQL, les attaques XSS, les téléchargements de programmes malveillants, les attaques DDoS, ainsi que les autres attaques.Web application firewalls (WAF) help secure your web applications by inspecting inbound web traffic to block SQL injections, Cross-Site Scripting, malware uploads & application DDoS and other attacks. Ils inspectent également les réponses des serveurs web principaux pour la prévention de perte de données (DLP).They also inspect the responses from the back-end web servers for Data Loss Prevention (DLP). En association avec l'isolement et la mise à l'échelle supplémentaire fournis par les environnements App Service, ceci fournit un environnement idéal pour héberger des applications Web professionnelles critiques qui doivent résister aux requêtes malveillantes et à un volume de trafic élevé.Combined with the isolation and additional scaling provided by App Service Environments, this provides an ideal environment to host business critical web applications that need to withstand malicious requests and high volume traffic. Azure fournit une fonctionnalité WAF avec le service Application Gateway.Azure provides a WAF capability with the Application Gateway. Pour savoir comment intégrer votre environnement App Service à un service Application Gateway, consultez le document Intégrer votre environnement App Service ILB à l’aide d’une passerelle d’application.To see how to integrate your App Service Environment with an Application Gateway read the Integrate your ILB ASE with an Application Gateway document.

En plus du service Azure Application Gateway, de nombreuses options de marketplace comme le WAF Barracuda pour Azure sont disponibles sur la Place de marché Microsoft Azure.In addition to the Azure Application Gateway, there are multiple marketplace options like the Barracuda WAF for Azure that are available on the Azure Marketplace. Le reste de ce document se concentre sur l’intégration de votre environnement App Service à un appareil WAF Barracuda.The rest of this document focuses on how to integrate your App Service Environment with a Barracuda WAF device.

Notes

Même si cet article fait référence aux applications Web, il s’applique également aux applications API et aux applications mobiles.Although this article refers to web apps, it also applies to API apps and mobile apps.

Programme d’installationSetup

Pour ce document, nous configurons l’environnement App Service derrière plusieurs instances à charge équilibrée de WAF Barracuda, afin que seul le trafic provenant du WAF puisse atteindre l’environnement App Service. Il n’est pas accessible depuis la zone DMZ.For this document, we configure the App Service Environment behind multiple load balanced instances of Barracuda WAF so that only traffic from the WAF can reach the App Service Environment and it is not accessible from the DMZ. Nous avons également Azure Traffic Manager devant les instances WAF Barracuda pour équilibrer la charge entre les régions et les centres de données Azure.We also have Azure Traffic Manager in front of the Barracuda WAF instances to load balance across Azure data centers and regions. Un diagramme de haut niveau de la configuration ressemblerait à l’image suivante :A high-level diagram of the setup would look like the following image:

Architecture

Notes

Avec l’introduction de la prise en charge de l’équilibreur de charge interne pour l’environnement App Service, vous pouvez configurer l’ASE de façon à ce qu’il soit inaccessible depuis le DMZ et uniquement disponible pour le réseau privé.With the introduction of ILB support for App Service Environment, you can configure the ASE to be inaccessible from the DMZ and only be available to the private network.

Configuration de votre environnement App ServiceConfiguring your App Service Environment

Pour configurer un environnement App Service, consultez notre documentation sur le sujet.To configure an App Service Environment, refer to our documentation on the subject. Une fois qu’un environnement App Service est créé, vous pouvez y créer des applications web, des applications d’API et des applications mobiles, qui seront toutes protégées derrière le WAF que nous allons configurer dans la section suivante.Once you have an App Service Environment created, you can create Web Apps, API Apps, and Mobile Apps in this environment that will all be protected behind the WAF we configure in the next section.

Configuration de votre service cloud WAF BarracudaConfiguring your Barracuda WAF Cloud Service

Barracuda propose un article détaillé sur le déploiement de son WAF sur une machine virtuelle dans Azure.Barracuda has a detailed article on deploying its WAF on a virtual machine in Azure. Mais étant donné que nous voulons la redondance sans introduire aucun point de défaillance, vous devez déployer au moins deux machines virtuelles d’instances WAF dans le même service cloud.But because we want redundancy and not introduce a single point of failure, you want to deploy at least two WAF instance VMs into the same Cloud Service when following these instructions.

Ajout de points de terminaison au service cloudAdding Endpoints to Cloud Service

Du moment où vous disposez d’au moins deux instances de machines virtuelles WAF dans votre service cloud, vous pouvez utiliser le portail Azure pour ajouter des points de terminaison HTTP et HTTPS utilisés par votre application, comme illustré dans l’image suivante :Once you have 2 or more WAF VM instances in your Cloud Service, you can use the Azure portal to add HTTP and HTTPS endpoints that are used by your application as shown in the following image:

Configurer le point de terminaison

Si vos applications utilisent d’autres points de terminaison, veillez à les ajouter à cette liste également.If your applications use other endpoints, make sure to add them to this list as well.

Configuration du WAF Barracuda avec son portail de gestionConfiguring Barracuda WAF through its Management Portal

Le WAF Barracuda utilise le port TCP 8000 pour sa configuration avec le portail de gestion.Barracuda WAF uses TCP Port 8000 for configuration through its management portal. Si vous avez plusieurs instances de machines virtuelles WAF, vous devez répéter ces étapes pour chaque instance de machine virtuelle.If you have multiple instances of the WAF VMs, you need to repeat the steps here for each VM instance.

Notes

Lorsque la configuration WAF est terminée, supprimez le point de terminaison TCP/8000 de toutes les machines virtuelles WAF pour sécuriser votre WAF.Once you are done with WAF configuration, remove the TCP/8000 endpoint from all your WAF VMs to keep your WAF secure.

Ajoutez le point de terminaison de gestion, comme illustré dans l’image ci-dessous, pour configurer votre WAF Barracuda.Add the management endpoint as shown in the following image to configure your Barracuda WAF.

Ajouter un point de terminaison de gestion

Utilisez un navigateur pour accéder au point de terminaison de gestion sur votre service cloud.Use a browser to browse to the management endpoint on your Cloud Service. Si votre service cloud se nomme test.cloudapp.net, vous atteignez ce point de terminaison en accédant à http://test.cloudapp.net:8000If your Cloud Service is called test.cloudapp.net, you would access this endpoint by browsing to http://test.cloudapp.net:8000. Une page de connexion, comme celle illustrée dans l’image ci-dessous, doit s’afficher. Vous pouvez vous connecter à l’aide des informations d’identification spécifiées durant la phase de configuration de la machine virtuelle WAF.You should see a login page like the following image that you can log in using credentials you specified in the WAF VM setup phase.

Page de connexion à la gestion

Lorsque vous êtes connecté, un tableau de bord comme celui illustré dans l’image ci-dessous doit s’afficher. Il présente des statistiques de base sur la protection du WAF.Once you log in, you should see a dashboard like the one in the following image that presents basic statistics about the WAF protection.

Tableau de bord de gestion

Cliquez sur l’onglet Services pour configurer votre WAF pour les services qu’il protège.Clicking on the Services tab lets you configure your WAF for services it is protecting. Pour plus d’informations sur la configuration de votre WAF Barracuda, consultez la documentation appropriée.For more details on configuring your Barracuda WAF, see their documentation. Dans l’exemple suivant, une application App Service traitant le trafic sur HTTP et HTTPS a été configurée.In the following example, an App Service app serving traffic on HTTP and HTTPS has been configured.

Ajouter des services de gestion

Notes

Selon la configuration de vos applications et les fonctionnalités utilisées dans votre instance App Service Environment, vous devez transférer le trafic pour les ports TCP autres que 80 et 443 par exemple si vous avez configuré IP TLS pour une application App Service.Depending on how your applications are configured and what features are being used in your App Service Environment, you need to forward traffic for TCP ports other than 80 and 443, for example, if you have IP TLS setup for an App Service app. Pour obtenir la liste des ports réseau utilisés dans les environnements App Service, consultez la section Ports réseau de la documentation relative au contrôle du trafic entrant.For a list of network ports used in App Service Environments, see Control Inbound Traffic documentation's Network Ports section.

Configuration de Microsoft Azure Traffic Manager (FACULTATIF)Configuring Microsoft Azure Traffic Manager (OPTIONAL)

Si votre application est disponible dans plusieurs régions, vous devez en équilibrer la charge derrière Azure Traffic Manager.If your application is available in multiple regions, then you would want to load balance them behind Azure Traffic Manager. Pour ce faire, vous pouvez ajouter un point de terminaison dans le portail Azure Classic en utilisant le nom du service cloud de votre WAF dans le profil Traffic Manager, comme indiqué dans l’image suivante.To do so, you can add an endpoint in the Azure portal using the Cloud Service name for your WAF in the Traffic Manager profile as shown in the following image.

Point de terminaison Traffic Manager

Si votre application requiert une authentification, vérifiez que vous disposez d'une ressource qui ne nécessite pas d'authentification pour permettre à Traffic Manager d'exécuter la commande ping pour vérifier la disponibilité de votre application.If your application requires authentication, ensure you have some resource that doesn't require any authentication for Traffic Manager to ping for the availability of your application. Vous pouvez configurer l’URL sur la page Configuration dans le Portail Azure comme illustré dans l’image suivante :You can configure the URL on the Configuration page in the Azure portal as shown in the following image:

Configuration de Traffic Manager

Pour transférer les exécutions de commande ping de Traffic Manager à partir de votre WAF à votre application, vous devez configurer des traductions de site Web sur votre WAF Barracuda pour transférer le trafic vers votre application, comme illustré dans l’exemple suivant :To forward the Traffic Manager pings from your WAF to your application, you need to set up Website Translations on your Barracuda WAF to forward traffic to your application as shown in the following example:

Traductions de site Web

Sécurisation du trafic vers un environnement App Service à l’aide de groupes de sécurité réseau (NSG)Securing Traffic to App Service Environment Using Network Security Groups (NSG)

Consultez la documentation relative au contrôle du trafic entrant pour plus d’informations sur la restriction du trafic du WAF vers votre environnement App Service uniquement en utilisant l’adresse IP virtuelle de votre service cloud.Follow the Control Inbound Traffic documentation for details on restricting traffic to your App Service Environment from the WAF only by using the VIP address of your Cloud Service. Voici un exemple de commande Powershell pour effectuer cette tâche pour le port TCP 80.Here's a sample Powershell command for performing this task for TCP port 80.

Get-AzureNetworkSecurityGroup -Name "RestrictWestUSAppAccess" | Set-AzureNetworkSecurityRule -Name "ALLOW HTTP Barracuda" -Type Inbound -Priority 201 -Action Allow -SourceAddressPrefix '191.0.0.1'  -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '80' -Protocol TCP

Remplacez SourceAddressPrefix par l'adresse IP virtuelle (VIP) du service cloud de votre WAF.Replace the SourceAddressPrefix with the Virtual IP Address (VIP) of your WAF's Cloud Service.

Notes

L’adresse IP virtuelle de votre service cloud change lorsque vous supprimez et créez de nouveau le service cloud.The VIP of your Cloud Service changes when you delete and re-create the Cloud Service. Dans ce cas, veillez à mettre à jour l'adresse IP dans le groupe de ressources réseau.Make sure to update the IP address in the Network Resource group once you do so.