diff --git a/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md b/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md index 5a8d887c6..89284ab92 100644 --- a/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md +++ b/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md @@ -4,25 +4,25 @@ ## Informations de base -Azure fournit des **réseaux virtuels (VNet)** qui permettent aux utilisateurs de créer des **réseaux** **isolés** au sein du cloud Azure. Au sein de ces VNets, des ressources telles que des machines virtuelles, des applications, des bases de données... peuvent être hébergées et gérées en toute sécurité. Le réseau dans Azure prend en charge à la fois la communication au sein du cloud (entre les services Azure) et la connexion à des réseaux externes et à Internet.\ -De plus, il est possible de **connecter** des VNets avec d'autres VNets et avec des réseaux sur site. +Azure fournit des **réseaux virtuels (VNet)** qui permettent aux utilisateurs de créer des **réseaux isolés** au sein du cloud Azure. Dans ces VNets, des ressources telles que des machines virtuelles, des applications, des bases de données... peuvent être hébergées et gérées en toute sécurité. Le réseau dans Azure prend en charge à la fois la communication au sein du cloud (entre les services Azure) et la connexion aux réseaux externes et à Internet.\ +De plus, il est possible de **connecter** des VNets entre eux et avec des réseaux on-premise. -## Réseau virtuel (VNET) et sous-réseaux +## Virtual Network (VNet) & Sous-réseaux -Un réseau virtuel Azure (VNet) est une représentation de votre propre réseau dans le cloud, offrant une **isolation logique** au sein de l'environnement Azure dédié à votre abonnement. Les VNets vous permettent de provisionner et de gérer des réseaux privés virtuels (VPN) dans Azure, hébergeant des ressources comme des machines virtuelles (VM), des bases de données et des services d'application. Ils offrent **un contrôle total sur les paramètres réseau**, y compris les plages d'adresses IP, la création de sous-réseaux, les tables de routage et les passerelles réseau. +Un Azure Virtual Network (VNet) est la représentation de votre propre réseau dans le cloud, offrant une **isolation logique** au sein de l'environnement Azure dédiée à votre abonnement. Les VNets vous permettent de provisionner et gérer des réseaux privés virtuels (VPN) dans Azure, hébergeant des ressources comme des Virtual Machines (VM), des bases de données et des services d'application. Ils offrent un **contrôle total sur les paramètres réseau**, y compris les plages d'adresses IP, la création de sous-réseaux, les tables de routage et les gateways réseau. Les **sous-réseaux** sont des subdivisions au sein d'un VNet, définies par des **plages d'adresses IP** spécifiques. En segmentant un VNet en plusieurs sous-réseaux, vous pouvez organiser et sécuriser les ressources selon votre architecture réseau.\ -Par défaut, tous les sous-réseaux au sein du même réseau virtuel Azure (VNet) **peuvent communiquer entre eux** sans aucune restriction. +Par défaut, tous les sous-réseaux au sein du même Azure Virtual Network (VNet) **peuvent communiquer entre eux** sans aucune restriction. -**Exemple :** +**Exemple:** -- `MyVNet` avec une plage d'adresses IP de 10.0.0.0/16. -- **Sous-réseau-1 :** 10.0.0.0/24 pour les serveurs web. -- **Sous-réseau-2 :** 10.0.1.0/24 pour les serveurs de bases de données. +- `MyVNet` with an IP address range of 10.0.0.0/16. +- **Subnet-1:** 10.0.0.0/24 for web servers. +- **Subnet-2:** 10.0.1.0/24 for database servers. ### Énumération -Pour lister tous les VNets et sous-réseaux dans un compte Azure, vous pouvez utiliser l'interface de ligne de commande Azure (CLI). Voici les étapes : +Pour lister tous les VNets et sous-réseaux dans un compte Azure, vous pouvez utiliser l'Azure Command-Line Interface (CLI). Voici les étapes: {{#tabs }} {{#tab name="az cli" }} @@ -49,14 +49,14 @@ Select-Object Name, AddressPrefix ## Groupes de sécurité réseau (NSG) -Un **Groupe de sécurité réseau (NSG)** filtre le trafic réseau à la fois vers et depuis les ressources Azure au sein d'un Réseau Virtuel Azure (VNet). Il contient un ensemble de **règles de sécurité** qui peuvent indiquer **quels ports ouvrir pour le trafic entrant et sortant** par port source, IP source, destination de port et il est possible d'assigner une priorité (plus le numéro de priorité est bas, plus la priorité est élevée). +Un **Network Security Group (NSG)** filtre le trafic réseau entrant et sortant des ressources Azure au sein d'un Azure Virtual Network (VNet). Il contient un ensemble de **règles de sécurité** qui peuvent indiquer **quels ports ouvrir pour le trafic entrant et sortant** selon le port source, l'IP source, le port de destination, et il est possible d'assigner une priorité (plus le numéro de priorité est bas, plus la priorité est élevée). -Les NSG peuvent être associés à **des sous-réseaux et des NIC.** +Les NSG peuvent être associés à des **sous-réseaux** et des **NICs.** -**Exemple de règles :** +**Exemples de règles :** -- Une règle entrante permettant le trafic HTTP (port 80) de n'importe quelle source vers vos serveurs web. -- Une règle sortante permettant uniquement le trafic SQL (port 1433) vers une plage d'adresses IP de destination spécifique. +- Une règle entrante autorisant le trafic HTTP (port 80) depuis n'importe quelle source vers vos serveurs web. +- Une règle sortante n'autorisant que le trafic SQL (port 1433) vers une plage d'adresses IP de destination spécifique. ### Énumération @@ -71,7 +71,7 @@ az network nsg show --name az network nsg rule list --nsg-name --resource-group --query "[].{name:name, priority:priority, direction:direction, access:access, protocol:protocol, sourceAddressPrefix:sourceAddressPrefix, destinationAddressPrefix:destinationAddressPrefix, sourcePortRange:sourcePortRange, destinationPortRange:destinationPortRange}" -o table # Get NICs and subnets using this NSG -az network nsg show --name MyLowCostVM-nsg --resource-group Resource_Group_1 --query "{subnets: subnets, networkInterfaces: networkInterfaces}" +az network nsg show --name --resource-group --query "{subnets: subnets, networkInterfaces: networkInterfaces}" ``` {{#endtab }} {{#tab name="PowerShell" }} @@ -81,32 +81,35 @@ Get-AzNetworkSecurityGroup | Select-Object Name, Location Get-AzNetworkSecurityGroup -Name -ResourceGroupName # Get NSG rules -(Get-AzNetworkSecurityGroup -ResourceGroupName -Name ).SecurityRules +Get-AzNetworkSecurityGroup -Name -ResourceGroupName | +Select-Object -ExpandProperty SecurityRules | +Select-Object Name, Priority, Direction, Access, Protocol, SourceAddressPrefix, DestinationAddressPrefix, SourcePortRange, DestinationPortRange # Get NICs and subnets using this NSG (Get-AzNetworkSecurityGroup -Name -ResourceGroupName ).Subnets +(Get-AzNetworkSecurityGroup -Name -ResourceGroupName ).NetworkInterfaces ``` {{#endtab }} {{#endtabs }} ## Azure Firewall -Azure Firewall est un **service de sécurité réseau géré** dans Azure qui protège les ressources cloud en inspectant et en contrôlant le trafic. C'est un **pare-feu stateful** qui filtre le trafic en fonction de règles pour les Couches 3 à 7, prenant en charge la communication à la fois **au sein d'Azure** (trafic est-ouest) et **vers/depuis des réseaux externes** (trafic nord-sud). Déployé au niveau du **réseau virtuel (VNet)**, il fournit une protection centralisée pour tous les sous-réseaux dans le VNet. Azure Firewall s'adapte automatiquement pour gérer les demandes de trafic et garantit une haute disponibilité sans nécessiter de configuration manuelle. +Azure Firewall est un **managed, stateful firewall** qui filtre le trafic (L3–L7) pour les flux est-ouest et nord-sud. Déployé au **niveau VNet**, il centralise l'inspection de tous les sous-réseaux et se met à l'échelle automatiquement pour garantir la disponibilité. -Il est disponible en trois SKUs—**Basic**, **Standard** et **Premium**, chacun adapté à des besoins spécifiques des clients : +SKUs disponibles : **Basic**, **Standard** et **Premium** : -| Critères/Fonctionnalité | Option 1 | Option 2 | Option 3 | -| ------------------------------ | ------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------- | -| **Cas d'utilisation recommandé** | Petites/Moyennes Entreprises (PME) avec des besoins limités | Utilisation générale en entreprise, filtrage Couches 3–7 | Environnements hautement sensibles (par exemple, traitement des paiements) | -| **Performance** | Jusqu'à 250 Mbps de débit | Jusqu'à 30 Gbps de débit | Jusqu'à 100 Gbps de débit | -| **Renseignement sur les menaces** | Alertes uniquement | Alertes et blocage (IP/domaines malveillants) | Alertes et blocage (renseignement sur les menaces avancées) | -| **Filtrage L3–L7** | Filtrage de base | Filtrage stateful à travers les protocoles | Filtrage stateful avec inspection avancée | -| **Protection avancée contre les menaces** | Non disponible | Filtrage basé sur le renseignement sur les menaces | Inclut un système de détection et de prévention des intrusions (IDPS) | -| **Inspection TLS** | Non disponible | Non disponible | Prend en charge la terminaison TLS entrante/sortante | -| **Disponibilité** | Backend fixe (2 VMs) | Autoscaling | Autoscaling | -| **Facilité de gestion** | Contrôles de base | Géré via le Gestionnaire de pare-feu | Géré via le Gestionnaire de pare-feu | +| Critère/Fonctionnalité | Option 1 | Option 2 | Option 3 | +| ------------------------------ | ------------------------------------------------ | ------------------------------------------- | --------------------------------------------------------- | +| **Cas d'utilisation recommandé** | Petites/moyennes entreprises (PME) avec des besoins limités | Usage d'entreprise général, filtrage Layer 3–7 | Environnements hautement sensibles (par ex. traitement des paiements) | +| **Performance** | Jusqu'à 250 Mbps de débit | Jusqu'à 30 Gbps de débit | Jusqu'à 100 Gbps de débit | +| **Renseignement sur les menaces** | Alertes uniquement | Alertes et blocage (IPs/domaines malveillants) | Alertes et blocage (renseignement sur les menaces avancé) | +| **Filtrage L3–L7** | Filtrage basique | Filtrage stateful sur plusieurs protocoles | Filtrage stateful avec inspection avancée | +| **Protection avancée contre les menaces** | Non disponible | Filtrage basé sur le renseignement sur les menaces | Inclut Système de détection et de prévention des intrusions (IDPS) | +| **Inspection TLS** | Non disponible | Non disponible | Prend en charge la terminaison TLS entrante/sortante | +| **Disponibilité** | Backend fixe (2 VMs) | Mise à l'échelle automatique | Mise à l'échelle automatique | +| **Facilité de gestion** | Contrôles basiques | Géré via Firewall Manager | Géré via Firewall Manager | -### Enumeration +### Énumération {{#tabs }} {{#tab name="az cli" }} @@ -141,11 +144,16 @@ Get-AzFirewall {{#endtab }} {{#endtabs }} -## Tables de routage Azure +## Azure Route Tables -Les **Tables de routage Azure** sont utilisées pour contrôler le routage du trafic réseau au sein d'un sous-réseau. Elles définissent des règles qui spécifient comment les paquets doivent être transférés, soit vers des ressources Azure, soit vers Internet, soit vers un prochain saut spécifique comme un Appareil Virtuel ou un Pare-feu Azure. Vous pouvez associer une table de routage à un **sous-réseau**, et toutes les ressources au sein de ce sous-réseau suivront les routes dans la table. +Azure **Route Tables (UDR)** vous permettent de remplacer le routage par défaut en définissant des préfixes de destination (par ex., `10.0.0.0/16` ou `0.0.0.0/0`) et un next hop (Virtual Network, Internet, Virtual Network Gateway, or Virtual Appliance). -**Exemple :** Si un sous-réseau héberge des ressources qui doivent acheminer le trafic sortant via un Appareil Virtuel Réseau (NVA) pour inspection, vous pouvez créer une **route** dans une table de routage pour rediriger tout le trafic (par exemple, `0.0.0.0/0`) vers l'adresse IP privée du NVA comme prochain saut. +> Les routes s'appliquent au niveau du sous-réseau ; toutes les VMs dans ce sous-réseau suivent la table. + +**Exemple :** + +- Pour le trafic destiné à Internet, utilisez le `0.0.0.0/0` par défaut avec **Internet** comme next hop. +- Pour inspecter le trafic sortant, orientez `0.0.0.0/0` vers l'IP d'un Network Virtual Appliance (NVA). ### **Énumération** @@ -155,8 +163,11 @@ Les **Tables de routage Azure** sont utilisées pour contrôler le routage du tr # List Route Tables az network route-table list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table -# List routes for a table -az network route-table route list --route-table-name --resource-group --query "[].{name:name, addressPrefix:addressPrefix, nextHopType:nextHopType, nextHopIpAddress:nextHopIpAddress}" -o table +# List routes for a table (summary) +az network route-table route list --resource-group --route-table-name --query "[].{name:name, addressPrefix:addressPrefix, nextHopType:nextHopType, nextHopIpAddress:nextHopIpAddress}" -o table + +# List routes for a table (full) +az network route-table route list --resource-group --route-table-name ``` {{#endtab }} {{#tab name="PowerShell" }} @@ -172,16 +183,16 @@ Get-AzRouteTable ## Azure Private Link -Azure Private Link est un service dans Azure qui **permet un accès privé aux services Azure** en garantissant que **le trafic entre votre réseau virtuel Azure (VNet) et le service circule entièrement au sein du réseau backbone de Microsoft Azure**. Il intègre efficacement le service dans votre VNet. Cette configuration améliore la sécurité en ne rendant pas les données accessibles sur Internet public. +Azure Private Link est un service d'Azure qui **permet l'accès privé aux services Azure** en garantissant que **le trafic entre votre Azure virtual network (VNet) et le service circule entièrement sur le réseau backbone d'Azure de Microsoft**. Il intègre effectivement le service dans votre VNet. Cette configuration renforce la sécurité en n'exposant pas les données à l'internet public. -Private Link peut être utilisé avec divers services Azure, comme Azure Storage, Azure SQL Database, et des services personnalisés partagés via Private Link. Il fournit un moyen sécurisé de consommer des services depuis votre propre VNet ou même depuis différentes souscriptions Azure. +Private Link peut être utilisé avec divers services Azure, comme Azure Storage, Azure SQL Database, et des services personnalisés partagés via Private Link. Il fournit un moyen sécurisé de consommer des services depuis votre propre VNet ou même depuis différents abonnements Azure. > [!CAUTION] -> Les NSG ne s'appliquent pas aux points de terminaison privés, ce qui signifie clairement qu'associer un NSG à un sous-réseau contenant le Private Link n'aura aucun effet. +> Les NSGs ne s'appliquent pas aux private endpoints, ce qui signifie clairement que l'association d'un NSG à un subnet contenant le Private Link n'aura aucun effet. **Exemple :** -Considérez un scénario où vous avez une **base de données Azure SQL que vous souhaitez accéder de manière sécurisée depuis votre VNet**. Normalement, cela pourrait impliquer de traverser Internet public. Avec Private Link, vous pouvez créer un **point de terminaison privé dans votre VNet** qui se connecte directement au service Azure SQL Database. Ce point de terminaison fait apparaître la base de données comme si elle faisait partie de votre propre VNet, accessible via une adresse IP privée, garantissant ainsi un accès sécurisé et privé. +Considérez un scénario où vous avez une **Azure SQL Database que vous souhaitez accéder de façon sécurisée depuis votre VNet**. Normalement, cela impliquerait de traverser l'internet public. Avec Private Link, vous pouvez créer un **private endpoint dans votre VNet** qui se connecte directement au service Azure SQL Database. Cet endpoint fait apparaître la base de données comme si elle faisait partie de votre propre VNet, accessible via une adresse IP privée, garantissant ainsi un accès sécurisé et privé. ### **Enumeration** @@ -206,15 +217,62 @@ Get-AzPrivateEndpoint | Select-Object Name, Location, ResourceGroupName, Private {{#endtab }} {{#endtabs }} -## Points de terminaison de service Azure +### DNS OverDoS via service Private DNS zone links -Les points de terminaison de service Azure étendent l'espace d'adresses privées de votre réseau virtuel et l'identité de votre VNet aux services Azure via une connexion directe. En activant les points de terminaison de service, **les ressources de votre VNet peuvent se connecter en toute sécurité aux services Azure**, comme Azure Storage et Azure SQL Database, en utilisant le réseau backbone d'Azure. Cela garantit que le **trafic du VNet vers le service Azure reste au sein du réseau Azure**, offrant un chemin plus sécurisé et fiable. +Lorsqu'un VNet a un **Virtual Network Link** vers une **service Private DNS zone** (par ex., `privatelink.blob.core.windows.net`), Azure **force la résolution des noms d'hôte** pour les ressources enregistrées avec Private Link de ce type de service via la zone. Si la zone **ne contient pas le `A` record requis** pour une ressource que les workloads atteignent encore via son endpoint public, la résolution DNS renvoie **NXDOMAIN** et les clients n'atteignent jamais l'IP publique, provoquant un **DoS de disponibilité** sans toucher la ressource elle-même. + +**Flux d'abus (DoS sur le plan de contrôle) :** + +1. Obtenir des permissions RBAC permettant de créer **Private Endpoints** ou de modifier des **Private DNS zone links**. +2. Créer un Private Endpoint pour le même type de service dans un autre VNet (Azure crée automatiquement la service Private DNS zone et la lie à ce VNet). +3. Lier cette **service Private DNS zone** au VNet victime. +4. Parce que le VNet victime **force désormais la résolution via la Private DNS zone** et qu'aucun `A` record n'existe pour la ressource ciblée dans cette zone, la résolution de nom échoue et le workload ne peut pas atteindre l'endpoint (toujours public). Cela s'applique à tout service pris en charge par Private Link (storage, Key Vault, ACR, Cosmos DB, Function Apps, OpenAI, etc.). + +**Discovery at scale (Azure Resource Graph):** + +- VNETs linked to the blob Private DNS zone (forced resolution for PL-registered blob endpoints): +```kusto +resources +| where type == "microsoft.network/privatednszones/virtualnetworklinks" +| extend +zone = tostring(split(id, "/virtualNetworkLinks")[0]), +vnetId = tostring(properties.virtualNetwork.id) +| join kind=inner ( +resources +| where type == "microsoft.network/privatednszones" +| where name == "privatelink.blob.core.windows.net" +| project zoneId = id +) on $left.zone == $right.zoneId +| project vnetId +``` +- Storage accounts accessibles via public endpoint mais **sans** Private Endpoint connections (risque de rupture si le lien ci‑dessus est ajouté) : +```kusto +Resources +| where type == "microsoft.storage/storageaccounts" +| extend publicNetworkAccess = properties.publicNetworkAccess +| extend defaultAction = properties.networkAcls.defaultAction +| extend vnetRules = properties.networkAcls.virtualNetworkRules +| extend ipRules = properties.networkAcls.ipRules +| extend privateEndpoints = properties.privateEndpointConnections +| where publicNetworkAccess == "Enabled" +| where defaultAction == "Deny" +| where (isnull(privateEndpoints) or array_length(privateEndpoints) == 0) +| extend allowedVnets = iif(isnull(vnetRules), 0, array_length(vnetRules)) +| extend allowedIps = iif(isnull(ipRules), 0, array_length(ipRules)) +| where allowedVnets > 0 or allowedIps > 0 +| project id, name, vnetRules, ipRules +``` +## Azure Service Endpoints + +Azure Service Endpoints étendent l'espace d'adresses privées de votre virtual network et l'identité de votre VNet aux Azure services via une connexion directe. En activant les Service Endpoints, **les ressources dans votre VNet peuvent se connecter de manière sécurisée aux Azure services**, comme Azure Storage et Azure SQL Database, via le backbone d'Azure. Ceci est particulièrement utile lorsqu'ils sont combinés avec Network Security Groups (NSGs) pour un contrôle granulaire du trafic. **Exemple :** -Par exemple, un **compte Azure Storage** est par défaut accessible via Internet public. En activant un **point de terminaison de service pour Azure Storage au sein de votre VNet**, vous pouvez vous assurer que seul le trafic de votre VNet peut accéder au compte de stockage. Le pare-feu du compte de stockage peut alors être configuré pour accepter le trafic uniquement de votre VNet. +- Avec un **Storage** Account et Service Endpoint **activés** dans un VNET, il est possible d'autoriser le trafic entrant **uniquement depuis un VNET dans le storage account firewall**, forçant une **connexion sécurisée** sans nécessiter d'accès par IP publique pour le service de stockage. -### **Énumération** +Les Service Endpoints **ne nécessitent pas d'adresses IP privées** pour les services et reposent plutôt sur le backbone d'Azure pour une connectivité sécurisée. Ils sont **plus faciles à configurer** comparés aux Private Links mais **n'offrent pas le même niveau d'isolation et de granularité** que les Private Links. + +### **Enumeration** {{#tabs }} {{#tab name="az cli" }} @@ -223,7 +281,10 @@ Par exemple, un **compte Azure Storage** est par défaut accessible via Internet az network vnet list --query "[].{name:name, location:location, serviceEndpoints:serviceEndpoints}" -o table # List Subnets with Service Endpoints -az network vnet subnet list --resource-group --vnet-name --query "[].{name:name, serviceEndpoints:serviceEndpoints}" -o table +az network vnet subnet list --resource-group --vnet-name --query "[].{name:name, serviceEndpoints:serviceEndpoints}" + +# List Service Endpoints for a Subnet +az network vnet subnet show --resource-group --vnet-name --name --query "serviceEndpoints" ``` {{#endtab }} {{#tab name="PowerShell" }} @@ -237,71 +298,85 @@ Get-AzVirtualNetwork {{#endtab }} {{#endtabs }} -### Différences entre les points de terminaison de service et les liens privés +### Differences Between Service Endpoints and Private Links -Microsoft recommande d'utiliser les Liens Privés dans les [**docs**](https://learn.microsoft.com/en-us/azure/virtual-network/vnet-integration-for-azure-services#compare-private-endpoints-and-service-endpoints): +Microsoft recommande d'utiliser Private Links dans les [**docs**](https://learn.microsoft.com/en-us/azure/virtual-network/vnet-integration-for-azure-services#compare-private-endpoints-and-service-endpoints):
-**Points de terminaison de service :** +**Service Endpoints:** -- Le trafic de votre VNet vers le service Azure circule sur le réseau backbone de Microsoft Azure, contournant l'internet public. -- Le point de terminaison est une connexion directe au service Azure et ne fournit pas d'IP privée pour le service au sein du VNet. -- Le service lui-même est toujours accessible via son point de terminaison public depuis l'extérieur de votre VNet, sauf si vous configurez le pare-feu du service pour bloquer ce type de trafic. -- C'est une relation un à un entre le sous-réseau et le service Azure. -- Moins coûteux que les Liens Privés. +- Le trafic depuis votre VNet vers le service Azure transite par le réseau backbone de Microsoft Azure, en contournant l'internet public. +- L'endpoint est une connexion directe au service Azure et ne fournit pas d'IP privée pour le service au sein du VNet. +- Le service lui‑même reste accessible via son endpoint public depuis l'extérieur de votre VNet à moins que vous ne configuriez le service firewall pour bloquer ce trafic. +- C'est une relation one-to-one entre le subnet et le service Azure. +- Moins coûteux que Private Links. -**Liens Privés :** +**Private Links:** -- Le Lien Privé mappe les services Azure dans votre VNet via un point de terminaison privé, qui est une interface réseau avec une adresse IP privée au sein de votre VNet. -- Le service Azure est accessible en utilisant cette adresse IP privée, donnant l'impression qu'il fait partie de votre réseau. -- Les services connectés via le Lien Privé ne peuvent être accessibles que depuis votre VNet ou des réseaux connectés ; il n'y a pas d'accès à internet public au service. +- Private Link mappe les services Azure dans votre VNet via un private endpoint, qui est une interface réseau avec une adresse IP privée au sein de votre VNet. +- Le service Azure est accédé en utilisant cette adresse IP privée, donnant l'impression qu'il fait partie de votre réseau. +- Les services connectés via Private Link ne sont accessibles que depuis votre VNet ou des réseaux connectés ; il n'y a pas d'accès via l'internet public au service. - Il permet une connexion sécurisée aux services Azure ou à vos propres services hébergés dans Azure, ainsi qu'une connexion aux services partagés par d'autres. -- Il fournit un contrôle d'accès plus granulaire via un point de terminaison privé dans votre VNet, par opposition à un contrôle d'accès plus large au niveau du sous-réseau avec des points de terminaison de service. +- Il offre un contrôle d'accès plus granulaire via un private endpoint dans votre VNet, par opposition à un contrôle d'accès plus large au niveau du subnet avec les Service Endpoints. -En résumé, bien que les Points de Terminaison de Service et les Liens Privés offrent une connectivité sécurisée aux services Azure, **les Liens Privés offrent un niveau d'isolation et de sécurité supérieur en garantissant que les services sont accessibles de manière privée sans les exposer à l'internet public**. Les Points de Terminaison de Service, en revanche, sont plus faciles à configurer pour des cas généraux où un accès simple et sécurisé aux services Azure est requis sans avoir besoin d'une IP privée dans le VNet. +En résumé, bien que Service Endpoints et Private Links fournissent une connectivité sécurisée aux services Azure, **Private Links offrent un niveau d'isolation et de sécurité supérieur en garantissant que les services sont accédés de manière privée sans les exposer à l'internet public**. Les Service Endpoints, en revanche, sont plus faciles à configurer pour des cas généraux où un accès simple et sécurisé aux services Azure est requis sans besoin d'une IP privée dans le VNet. ## Azure Front Door (AFD) & AFD WAF -**Azure Front Door** est un point d'entrée évolutif et sécurisé pour **une livraison rapide** de vos applications web mondiales. Il **combine** divers services tels que l'**équilibrage de charge mondial, l'accélération de site, le déchargement SSL et les capacités de pare-feu d'application web (WAF)** en un seul service. Azure Front Door fournit un routage intelligent basé sur la **localisation de bord la plus proche de l'utilisateur**, garantissant des performances et une fiabilité optimales. De plus, il offre un routage basé sur l'URL, l'hébergement de plusieurs sites, l'affinité de session et la sécurité au niveau de l'application. +**Azure Front Door** est un point d'entrée scalable et sécurisé pour la **livraison rapide** de vos applications web globales. Il **combine** divers services comme **application acceleration, SSL offloading, and application layer security** (through Web Application Firewall - WAF). It's built on the concept of edge POP (Point of Presence) locations around the world to bring your applications closer to your users. -**Azure Front Door WAF** est conçu pour **protéger les applications web contre les attaques basées sur le web** sans modification du code de back-end. Il inclut des règles personnalisées et des ensembles de règles gérées pour se protéger contre des menaces telles que l'injection SQL, le cross-site scripting et d'autres attaques courantes. +> Azure Front Door provides a globally distributed network of edge locations to **route and accelerate** incoming traffic to your web applications (in Azure or elsewhere), improve performance, and enhance security. -**Exemple :** +**Example:** -Imaginez que vous avez une application distribuée mondialement avec des utilisateurs partout dans le monde. Vous pouvez utiliser Azure Front Door pour **diriger les demandes des utilisateurs vers le centre de données régional le plus proche** hébergeant votre application, réduisant ainsi la latence, améliorant l'expérience utilisateur et **la protégeant contre les attaques web avec les capacités WAF**. Si une région particulière subit une panne, Azure Front Door peut automatiquement rediriger le trafic vers le meilleur emplacement suivant, garantissant une haute disponibilité. +- For a global e-commerce platform with users worldwide, **Azure Front Door can cache static content at edge locations** and offer **SSL offloading**, reducing latency and providing a more responsive user experience. Additionally, it provides **WAF** to protect your applications from common web vulnerabilities (like SQL injection or XSS). -### Énumération +Azure Front Door also offers **smart load balancing** by routing traffic to the nearest available backend based on health probes and latency, ensuring consistent performance and availability. By integrating **WAF**, it helps protect against common web threats. + +### **Enumeration** {{#tabs }} {{#tab name="az cli" }} ```bash -# List Azure Front Door Instances +# List Azure Front Door profiles +az afd profile list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table + +# List AFD endpoints +az afd endpoint list --profile-name --resource-group --query "[].{name:name, hostName:hostName, state:resourceState}" -o table + +# Classic Azure Front Door (v1) profiles az network front-door list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table -# List Front Door WAF Policies +# Classic Azure Front Door WAF policies az network front-door waf-policy list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table ``` {{#endtab }} {{#tab name="PowerShell" }} ```bash -# List Azure Front Door Instances +# List Azure Front Door profiles +Get-AzFrontDoorCdnProfile | Select-Object Name, Location, ResourceGroupName + +# List AFD endpoints +Get-AzFrontDoorCdnEndpoint -ProfileName -ResourceGroupName | Select-Object Name, HostName, ResourceState + +# Classic Azure Front Door (v1) profiles Get-AzFrontDoor -# List Front Door WAF Policies +# Classic Azure Front Door WAF policies Get-AzFrontDoorWafPolicy -Name -ResourceGroupName ``` {{#endtab }} {{#endtabs }} -## Azure Application Gateway et Azure Application Gateway WAF +## Azure Application Gateway and Azure Application Gateway WAF -Azure Application Gateway est un **équilibreur de charge de trafic web** qui vous permet de gérer le trafic vers vos **applications** web. Il offre des **capacités d'équilibrage de charge de couche 7, de terminaison SSL et de pare-feu d'application web (WAF)** dans le contrôleur de livraison d'application (ADC) en tant que service. Les fonctionnalités clés incluent le routage basé sur l'URL, l'affinité de session basée sur les cookies et le déchargement de la couche de sockets sécurisés (SSL), qui sont cruciaux pour les applications nécessitant des capacités d'équilibrage de charge complexes telles que le routage global et le routage basé sur le chemin. +Azure Application Gateway is a **équilibreur de charge de trafic web** that enables you to manage traffic to your **web** applications. It offers **Layer 7 load balancing, SSL termination, and web application firewall (WAF) capabilities** in the Application Delivery Controller (ADC) as a service. Key features include URL-based routing, cookie-based session affinity, and secure sockets layer (SSL) offloading, which are crucial for applications that require complex load-balancing capabilities like global routing and path-based routing. **Exemple :** -Considérez un scénario où vous avez un site web de commerce électronique qui comprend plusieurs sous-domaines pour différentes fonctions, telles que les comptes utilisateurs et le traitement des paiements. Azure Application Gateway peut **router le trafic vers les serveurs web appropriés en fonction du chemin URL**. Par exemple, le trafic vers `example.com/accounts` pourrait être dirigé vers le service des comptes utilisateurs, et le trafic vers `example.com/pay` pourrait être dirigé vers le service de traitement des paiements.\ -Et **protégez votre site web contre les attaques en utilisant les capacités WAF.** +Considérez un scénario où vous avez un site e-commerce qui comprend plusieurs sous-domaines pour différentes fonctions, comme les comptes utilisateur et le traitement des paiements. Azure Application Gateway can **acheminer le trafic vers les serveurs web appropriés en fonction du chemin de l'URL**. For example, traffic to `example.com/accounts` could be directed to the user accounts service, and traffic to `example.com/pay` could be directed to the payment processing service.\ +Et **protégez votre site web des attaques en utilisant les capacités WAF.** ### **Énumération** @@ -320,20 +395,20 @@ az network application-gateway waf-config list --gateway-name - {{#endtab }} {{#endtabs }} -## Azure Hub, Spoke & VNet Peering +## VNet Peering & HUB and Spoke topologies -**Le Peering VNet** est une fonctionnalité de mise en réseau dans Azure qui **permet à différents Réseaux Virtuels (VNets) d'être connectés directement et sans couture**. Grâce au peering VNet, les ressources dans un VNet peuvent communiquer avec des ressources dans un autre VNet en utilisant des adresses IP privées, **comme si elles étaient dans le même réseau**.\ -**Le Peering VNet peut également être utilisé avec des réseaux sur site** en configurant un VPN site à site ou Azure ExpressRoute. +### VNet Peering -**Azure Hub et Spoke** est une topologie réseau utilisée dans Azure pour gérer et organiser le trafic réseau. **Le "hub" est un point central qui contrôle et dirige le trafic entre différents "spokes"**. Le hub contient généralement des services partagés tels que des appliances virtuelles réseau (NVA), Azure VPN Gateway, Azure Firewall ou Azure Bastion. Les **"spokes" sont des VNets qui hébergent des charges de travail et se connectent au hub via le peering VNet**, leur permettant de tirer parti des services partagés au sein du hub. Ce modèle favorise une disposition réseau claire, réduisant la complexité en centralisant les services communs que plusieurs charges de travail à travers différents VNets peuvent utiliser. +**VNet Peering** est une fonctionnalité d'Azure qui **permet à différents Virtual Networks (VNets) d'être connectés directement et de manière transparente**. Through VNet peering, resources in one VNet can communicate with resources in another VNet using private IP addresses, **as if they were in the same network**.\ +**VNet Peering can also used with a on-prem networks** by setting up a site-to-site VPN or Azure ExpressRoute. -> [!CAUTION] > **Le peering VNET n'est pas transitif dans Azure**, ce qui signifie que si le spoke 1 est connecté au spoke 2 et que le spoke 2 est connecté au spoke 3, alors le spoke 1 ne peut pas communiquer directement avec le spoke 3. +**Azure Hub and Spoke** est une architecture réseau qui exploite VNet peering pour créer un **Hub VNet** central qui se connecte à plusieurs **Spoke VNets**. Le hub contient typiquement des services partagés (tels que firewalls, DNS, ou Active Directory) tandis que les spokes hébergent les workloads applicatifs. Ce modèle simplifie la gestion, renforce la sécurité via des contrôles centralisés et réduit la redondance. **Exemple :** -Imaginez une entreprise avec des départements séparés comme Ventes, RH et Développement, **chacun avec son propre VNet (les spokes)**. Ces VNets **ont besoin d'accéder à des ressources partagées** comme une base de données centrale, un pare-feu et une passerelle Internet, qui se trouvent tous dans **un autre VNet (le hub)**. En utilisant le modèle Hub et Spoke, chaque département peut **se connecter en toute sécurité aux ressources partagées via le VNet hub sans exposer ces ressources à Internet public** ou créer une structure réseau complexe avec de nombreuses connexions. +Une grande entreprise avec plusieurs départements (Finance, HR, IT) peut créer un **Hub VNet with shared services** comme des firewalls et des serveurs DNS. Chaque département peut avoir son propre Spoke VNet qui se connecte au Hub via peering. Cela permet aux départements de communiquer de manière sécurisée et d'utiliser des services partagés sans exposer leurs ressources à l'internet public. -### Énumération +### **Enumeration** {{#tabs }} {{#tab name="az cli" }} @@ -341,8 +416,8 @@ Imaginez une entreprise avec des départements séparés comme Ventes, RH et Dé # List all VNets in your subscription az network vnet list --query "[].{name:name, location:location, addressSpace:addressSpace}" -o table -# List VNet peering connections for a given VNet -az network vnet peering list --resource-group --vnet-name --query "[].{name:name, peeringState:peeringState, remoteVnetId:remoteVnetId}" -o table +# List VNet Peerings +az network vnet peering list --resource-group --vnet-name --query "[].{name:name, remoteVnetId:remoteVirtualNetwork.id, allowForwardedTraffic:allowForwardedTraffic, allowGatewayTransit:allowGatewayTransit}" # List Shared Resources (e.g., Azure Firewall) in the Hub az network firewall list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table @@ -353,8 +428,8 @@ az network firewall list --query "[].{name:name, location:location, resourceGrou # List all VNets in your subscription Get-AzVirtualNetwork -# List VNet peering connections for a given VNet -(Get-AzVirtualNetwork -ResourceGroupName -Name ).VirtualNetworkPeerings +# List VNet Peerings +Get-AzVirtualNetworkPeering -ResourceGroupName -VirtualNetworkName # List Shared Resources (e.g., Azure Firewall) in the Hub Get-AzFirewall @@ -364,11 +439,11 @@ Get-AzFirewall ## VPN Site-à-Site -Un VPN Site-à-Site dans Azure vous permet de **connecter votre réseau local à votre réseau virtuel Azure (VNet)**, permettant aux ressources telles que les VM dans Azure d'apparaître comme si elles étaient sur votre réseau local. Cette connexion est établie via une **passerelle VPN qui chiffre le trafic** entre les deux réseaux. +Un **VPN Site-à-Site** dans Azure établit une connexion sécurisée et **persistante entre votre réseau sur site et votre Azure Virtual Network (VNet)**, permettant à des ressources telles que les VMs dans Azure d'apparaître comme si elles faisaient partie de votre réseau local. Cette connexion est établie via une **passerelle VPN qui chiffre le trafic** entre les deux réseaux. -**Exemple :** +**Exemple:** -Une entreprise dont le bureau principal est situé à New York dispose d'un centre de données sur site qui doit se connecter de manière sécurisée à son VNet dans Azure, qui héberge ses charges de travail virtualisées. En configurant un **VPN Site-à-Site, l'entreprise peut garantir une connectivité chiffrée entre les serveurs sur site et les VM Azure**, permettant un accès sécurisé aux ressources à travers les deux environnements comme si elles étaient sur le même réseau local. +Une entreprise dont le siège est à New York dispose d'un datacenter sur site qui doit se connecter de façon sécurisée à son VNet dans Azure, qui héberge ses workloads virtualisés. En configurant un **VPN Site-à-Site, la société peut garantir une connectivité chiffrée entre les serveurs sur site et les VMs Azure**, permettant d'accéder aux ressources de manière sécurisée à travers les deux environnements comme si elles étaient sur le même réseau local. ### **Énumération** @@ -395,11 +470,11 @@ Get-AzVirtualNetworkGatewayConnection -ResourceGroupName ## Azure ExpressRoute -Azure ExpressRoute est un service qui fournit une **connexion privée, dédiée et à haute vitesse entre votre infrastructure sur site et les centres de données Azure**. Cette connexion est établie par l'intermédiaire d'un fournisseur de connectivité, contournant l'internet public et offrant plus de fiabilité, des vitesses plus rapides, des latences plus faibles et une sécurité accrue par rapport aux connexions internet typiques. +Azure ExpressRoute est un service qui fournit une **connexion privée, dédiée et haut débit entre votre infrastructure sur site et les centres de données Azure**. Cette connexion est établie via un fournisseur de connectivité, contournant l'internet public et offrant plus de fiabilité, des débits supérieurs, des latences plus faibles et une sécurité renforcée par rapport aux connexions Internet classiques. **Exemple :** -Une multinationale nécessite une **connexion cohérente et fiable à ses services Azure en raison du volume élevé de données** et du besoin d'un débit élevé. L'entreprise opte pour Azure ExpressRoute afin de connecter directement son centre de données sur site à Azure, facilitant les transferts de données à grande échelle, tels que les sauvegardes quotidiennes et l'analyse de données en temps réel, avec une confidentialité et une vitesse améliorées. +Une multinationale nécessite une **connexion cohérente et fiable à ses services Azure en raison du volume élevé de données** et du besoin d'un débit important. L'entreprise choisit Azure ExpressRoute pour connecter directement son centre de données sur site à Azure, facilitant des transferts de données à grande échelle, tels que des sauvegardes quotidiennes et des analyses de données en temps réel, avec une confidentialité et une rapidité améliorées. ### **Énumération** @@ -418,4 +493,10 @@ Get-AzExpressRouteCircuit {{#endtab }} {{#endtabs }} +## Références + +- [DNS OverDoS : Les Private Endpoints sont-ils trop privés ?](https://unit42.paloaltonetworks.com/dos-attacks-and-azure-private-endpoint/) +- [Configuration DNS d'Azure Private Endpoint](https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-dns) +- [Private DNS : repli vers Internet](https://learn.microsoft.com/en-us/azure/dns/private-dns-fallback) + {{#include ../../../../banners/hacktricks-training.md}}