# Az - Azure Network

{{#include ../../../../banners/hacktricks-training.md}}

## Informazioni di Base

Azure fornisce **reti virtuali (VNet)** che consentono agli utenti di creare **reti isolate** all'interno del cloud Azure. All'interno di queste VNet, risorse come macchine virtuali, applicazioni, database... possono essere ospitate e gestite in modo sicuro. Il networking in Azure supporta sia la comunicazione all'interno del cloud (tra i servizi Azure) sia la connessione a reti esterne e a Internet.\
Inoltre, è possibile **collegare** le VNet con altre VNet e con reti on-premise.

## Rete Virtuale (VNET) e Sottoreti

Una Rete Virtuale di Azure (VNet) è una rappresentazione della tua rete nel cloud, che fornisce **isolamento logico** all'interno dell'ambiente Azure dedicato alla tua sottoscrizione. Le VNet ti consentono di fornire e gestire reti private virtuali (VPN) in Azure, ospitando risorse come Macchine Virtuali (VM), database e servizi applicativi. Offrono **pieno controllo sulle impostazioni di rete**, inclusi intervalli di indirizzi IP, creazione di sottoreti, tabelle di routing e gateway di rete.

Le **sottoreti** sono suddivisioni all'interno di una VNet, definite da specifici **intervalli di indirizzi IP**. Segmentando una VNet in più sottoreti, puoi organizzare e proteggere le risorse in base alla tua architettura di rete.\
Per impostazione predefinita, tutte le sottoreti all'interno della stessa Rete Virtuale di Azure (VNet) **possono comunicare tra loro** senza alcuna restrizione.

**Esempio:**

- `MyVNet` con un intervallo di indirizzi IP di 10.0.0.0/16.
- **Sottorete-1:** 10.0.0.0/24 per server web.
- **Sottorete-2:** 10.0.1.0/24 per server di database.

### Enumerazione

Per elencare tutte le VNet e le sottoreti in un account Azure, puoi utilizzare l'Interfaccia della Riga di Comando di Azure (CLI). Ecco i passaggi:

{{#tabs }}
{{#tab name="az cli" }}
```bash
# List VNets
az network vnet list --query "[].{name:name, location:location, addressSpace:addressSpace}"

# List subnets of a VNet
az network vnet subnet list --resource-group <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, addressPrefix:addressPrefix}" -o table
```
{{#endtab }}
{{#tab name="PowerShell" }}
```bash
# List VNets
Get-AzVirtualNetwork | Select-Object Name, Location, @{Name="AddressSpace"; Expression={$_.AddressSpace.AddressPrefixes}}

# List subnets of a VNet
Get-AzVirtualNetwork -ResourceGroupName <ResourceGroupName> -Name <VNetName> |
Select-Object -ExpandProperty Subnets |
Select-Object Name, AddressPrefix
```
{{#endtab }}
{{#endtabs }}

## Gruppi di Sicurezza di Rete (NSG)

Un **Gruppo di Sicurezza di Rete (NSG)** filtra il traffico di rete sia verso che da risorse Azure all'interno di una Rete Virtuale Azure (VNet). Contiene un insieme di **regole di sicurezza** che possono indicare **quali porte aprire per il traffico in entrata e in uscita** in base alla porta sorgente, all'IP sorgente, alla porta di destinazione ed è possibile assegnare una priorità (più basso è il numero di priorità, maggiore è la priorità).

Gli NSG possono essere associati a **sottoreti e NIC.**

**Esempio di regole:**

- Una regola in entrata che consente il traffico HTTP (porta 80) da qualsiasi sorgente ai tuoi server web.
- Una regola in uscita che consente solo il traffico SQL (porta 1433) a un intervallo di indirizzi IP di destinazione specifico.

### Enumerazione

{{#tabs }}
{{#tab name="az cli" }}
```bash
# List NSGs
az network nsg list --query "[].{name:name, location:location}" -o table
az network nsg show --name <nsg-name>

# Get NSG rules
az network nsg rule list --nsg-name <NSGName> --resource-group <ResourceGroupName> --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}"
```
{{#endtab }}
{{#tab name="PowerShell" }}
```bash
# List NSGs
Get-AzNetworkSecurityGroup | Select-Object Name, Location
Get-AzNetworkSecurityGroup -Name <NSGName> -ResourceGroupName <ResourceGroupName>

# Get NSG rules
(Get-AzNetworkSecurityGroup -ResourceGroupName <NSGName> -Name <ResourceGroupName>).SecurityRules

# Get NICs and subnets using this NSG
(Get-AzNetworkSecurityGroup -Name <NSGName> -ResourceGroupName <ResourceGroupName>).Subnets
```
{{#endtab }}
{{#endtabs }}

## Azure Firewall

Azure Firewall è un **servizio di sicurezza di rete gestito** in Azure che protegge le risorse cloud ispezionando e controllando il traffico. È un **firewall stateful** che filtra il traffico in base a regole per i Livelli 3-7, supportando la comunicazione sia **all'interno di Azure** (traffico est-ovest) che **verso/da reti esterne** (traffico nord-sud). Distribuito a livello di **Virtual Network (VNet)**, fornisce protezione centralizzata per tutte le subnet nella VNet. Azure Firewall si scala automaticamente per gestire le richieste di traffico e garantisce alta disponibilità senza richiedere configurazioni manuali.

È disponibile in tre SKU—**Basic**, **Standard** e **Premium**, ciascuno adattato a specifiche esigenze dei clienti:

| Criteri/Caratteristiche        | Opzione 1	                                         | Opzione 2                                    | Opzione 3                                                  |
| ------------------------------ | ------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------- |
| **Caso d'uso raccomandato**    | Piccole/Medie Imprese (PMI) con esigenze limitate | Uso aziendale generale, filtraggio Livello 3–7 | Ambienti altamente sensibili (es. elaborazione pagamenti)  |
| **Prestazioni**                | Fino a 250 Mbps di throughput                     | Fino a 30 Gbps di throughput                | Fino a 100 Gbps di throughput                              |
| **Intelligence sulle minacce** | Solo avvisi                                       | Avvisi e blocco (IP/domini malevoli)       | Avvisi e blocco (intelligence sulle minacce avanzate)     |
| **Filtraggio L3–L7**           | Filtraggio di base                                 | Filtraggio stateful tra protocolli         | Filtraggio stateful con ispezione avanzata                |
| **Protezione avanzata dalle minacce** | Non disponibile                             | Filtraggio basato su intelligence delle minacce | Include il Sistema di Rilevamento e Prevenzione delle Intrusioni (IDPS) |
| **Ispezione TLS**              | Non disponibile                                     | Non disponibile                             | Supporta la terminazione TLS in entrata/uscita            |
| **Disponibilità**              | Backend fisso (2 VM)                               | Autoscaling                                 | Autoscaling                                               |
| **Facilità di gestione**       | Controlli di base                                  | Gestito tramite Firewall Manager            | Gestito tramite Firewall Manager                           |

### Enumeration

{{#tabs }}
{{#tab name="az cli" }}
```bash
# List Azure Firewalls
az network firewall list --query "[].{name:name, location:location, subnet:subnet, publicIp:publicIp}" -o table

# Get network rules of a firewall
az network firewall network-rule collection list --firewall-name <FirewallName> --resource-group <ResourceGroupName> --query "[].{name:name, rules:rules}" -o table

# Get application rules of a firewall
az network firewall application-rule collection list --firewall-name <FirewallName> --resource-group <ResourceGroupName> --query "[].{name:name, rules:rules}" -o table

# Get nat rules of a firewall
az network firewall nat-rule collection list --firewall-name <FirewallName> --resource-group <ResourceGroupName> --query "[].{name:name, rules:rules}" -o table
```
{{#endtab }}
{{#tab name="PowerShell" }}
```bash
# List Azure Firewalls
Get-AzFirewall

# Get network rules of a firewall
(Get-AzFirewall -Name <FirewallName> -ResourceGroupName <ResourceGroupName>).NetworkRuleCollections

# Get application rules of a firewall
(Get-AzFirewall -Name <FirewallName> -ResourceGroupName <ResourceGroupName>).ApplicationRuleCollections

# Get nat rules of a firewall
(Get-AzFirewall -Name <FirewallName> -ResourceGroupName <ResourceGroupName>).NatRuleCollections
```
{{#endtab }}
{{#endtabs }}

## Tabelle di Routing di Azure

Le **Tabelle di Routing di Azure** vengono utilizzate per controllare il routing del traffico di rete all'interno di una subnet. Definiscono regole che specificano come i pacchetti devono essere inoltrati, sia verso le risorse di Azure, verso Internet, o a un prossimo salto specifico come un Virtual Appliance o Azure Firewall. Puoi associare una tabella di routing a una **subnet**, e tutte le risorse all'interno di quella subnet seguiranno i percorsi nella tabella.

**Esempio:** Se una subnet ospita risorse che devono instradare il traffico in uscita attraverso un Network Virtual Appliance (NVA) per l'ispezione, puoi creare un **percorso** in una tabella di routing per reindirizzare tutto il traffico (ad es., `0.0.0.0/0`) all'indirizzo IP privato dell'NVA come prossimo salto.

### **Enumerazione**

{{#tabs }}
{{#tab name="az cli" }}
```bash
# 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 <RouteTableName> --resource-group <ResourceGroupName> --query "[].{name:name, addressPrefix:addressPrefix, nextHopType:nextHopType, nextHopIpAddress:nextHopIpAddress}" -o table
```
{{#endtab }}
{{#tab name="PowerShell" }}
```bash
# List Route Tables
Get-AzRouteTable

# List routes for a table
(Get-AzRouteTable -Name <RouteTableName> -ResourceGroupName <ResourceGroupName>).Routes
```
{{#endtab }}
{{#endtabs }}

## Azure Private Link

Azure Private Link è un servizio in Azure che **abilita l'accesso privato ai servizi Azure** garantendo che **il traffico tra la tua rete virtuale Azure (VNet) e il servizio viaggi interamente all'interno della rete backbone di Microsoft Azure**. Porta effettivamente il servizio nella tua VNet. Questa configurazione migliora la sicurezza non esponendo i dati a Internet pubblico.

Private Link può essere utilizzato con vari servizi Azure, come Azure Storage, Azure SQL Database e servizi personalizzati condivisi tramite Private Link. Fornisce un modo sicuro per consumare servizi all'interno della propria VNet o anche da diverse sottoscrizioni Azure.

> [!CAUTION]
> Gli NSG non si applicano agli endpoint privati, il che significa chiaramente che associare un NSG a una subnet che contiene il Private Link non avrà alcun effetto.

**Esempio:**

Considera uno scenario in cui hai un **Azure SQL Database che desideri accedere in modo sicuro dalla tua VNet**. Normalmente, questo potrebbe comportare il passaggio attraverso Internet pubblico. Con Private Link, puoi creare un **endpoint privato nella tua VNet** che si collega direttamente al servizio Azure SQL Database. Questo endpoint fa apparire il database come se fosse parte della tua VNet, accessibile tramite un indirizzo IP privato, garantendo così un accesso sicuro e privato.

### **Enumerazione**

{{#tabs }}
{{#tab name="az cli" }}
```bash
# List Private Link Services
az network private-link-service list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table

# List Private Endpoints
az network private-endpoint list --query "[].{name:name, location:location, resourceGroup:resourceGroup, privateLinkServiceConnections:privateLinkServiceConnections}" -o table
```
{{#endtab }}
{{#tab name="PowerShell" }}
```bash
# List Private Link Services
Get-AzPrivateLinkService | Select-Object Name, Location, ResourceGroupName

# List Private Endpoints
Get-AzPrivateEndpoint | Select-Object Name, Location, ResourceGroupName, PrivateEndpointConnections
```
{{#endtab }}
{{#endtabs }}

## Endpoint dei Servizi Azure

Gli Endpoint dei Servizi Azure estendono lo spazio degli indirizzi privati della tua rete virtuale e l'identità della tua VNet ai servizi Azure tramite una connessione diretta. Abilitando gli endpoint dei servizi, **le risorse nella tua VNet possono connettersi in modo sicuro ai servizi Azure**, come Azure Storage e Azure SQL Database, utilizzando la rete backbone di Azure. Questo garantisce che il **traffico dalla VNet al servizio Azure rimanga all'interno della rete Azure**, fornendo un percorso più sicuro e affidabile.

**Esempio:**

Ad esempio, un **account Azure Storage** è accessibile per impostazione predefinita tramite internet pubblico. Abilitando un **endpoint di servizio per Azure Storage all'interno della tua VNet**, puoi garantire che solo il traffico dalla tua VNet possa accedere all'account di archiviazione. Il firewall dell'account di archiviazione può quindi essere configurato per accettare traffico solo dalla tua VNet.

### **Enumerazione**

{{#tabs }}
{{#tab name="az cli" }}
```bash
# List Virtual Networks with Service Endpoints
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 <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, serviceEndpoints:serviceEndpoints}" -o table
```
{{#endtab }}
{{#tab name="PowerShell" }}
```bash
# List Virtual Networks with Service Endpoints
Get-AzVirtualNetwork

# List Subnets with Service Endpoints
(Get-AzVirtualNetwork -ResourceGroupName <ResourceGroupName> -Name <VNetName>).Subnets
```
{{#endtab }}
{{#endtabs }}

### Differenze tra Service Endpoints e Private Links

Microsoft raccomanda di utilizzare i Private Links nella [**docs**](https://learn.microsoft.com/en-us/azure/virtual-network/vnet-integration-for-azure-services#compare-private-endpoints-and-service-endpoints):

<figure><img src="../../../../images/image (25).png" alt=""><figcaption></figcaption></figure>

**Service Endpoints:**

- Il traffico dalla tua VNet al servizio Azure viaggia attraverso la rete backbone di Microsoft Azure, bypassando Internet pubblico.
- L'endpoint è una connessione diretta al servizio Azure e non fornisce un IP privato per il servizio all'interno della VNet.
- Il servizio stesso è ancora accessibile tramite il suo endpoint pubblico dall'esterno della tua VNet, a meno che tu non configuri il firewall del servizio per bloccare tale traffico.
- È una relazione uno a uno tra la subnet e il servizio Azure.
- Meno costoso dei Private Links.

**Private Links:**

- Il Private Link mappa i servizi Azure nella tua VNet tramite un endpoint privato, che è un'interfaccia di rete con un indirizzo IP privato all'interno della tua VNet.
- Il servizio Azure è accessibile utilizzando questo indirizzo IP privato, facendolo apparire come se fosse parte della tua rete.
- I servizi connessi tramite Private Link possono essere accessibili solo dalla tua VNet o dalle reti connesse; non c'è accesso a Internet pubblico al servizio.
- Consente una connessione sicura ai servizi Azure o ai tuoi servizi ospitati in Azure, così come una connessione a servizi condivisi da altri.
- Fornisce un controllo degli accessi più granulare tramite un endpoint privato nella tua VNet, rispetto a un controllo degli accessi più ampio a livello di subnet con gli service endpoints.

In sintesi, mentre sia i Service Endpoints che i Private Links forniscono connettività sicura ai servizi Azure, **i Private Links offrono un livello superiore di isolamento e sicurezza garantendo che i servizi siano accessibili privatamente senza esporli a Internet pubblico**. Gli Service Endpoints, d'altra parte, sono più facili da configurare per casi generali in cui è richiesto un accesso semplice e sicuro ai servizi Azure senza la necessità di un IP privato nella VNet.

## Azure Front Door (AFD) & AFD WAF

**Azure Front Door** è un punto di accesso scalabile e sicuro per la **veloce consegna** delle tue applicazioni web globali. **Combina** vari servizi come **bilanciamento del carico globale, accelerazione del sito, offloading SSL e capacità di Web Application Firewall (WAF)** in un unico servizio. Azure Front Door fornisce instradamento intelligente basato sulla **posizione edge più vicina all'utente**, garantendo prestazioni e affidabilità ottimali. Inoltre, offre instradamento basato su URL, hosting di più siti, affinità di sessione e sicurezza a livello di applicazione.

**Azure Front Door WAF** è progettato per **proteggere le applicazioni web dagli attacchi basati sul web** senza modifiche al codice di backend. Include regole personalizzate e set di regole gestite per proteggere contro minacce come SQL injection, cross-site scripting e altri attacchi comuni.

**Esempio:**

Immagina di avere un'applicazione distribuita a livello globale con utenti in tutto il mondo. Puoi utilizzare Azure Front Door per **instradare le richieste degli utenti al centro dati regionale più vicino** che ospita la tua applicazione, riducendo così la latenza, migliorando l'esperienza dell'utente e **difendendola dagli attacchi web con le capacità WAF**. Se una particolare regione subisce un'interruzione, Azure Front Door può automaticamente reindirizzare il traffico alla posizione successiva migliore, garantendo alta disponibilità.

### Enumerazione

{{#tabs }}
{{#tab name="az cli" }}
```bash
# List Azure Front Door Instances
az network front-door list --query "[].{name:name, resourceGroup:resourceGroup, location:location}" -o table

# List 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
Get-AzFrontDoor

# List Front Door WAF Policies
Get-AzFrontDoorWafPolicy -Name <policyName> -ResourceGroupName <resourceGroupName>
```
{{#endtab }}
{{#endtabs }}

## Azure Application Gateway e Azure Application Gateway WAF

Azure Application Gateway è un **bilanciatore di carico per il traffico web** che ti consente di gestire il traffico verso le tue **applicazioni web**. Offre **bilanciamento del carico a livello 7, terminazione SSL e capacità di firewall per applicazioni web (WAF)** nel Controller di Distribuzione delle Applicazioni (ADC) come servizio. Le caratteristiche principali includono il routing basato su URL, l'affinità delle sessioni basata su cookie e il caricamento del layer di socket sicuri (SSL), che sono cruciali per le applicazioni che richiedono capacità di bilanciamento del carico complesse come il routing globale e il routing basato su percorso.

**Esempio:**

Considera uno scenario in cui hai un sito web di e-commerce che include più sottodomini per diverse funzioni, come account utente e elaborazione dei pagamenti. Azure Application Gateway può **instradare il traffico ai server web appropriati in base al percorso URL**. Ad esempio, il traffico verso `example.com/accounts` potrebbe essere diretto al servizio account utente, e il traffico verso `example.com/pay` potrebbe essere diretto al servizio di elaborazione dei pagamenti.\
E **proteggi il tuo sito web dagli attacchi utilizzando le capacità WAF.**

### **Enumerazione**

{{#tabs }}
{{#tab name="az cli" }}
```bash
# List the Web Application Firewall configurations for your Application Gateways
az network application-gateway waf-config list --gateway-name <AppGatewayName> --resource-group <ResourceGroupName> --query "[].{name:name, firewallMode:firewallMode, ruleSetType:ruleSetType, ruleSetVersion:ruleSetVersion}" -o table
```
{{#endtab }}
{{#tab name="PowerShell" }}
```bash
# List the Web Application Firewall configurations for your Application Gateways
(Get-AzApplicationGateway -Name <AppGatewayName> -ResourceGroupName <ResourceGroupName>).WebApplicationFirewallConfiguration
```
{{#endtab }}
{{#endtabs }}

## Azure Hub, Spoke e VNet Peering

**VNet Peering** è una funzionalità di rete in Azure che **consente a diverse Reti Virtuali (VNets) di essere collegate direttamente e senza soluzione di continuità**. Attraverso il VNet peering, le risorse in una VNet possono comunicare con le risorse in un'altra VNet utilizzando indirizzi IP privati, **come se fossero nella stessa rete**.\
**Il VNet Peering può essere utilizzato anche con reti on-prem** configurando una VPN site-to-site o Azure ExpressRoute.

**Azure Hub e Spoke** è una topologia di rete utilizzata in Azure per gestire e organizzare il traffico di rete. **L'"hub" è un punto centrale che controlla e instrada il traffico tra i diversi "spoke"**. L'hub contiene tipicamente servizi condivisi come appliance virtuali di rete (NVA), Azure VPN Gateway, Azure Firewall o Azure Bastion. Gli **"spoke" sono VNets che ospitano carichi di lavoro e si connettono all'hub utilizzando il VNet peering**, consentendo loro di sfruttare i servizi condivisi all'interno dell'hub. Questo modello promuove un layout di rete pulito, riducendo la complessità centralizzando i servizi comuni che più carichi di lavoro su diverse VNets possono utilizzare.

> [!CAUTION] > **Il VNET peering non è transitivo in Azure**, il che significa che se lo spoke 1 è connesso allo spoke 2 e lo spoke 2 è connesso allo spoke 3, allora lo spoke 1 non può comunicare direttamente con lo spoke 3.

**Esempio:**

Immagina un'azienda con dipartimenti separati come Vendite, Risorse Umane e Sviluppo, **ognuno con la propria VNet (gli spoke)**. Queste VNet **richiedono accesso a risorse condivise** come un database centrale, un firewall e un gateway internet, che si trovano tutti in **un'altra VNet (l'hub)**. Utilizzando il modello Hub e Spoke, ogni dipartimento può **connettersi in modo sicuro alle risorse condivise attraverso l'hub VNet senza esporre quelle risorse a Internet pubblico** o creare una struttura di rete complessa con numerose connessioni.

### Enumerazione

{{#tabs }}
{{#tab name="az cli" }}
```bash
# 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 <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, peeringState:peeringState, remoteVnetId:remoteVnetId}" -o table

# List Shared Resources (e.g., Azure Firewall) in the Hub
az network firewall list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table
```
{{#endtab }}
{{#tab name="PowerShell" }}
```bash
# List all VNets in your subscription
Get-AzVirtualNetwork

# List VNet peering connections for a given VNet
(Get-AzVirtualNetwork -ResourceGroupName <ResourceGroupName> -Name <VNetName>).VirtualNetworkPeerings

# List Shared Resources (e.g., Azure Firewall) in the Hub
Get-AzFirewall
```
{{#endtab }}
{{#endtabs }}

## VPN Site-to-Site

Una VPN Site-to-Site in Azure consente di **collegare la tua rete locale alla tua Rete Virtuale (VNet) di Azure**, facendo apparire risorse come le VM all'interno di Azure come se fossero sulla tua rete locale. Questa connessione viene stabilita tramite un **gateway VPN che cripta il traffico** tra le due reti.

**Esempio:**

Un'azienda con la sua sede principale a New York ha un data center on-premises che deve connettersi in modo sicuro alla sua VNet in Azure, che ospita i suoi carichi di lavoro virtualizzati. Configurando una **VPN Site-to-Site, l'azienda può garantire una connettività criptata tra i server on-premises e le VM di Azure**, consentendo l'accesso sicuro alle risorse in entrambi gli ambienti come se fossero nella stessa rete locale.

### **Enumerazione**

{{#tabs }}
{{#tab name="az cli" }}
```bash
# List VPN Gateways
az network vnet-gateway list --query "[].{name:name, location:location, resourceGroup:resourceGroup}" -o table

# List VPN Connections
az network vpn-connection list --gateway-name <VpnGatewayName> --resource-group <ResourceGroupName> --query "[].{name:name, connectionType:connectionType, connectionStatus:connectionStatus}" -o table
```
{{#endtab }}
{{#tab name="PowerShell" }}
```bash
# List VPN Gateways
Get-AzVirtualNetworkGateway -ResourceGroupName <ResourceGroupName>

# List VPN Connections
Get-AzVirtualNetworkGatewayConnection -ResourceGroupName <ResourceGroupName>
```
{{#endtab }}
{{#endtabs }}

## Azure ExpressRoute

Azure ExpressRoute è un servizio che fornisce una **connessione privata, dedicata e ad alta velocità tra la tua infrastruttura on-premises e i data center di Azure**. Questa connessione avviene tramite un fornitore di connettività, bypassando Internet pubblico e offrendo maggiore affidabilità, velocità più elevate, latenze inferiori e maggiore sicurezza rispetto alle connessioni Internet tipiche.

**Esempio:**

Una multinazionale richiede una **connessione coerente e affidabile ai suoi servizi Azure a causa dell'alto volume di dati** e della necessità di un elevato throughput. L'azienda sceglie Azure ExpressRoute per collegare direttamente il proprio data center on-premises ad Azure, facilitando trasferimenti di dati su larga scala, come backup giornalieri e analisi dei dati in tempo reale, con maggiore privacy e velocità.

### **Enumerazione**

{{#tabs }}
{{#tab name="az cli" }}
```bash
# List ExpressRoute Circuits
az network express-route list --query "[].{name:name, location:location, resourceGroup:resourceGroup, serviceProviderName:serviceProviderName, peeringLocation:peeringLocation}" -o table
```
{{#endtab }}
{{#tab name="PowerShell" }}
```bash
# List ExpressRoute Circuits
Get-AzExpressRouteCircuit
```
{{#endtab }}
{{#endtabs }}

{{#include ../../../../banners/hacktricks-training.md}}
