Détection et réponse automatisées pour Azure WAF avec Microsoft Sentinel
Article
Les attaquants malveillants ciblent de plus en plus les applications web en exploitant des vulnérabilités connues, telles que l’injection SQL et le scripting inter-site. Empêcher ces attaques dans le code d’application constitue un défi et nécessite une maintenance rigoureuse, des mises à jour correctives ainsi que la supervision à différentes couches de la topologie de l’application. Une solution Web Application Firewall (WAF) peut 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. Azure Web Application Firewall (WAF) est un service cloud natif qui protège les applications web contre les techniques courantes de piratage web. Vous pouvez déployer ce service en quelques minutes pour obtenir une visibilité complète du trafic de l’application web et bloquer les attaques web malveillantes.
L’intégration d’Azure WAF à Microsoft Sentinel (une solution SIEM/SOAR native Cloud) pour la détection et la réponse automatisées aux menaces/incidents/alertes est un avantage supplémentaire et permet de réduire l’intervention manuelle nécessaire pour mettre à jour la stratégie WAF.
Dans cet article, vous allez découvrir les modèles de détection WAF dans Sentinel, déployer un playbook et configurer la détection et la réponse dans Sentinel à l’aide de ces modèles et du playbook.
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Installez un playbook Sentinel nommé Block-IPAzureWAF à partir d’un modèle sur GitHub. Ce playbook s’exécute en réponse aux incidents WAF. L’objectif est de créer ou de modifier une règle personnalisée dans une stratégie WAF afin de bloquer les requêtes d’une certaine adresse IP. Pour cela, utilisez l’API REST d’Azure.
Installez le playbook à partir d’un modèle sur GitHub.
Accédez au référentiel GitHub et sélectionnez Déployer sur Azure pour lancer le modèle.
Renseignez les paramètres requis. Vous pouvez obtenir votre ID Front Door à partir du Portail Azure. L’ID Front Door est l’ID de ressource de la ressource Front Door.
Sélectionnez Vérifier + créer, puis Créer.
Autoriser la connexion d’API
Une connexion API nommée azuresentinel-Block-IPAzureWAF est créée dans le cadre de ce déploiement. Vous devez l’autoriser avec votre ID Azure pour permettre au playbook d’apporter des modifications à votre stratégie WAF.
Dans le Portail Azure, sélectionnez la connexion d’API azuresentinel-Block-IPAzureWAF.
Sélectionnez Modifier la connexion d’API.
Sous Nom d’affichage, tapez votre ID Azure.
Sélectionnez Autoriser.
Cliquez sur Enregistrer.
Configurer l’attribution de rôle Contributeur
Le playbook doit disposer des autorisations nécessaires pour interroger et modifier la stratégie WAF existante via l’API REST. Vous pouvez attribuer au playbook une identité managée affectée par le système grâce à des autorisations du Contributeur sur la ressource Front Door, ainsi que leurs stratégies WAF associées. Vous pouvez attribuer des autorisations uniquement si votre compte a été attribué les rôles Propriétaire ou Administrateur de l’accès utilisateur à la ressource sous-jacente.
Pour ce faire, utilisez la section IAM dans la ressource correspondante en ajoutant une nouvelle attribution de rôle à ce playbook.
Dans le portail Azure, sélectionnez la ressource Front Door.
Dans le volet de gauche, sélectionnez Contrôle d’accès (IAM) .
Sélectionnez Attributions de rôles.
Sélectionnez Ajouter, puis Ajouter une attribution de rôle.
Sélectionnez Rôles Administrateur privilégiés.
Sélectionnez Contributeur, puis Suivant.
Sélectionnez Sélectionner des membres.
Recherchez et sélectionnez Block-IPAzureWAF. Il peut y avoir plusieurs entrées pour ce playbook. Celle récemment ajoutée est généralement la dernière dans la liste.
Sélectionnez Block-IPAzureWAF, puis Sélectionner.
Sélectionnez Examiner + Attribuer.
Répétez cette procédure pour la ressource de stratégie WAF.
Ajouter Microsoft Sentinel à votre espace de travail
Dans le Portail Azure, recherchez puis ouvrez Microsoft Sentinel.
Cliquez sur Créer.
Sélectionnez votre espace de travail, puis sélectionnez Ajouter.
Configurer l’attribution de rôle Contributeur de l’application logique
Votre compte doit disposer des autorisations de propriétaire sur tout groupe de ressources auquel vous souhaitez accorder des autorisations Microsoft Sentinel, et vous devez disposer du rôle Contributeur de l’application logique sur tout groupe de ressources contenant les playbooks que vous souhaitez exécuter.
Dans le Portail Azure, sélectionnez le groupe de ressources qui contient le playbook.
Dans le volet de gauche, sélectionnez Contrôle d’accès (IAM) .
Sélectionnez Attributions de rôles.
Sélectionnez Ajouter, puis Ajouter une attribution de rôle.
Recherchez et sélectionnez Contributeur de l’application logique, puis sélectionnez Suivant.
Sélectionnez Sélectionner des membres.
Recherchez votre compte et sélectionnez-le.
Cliquez sur Sélectionner.
Cliquez sur Suivant.
Sélectionnez Examiner + Attribuer.
Configurer la détection et la réponse
Il existe des modèles de requête de détection pour les attaques SQLi et XSS dans Sentinel pour Azure WAF. Vous pouvez télécharger ces modèles depuis le hub de contenu. À l’aide de ces modèles, vous pouvez créer des règles analytiques qui détectent un type spécifique de modèles d’attaque dans les journaux d'activité WAF et informent davantage l’analyste de sécurité en créant un incident. La section Automation de ces règles peut vous aider à répondre à cet incident en bloquant l’adresse IP source de l’attaquant sur la stratégie WAF, ce qui arrête les attaques suivantes à partir de ces adresses IP sources. Microsoft inclut en permanence plus de modèles de détection pour bénéficier davantage de scénarios de détection et de réponse.
Installer les modèles
Dans Microsoft Sentinel, sous Configuration dans le volet gauche, sélectionnez Analytics.
En haut de la page, sélectionnez Plus de contenu dans le hub de contenu.
Recherchez et sélectionnez Azure Web Application Firewall, puis sélectionnez Installer.
Créer une règle analytique
Dans Microsoft Sentinel, sous Configuration dans le volet gauche, sélectionnez Analytics.
Sélectionnez Modèles de règle. L’affichage des modèles peut prendre quelques minutes.
Sélectionnez le modèle WAF Front Door Premium – Détection SQLi.
Dans le volet droit, sélectionnez Créer une règle.
Acceptez toutes les valeurs par défaut et passez à Réponse automatisée. Vous pouvez modifier ces paramètres ultérieurement pour personnaliser la règle.
Conseil
Si vous voyez une erreur dans la requête de règle, cela peut être dû au fait que vous n’avez pas de journaux d'activité WAF dans votre espace de travail. Vous pouvez générer certains journaux d'activité en envoyant le trafic de test à votre application web. Par exemple, vous pouvez simuler une attaque SQLi en envoyant une requête comme suit : http://x.x.x.x/?text1=%27OR%27%27=%27. Remplacez x.x.x.x par votre URL Front Door.
Dans la page Réponse automatisée, sélectionnez Ajouter une nouvelle.
Dans la page Créer une règle d’Automation, tapez un nom pour la règle.
Sous Déclencheur, sélectionnez Lorsque l’alerte est créée.
Sous Actions, sélectionnez Gérer les autorisations de playbook.
Dans la page Gérer les autorisations, sélectionnez votre groupe de ressources et Appliquer.
De retour sur la page Créer une règle d’Automation, sous Actions sélectionnez le playbook Block-IPAzureWAF dans la liste déroulante.
Sélectionnez Apply.
Sélectionnez Suivant : Vérifier + créer.
Cliquez sur Enregistrer.
Une fois la règle analytique créée avec les paramètres de règle d’Automation respectifs, vous êtes prêt pour la détection et la réponse. Le flux d’événements suivant se produit pendant une attaque :
Azure WAF journalise le trafic lorsqu’un attaquant tente de cibler l’une des applications web derrière celui-ci. Sentinel ingère ensuite ces journaux.
La règle de détection/analytique configurée détecte le modèle de cette attaque et génère un incident afin d’avertir un analyste.
La règle d’Automation qui fait partie de la règle analytique déclenche le playbook respectif que vous avez configuré précédemment.
Le playbook crée une règle personnalisée nommée SentinelBlockIP dans la stratégie WAF correspondante, qui inclut l’adresse IP source de l’attaquant.
WAF bloque les tentatives d’attaque suivantes et, si l’attaquant tente d’utiliser une autre adresse IP source, ajoute l’adresse IP source correspondante à la règle de bloc.
Un point important est qu’Azure WAF bloque par défaut toutes les attaques web malveillantes à l’aide de l’ensemble de règles de base du moteur Azure WAF. Toutefois, cette configuration de détection et de réponse automatisées améliore davantage la sécurité en modifiant ou en ajoutant de nouvelles règles de blocage personnalisées sur la stratégie WAF Azure pour les adresses IP sources respectives. Cela garantit que le trafic provenant de ces adresses IP sources est bloqué avant même d’atteindre l’ensemble de règles du moteur Azure WAF.
Cet article explique comment utiliser Microsoft Sentinel avec Azure Web Application Firewall (WAF) pour détecter de nouvelles menaces pour votre réseau.
La base de référence de sécurité Azure Web Application Firewall fournit des conseils de procédure et des ressources pour l’implémentation des recommandations de sécurité spécifiées dans le benchmark de sécurité cloud Microsoft.