Résoudre les problèmes de sécurité réseau
Déterminer pourquoi le pare-feu d’applications web (WAF) bloque le trafic souhaité
Parfois, les requêtes qui doivent passer via votre pare-feu d’applications web (WAF) sont bloquées.
Pour régler les réglementations OWASP (Open Web Application Security Project) strictes pour les besoins d’une application ou d’une organisation, WAF vous permet de personnaliser ou de désactiver les règles, ou de créer des exclusions, susceptibles de provoquer des problèmes ou des faux positifs. Cette opération est effectuée par site et par URI. Autrement dit, les modifications apportées aux stratégies affecteront uniquement des sites/URI spécifiques et ne concerneraient pas d’autres sites susceptibles de ne pas avoir les mêmes problèmes.
Les articles suivants vous aideront à comprendre comment fonctionnent les fonctions WAF et comment fonctionnent ses règles et journaux d’activité :
Compréhension des journaux du WAF
Les journaux WAF fonctionnent comme un relevé de toutes les requêtes évaluées qui sont satisfaites ou bloquées. Si vous remarquez un faux positif, lorsque le WAF bloque une demande qu’il ne doit pas, vous pouvez effectuer les étapes suivantes :
Recherchez la demande spécifique.
Examinez les journaux pour rechercher l’URI, l’horodatage ou l’ID de transaction spécifique de la requête.
Corrigez les faux positifs.
Visualisation des journaux WAF
Pour visualiser les journaux WAF, effectuez les étapes suivantes :
Dans le portail Azure, sélectionnez Toutes les ressources, puis sélectionnez la stratégie WAF Application Gateway.
Sélectionnez Journal d’activité.
Sélectionnez des opérations individuelles pour plus d’informations.
Vous pouvez télécharger le journal d’activité en sélectionnant Télécharger au format CSV.
Pour diffuser en continu les événements du journal d’activité vers un autre service, sélectionnez Exporter les journaux d’activité.
Dans les journaux d’activité d’exportation :
Sélectionnez Ajouter un paramètre de diagnostic.
Tapez un nom de paramètre de diagnostic.
Sélectionnez les catégories de journaux appropriées à diffuser en continu dans Catégories. Par exemple, sélectionnez Sécurité, Stratégie et Alerte.
Sélectionnez la destination de diffusion en continu dans les détails de destination. Par exemple, sélectionnez Envoyer à l’espace de travail Log Analytics.
Entrez les détails de destination supplémentaires. Par exemple, l’abonnement approprié et l’espace de travail Log Analytics.
Cliquez sur Enregistrer.
Mode de scoring d’anomalie
Le mode scoring des anomalies est utilisé par OWASP pour décider s’il faut bloquer le trafic. En mode Évaluation des anomalies, le trafic après avoir correspondu à une règle n’est pas bloqué de manière instantanée lorsque le pare-feu est en mode Prévention. Les règles ont un certain critère : Critique, Erreur, Avertissement ou Avis. Chacun d’eux a une valeur numérique associée, appelée Score d’anomalie. La valeur numérique indique la gravité d’une requête.
Pour plus d’informations, consultez le mode de notation des anomalies.
Correction des faux-positifs
Pour corriger les faux positifs et éviter les problèmes de trafic bloqué, vous pouvez utiliser une liste d’exclusions. L’utilisation d’une liste d’exclusions s’applique uniquement à une partie spécifique d’une requête ou à un ensemble de règles en cours de désactivation. Vous pouvez décider d’exclure le corps, les en-têtes ou les cookies pour une certaine condition au lieu d’exclure toute la demande. Dans un environnement global, l’exclusion spécifique s’applique à tout le trafic passant par votre WAF.
Pour plus d’informations sur les listes d’exclusion, reportez-vous à la configuration waf .
Pour configurer des listes d’exclusion à l’aide du portail Azure
Accédez au portail WAF.
Sélectionnez Gérer les exclusions sous règles gérées.
Exemple de liste d’exclusion :
- Désactivez la règle : la désactivation d’une règle vous permet de traiter une certaine condition comme une non-menace qui serait autrement marquée comme malveillante et bloquée. Dans une configuration globale, désactiver une règle pour l'ensemble du WAF constitue un risque et peut affaiblir votre sécurité.
Pour désactiver des groupes de règles ou des règles spécifiques
Accédez à la passerelle Application Gateway, puis sélectionnez Pare-feu d’applications web.
Sélectionnez votre stratégie WAF.
Sélectionnez Règles managées.
Recherchez les règles ou les groupes de règles que vous voulez désactiver.
Cochez les cases correspondant aux règles que vous voulez désactiver.
Sélectionnez l’action en haut de la page (Activer la/désactivation) pour les règles sélectionnées.
Cliquez sur Enregistrer.
Un outil tiers appelé Fiddler peut fournir des informations supplémentaires. Fiddler vous aidera à :
Rechercher des noms d’attributs de requête : passez en revue les demandes individuelles et déterminez les champs spécifiques d’une page web. Il permet également d’exclure certains champs de l’inspection à l’aide de listes d’exclusion.
Rechercher des noms d’en-têtes de requête : affichez les en-têtes de demande et de réponse dans les outils de développement de Chrome, ou consultez les en-têtes de la requête GET.
Rechercher les noms des cookies de demande : affichez les cookies en sélectionnant l’onglet Cookies dans Fiddler.
Restreindre les paramètres globaux pour éliminer les faux positifs
Désactiver l’inspection du corps de la demande : certains corps qui ne sont pas une menace pour votre application peuvent être empêchés d’être évalués par votre WAF en définissant inspect le corps de la demande sur désactivé. De cette façon, seul le corps des requêtes n’est pas inspecté. Les en-têtes et les cookies sont toujours inspectés, sauf s’ils se présentent dans la liste d’exclusions.
Limites de taille de fichier : la possibilité d’une attaque sur des serveurs web et des applications peut être réduite en limitant la taille de fichier de votre WAF. L’autorisation de fichiers volumineux augmente le risque d’épuisement de votre back-end. Pour éviter les attaques, il est recommandé de limiter la taille du fichier à un cas classique pour votre application.
Remarque
Métriques de pare-feu (WAF_v1 uniquement) Pour les pare-feu d’applications web v1, les métriques suivantes sont désormais disponibles dans le portail :
- Nombre de demandes bloquées par le pare-feu d’applications web : nombre de requêtes bloquées.
- Nombre de règles bloquées par le pare-feu d’applications web - toutes les règles qui ont été mises en correspondance et pour lesquelles la demande a été bloquée.
- Distribution totale des règles du pare-feu d’applications web : toutes les règles qui ont été mises en correspondance lors de l’évaluation
Pour activer les métriques, sélectionnez l’onglet Métriques dans le portail, puis sélectionnez l’une des trois métriques.
Déterminer la version de TLS exécutée par un client
Si le client utilise une version de TLS (Transport Layer Security) inférieure à la version minimale requise, tous les appels au stockage Azure échouent. Par conséquent, du point de vue de la sécurité, un compte de stockage Azure peut exiger que les clients utilisent une version minimale de TLS pour envoyer des demandes. Par exemple, une demande envoyée par un client qui utilise TLS 1.1 échoue si un compte de stockage nécessite TLS 1.2.
L’article Configurer la version minimale requise du protocole TLS (Transport Layer Security) pour un compte de stockage explique comment configurer la version TLS minimale pour un compte de stockage Azure susceptible d’affecter les applications clientes.
Configurer la version tls du client
Pour le client, l’envoi d’une requête avec une version particulière de TLS n’est possible que si le système d’exploitation et le .NET Framework utilisé par le client prennent en charge cette version.
Pour activer TLS 1.2 dans un client PowerShell :
# Set the TLS version used by the PowerShell client to TLS 1.2.
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;
# Create a new container.
$storageAccount = Get-AzStorageAccount -ResourceGroupName $rgName -Name $accountName
$ctx = $storageAccount.Context
New-AzStorageContainer -Name "sample-container" -Context $ctx
Pour activer TLS 1.2 dans un client .NET à l’aide de la version 12 de la bibliothèque de client Stockage Azure :
public static async Task ConfigureTls12()
{
// Enable TLS 1.2 before connecting to Azure Storage
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
// Add your connection string here.
string connectionString = "";
// Create a new container with Shared Key authorization.
BlobContainerClient containerClient = new BlobContainerClient(connectionString, "sample-container");
await containerClient.CreateIfNotExistsAsync();
}
Pour activer TLS 1.2 dans un client .NET à l’aide de la version 11 de la bibliothèque cliente stockage Azure :
static void EnableTls12()
{
// Enable TLS 1.2 before connecting to Azure Storage
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
// Add your connection string here.
string connectionString = "";
// Connect to Azure Storage and create a new container.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("sample-container");
container.CreateIfNotExists();
}
Pour plus d’informations, consultez le support de TLS 1.2.
Remarque
Fiddler ou un outil similaire peut vous aider à vérifier que la version spécifiée de TLS a été utilisée par le client pour envoyer une demande.
Résoudre les problèmes liés au chiffrement/certificat pour les scénarios de point à site
Une connexion VPN point à site (P2S) est lancée par un point de terminaison unique et est utile lorsque vous souhaitez vous connecter à votre réseau virtuel à partir d’un emplacement distant. Point à site est une meilleure option lorsque vous avez seulement quelques clients qui doivent se connecter à un réseau virtuel. Les connexions P2S ne nécessitent pas d’appareil VPN, ni d’un réseau public ou d’une adresse IP.
Le VPN P2S prend en charge le protocole SSTP (Secure Socket Tunneling Protocol) et IKEv2. Vous pouvez connecter en toute sécurité différents clients exécutant Windows, Linux ou macOS à un réseau virtuel Azure via une connexion point à site.
Générer des certificats
Générer un certificat racine
Tout d’abord, obtenez la clé publique (fichier .cer) pour un certificat racine. Après avoir créé le certificat racine, exportez le certificat public (et non la clé privée). Ensuite, ce fichier est chargé sur Azure. Le certificat racine agit en tant que source approuvée par Azure pour la connexion via P2S au réseau virtuel. Il existe deux façons de générer un certificat racine, un certificat d’entreprise ou un certificat auto-signé. Pour créer un certificat racine auto-signé, procédez comme suit :
Ouvrez la console Windows PowerShell.
L’exemple suivant crée un certificat racine auto-signé nommé « P2SRootCert » installé automatiquement dans «Certificates-Current User\Personal\Certificates ». Vous pouvez afficher le certificat en ouvrant certmgr.msc ou Gérer les certificats utilisateur.
Vous pouvez modifier et exécuter la commande suivante :
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature ` -Subject "CN=P2SRootCert" -KeyExportPolicy Exportable ` -HashAlgorithm sha256 -KeyLength 2048 ` -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSignLaissez la console PowerShell ouverte et passez aux étapes suivantes pour générer un certificat client.
Générer des certificats clients
Un certificat client est automatiquement installé sur l’ordinateur sur lequel il est généré à partir d’un certificat racine auto-signé. Pour installer un certificat client sur un autre ordinateur client, vous devez l’exporter en tant que fichier .pfx, ainsi que la chaîne de certificats entière. Le fichier .pfx contient les informations de certificat racine requises pour l’authentification du client. Il existe deux méthodes pour créer des certificats clients, un certificat d’entreprise ou un certificat racine auto-signé.
Il est recommandé de générer un certificat unique pour chaque client au lieu d’utiliser le même certificat. Cela est dû au fait que, si vous souhaitez révoquer un certificat client particulier, vous n’avez pas besoin de générer et d’installer un nouveau certificat pour chaque client qui utilise le même certificat. Pour générer un certificat client, procédez comme suit :
Utilisez l’exemple suivant si la session de console PowerShell est toujours ouverte :
New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature ` -Subject "CN=P2SChildCert" -KeyExportPolicy Exportable ` -HashAlgorithm sha256 -KeyLength 2048 ` -CertStoreLocation "Cert:\CurrentUser\My" ` -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")S’il s’agit d’une nouvelle session de console PowerShell, procédez comme suit :
- Identifiez le certificat racine auto-signé installé sur l’ordinateur. Cette applet de commande renvoie la liste des certificats installés sur votre ordinateur.
Get-ChildItem -Path "Cert:\CurrentUser\My"Recherchez le nom du sujet dans la liste renvoyée, puis copiez l’empreinte qui se trouve à côté dans un fichier texte. Dans ce cas, « P2SRootCert ».
Thumbprint Subject ---------- ------- 7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655 CN=P2SRootCertDéclarez une variable pour le certificat racine avec l’empreinte de l’étape précédente.
$cert = Get-ChildItem -Path "Cert:\CurrentUser\My\<THUMBPRINT>"Remplacez THUMBPRINT par l’empreinte du certificat racine à partir duquel vous souhaitez générer un certificat enfant.
$cert = Get-ChildItem -Path "Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655"Dans cet exemple, un certificat client nommé « P2SChildCert » est généré. Le certificat client que vous générez est automatiquement installé dans « Certificats - Utilisateur actuel\Personnel\Certificats » sur votre ordinateur.
Vous pouvez modifier et exécuter la commande suivante pour générer un certificat client :
New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
-Subject "CN=P2SChildCert" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" `
-Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")
Pour en savoir plus sur l’exportation du certificat racine et du certificat client, consultez Générer et exporter des certificats pour les connexions VPN utilisateur.
Pour configurer une connexion point à site à l’aide d’un certificat Azure, vous devez :
Ajoutez le pool d’adresses du client VPN.
Spécifiez le type de tunnel et le type d’authentification.
Chargez les informations de clé publique du certificat racine.
Installez le certificat client exporté.
Configurez les paramètres des clients VPN.
Connectez-vous à Azure.
Pour obtenir des instructions détaillées pour configurer une connexion point à site à l’aide d’un certificat Azure, reportez-vous à Se connecter à un réseau virtuel à l’aide d’une authentification par certificat VPN P2S : portail - Passerelle VPN Azure.
Pour vérifier que votre connexion VPN est active (clients Windows), ouvrez une invite de commandes avec élévation de privilèges et exécutez ipconfig/all.
Pour vous connecter à une machine virtuelle (clients Windows) :
Recherchez l’adresse IP privée.
Vérifiez que vous êtes connecté à votre réseau virtuel.
Ouvrez la connexion Bureau à distance en tapant « RDP » ou « Connexion Bureau à distance » dans la zone de recherche dans la barre des tâches, puis sélectionnez Connexion Bureau à distance. Vous pouvez également ouvrir la connexion Bureau à distance à l’aide de la commande « mstsc » dans PowerShell.
Dans connexion Bureau à distance, entrez l’adresse IP privée de la machine virtuelle. Sélectionnez Afficher les options pour ajuster des paramètres supplémentaires, puis connectez-vous.
Résoudre les problèmes de connexion
Si vous rencontrez des problèmes de connexion à une machine virtuelle via votre connexion VPN, lisez les informations suivantes :
Vérifiez que votre connexion VPN réussit.
Vérifiez que vous vous connectez à l’adresse IP privée de la machine virtuelle.
Si vous pouvez vous connecter à la machine virtuelle à l’aide de l’adresse IP privée, mais pas du nom de l’ordinateur, vérifiez la configuration DNS.
Pour plus d’informations sur les connexions RDP, consultez Résoudre des problèmes de connexion Bureau à distance à une machine virtuelle.
Vérifiez que le package de configuration du client VPN a été généré après que les adresses IP du serveur DNS ont été spécifiées pour le réseau virtuel. Si vous avez mis à jour les adresses IP du serveur DNS, générez et installez un package de configuration du client VPN.
Vérifiez qu’il n’y a pas d’espace d’adressage en chevauchement. Par exemple, si l’adresse IP se trouve dans la plage d’adresses du réseau virtuel auquel vous vous connectez ou dans la plage d’adresses de votre VPNClientAddressPool. Utilisez « ipconfig » pour vérifier l’adresse IPv4 affectée à l’adaptateur Ethernet sur l’ordinateur à partir duquel vous vous connectez.
Pour ajouter un certificat racine approuvé, reportez-vous au téléchargement d’un certificat racine approuvé.
Pour supprimer un certificat racine approuvé :
Accédez à la page de configuration de point à site de votre passerelle de réseau virtuel.
Dans la section certificat racine de la page, recherchez le certificat que vous souhaitez supprimer.
Sélectionnez les points de suspension à côté du certificat, puis sélectionnez Supprimer.
Révocation d'un certificat client
La révocation d’un certificat client diffère de la suppression d’un certificat racine approuvé. La suppression d’un fichier .cer de certificat racine de confiance d’Azure révoque tous les certificats clients générés et authentifiés par le certificat racine. La révocation d’un certificat client permet à d’autres certificats associés au même certificat racine de continuer à fonctionner.
Pour révoquer un certificat client, ajoutez l’empreinte numérique à la liste de révocation.
Récupérez l’empreinte du certificat client. Découvrez comment récupérer l’empreinte numérique d’un certificat.
Copiez les informations dans un éditeur de texte et supprimez tous les espaces afin qu’il s’agit d’une chaîne continue.
Accédez à la page de configuration de la passerelle de réseau virtuel point à site. Il s’agit de la même page que celle utilisée pour charger un certificat racine approuvé.
Dans la section Certificats révoqués , entrez un nom convivial pour le certificat.
Copiez et collez la chaîne d’empreinte numérique dans le champ Empreinte.
L’empreinte est validée, puis automatiquement ajoutée à la liste de révocation. Un message apparaît pour indiquer que la liste est en cours de mise à jour.
Une fois la mise à jour terminée, le certificat ne peut plus être utilisé pour se connecter. Les clients qui tentent de se connecter à l’aide de ce certificat reçoivent un message indiquant que le certificat n’est plus valide.
Résoudre les problèmes de connectivité aux points de terminaison sécurisés
Azure Private Endpoint est une interface réseau qui utilise une adresse IP privée à partir d’un réseau virtuel et vous connecte en privé et en toute sécurité à un service de liaison privée.
Voici les scénarios de connectivité disponibles avec un point de terminaison privé :
Réseau virtuel à partir de la même région.
Réseaux virtuels interconnectés au niveau régional.
Réseaux virtuels interconnectés mondialement.
Circuits locaux du client via VPN ou circuits Azure ExpressRoute.
Diagnostiquer les problèmes de connectivité
Les étapes suivantes vous guideront pour vous assurer que toutes les configurations requises sont en place, afin de résoudre les problèmes de connectivité liés à la configuration de votre point de terminaison privé. Pour obtenir des instructions détaillées, consultez Diagnostiquer les problèmes de connectivité.
Passez en revue la configuration du point de terminaison privé en parcourant la ressource.
Utilisez Azure Monitor pour voir si les données circulent.
Utilisez la résolution des problèmes de connexion de machine virtuelle à partir d’Azure Network Watcher.
La résolution DNS des résultats des tests doit avoir la même adresse IP privée assignée au point de terminaison privé.
La route vers le tronçon suivant de l’adresse IP du point de terminaison privé de la machine virtuelle source doit être InterfaceEndpoints dans les routes effectives de la carte réseau.
Si la connexion a des résultats validés, le problème de connectivité est peut-être lié à d’autres aspects tels que les secrets, les jetons et les mots de passe au niveau de la couche application.
Délimitez l’entendue du problème avant d’ouvrir le ticket de support.
Si le point de terminaison privé est lié à un service Private Link lié à un équilibreur de charge, vérifiez si le pool principal signale un état sain. La résolution de l’intégrité de l’équilibreur de charge résout le problème de connexion au point de terminaison privé.
Contactez l’équipe du support technique Azure si votre problème n’est pas résolu et qu’un problème de connectivité existe toujours.
Résoudre les problèmes liés au chiffrement/au certificat pour les scénarios de site à site
Paramètres de stratégie IPsec et IKE pour les passerelles VPN
La norme de protocole IPsec et IKE prend en charge un large éventail d’algorithmes de chiffrement dans différentes combinaisons. Les paramètres IPsec/IKE de l’article expliquent quels paramètres sont pris en charge dans Azure Stack Hub pour répondre à vos exigences de conformité ou de sécurité.
Notez les considérations importantes suivantes lors de l’utilisation de ces stratégies :
La stratégie IPsec/IKE fonctionne uniquement sur les références SKU de passerelle Standard et HighPerformance (Basé sur itinéraires).
Vous ne pouvez spécifier qu’une seule combinaison de stratégies pour une connexion donnée.
Vous devez spécifier tous les algorithmes et paramètres pour IKE (mode principal) et IPsec (mode rapide). La spécification de stratégie partielle n’est pas autorisée.
Vérifiez avec les spécifications de votre fournisseur d’appareils VPN si la stratégie est prise en charge sur vos appareils VPN locaux.
Les étapes suivantes montrent comment créer et configurer une stratégie IPsec/IKE et l’appliquer à une connexion nouvelle ou existante. Pour obtenir des instructions détaillées, suivez les étapes pour configurer une stratégie IPsec/IKE pour les connexions VPN site à site (S2S) dans Azure Stack Hub.
Créez et définissez la stratégie IPsec/IKE.
Créez une connexion VPN de site à site avec la stratégie IPsec/IKE :
Étape 1 : créez le réseau virtuel, la passerelle VPN et la passerelle de réseau local.
Étape 2 : Créez une connexion VPN de site à site avec une stratégie IPsec/IKE.
Mettez à jour la stratégie IPsec/IKE pour une connexion.