mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 14:47:17 -07:00
Translated ['', 'src/pentesting-cloud/azure-security/az-services/vms/az-
This commit is contained in:
@@ -1,28 +1,28 @@
|
||||
# Az - Azure Network
|
||||
# Az - Rede Azure
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Informações Básicas
|
||||
|
||||
Azure fornece **redes virtuais (VNet)** que permitem aos usuários criar **redes isoladas** dentro da nuvem Azure. Dentro dessas VNets, recursos como máquinas virtuais, aplicativos, bancos de dados... podem ser hospedados e gerenciados de forma segura. A rede no Azure suporta tanto a comunicação dentro da nuvem (entre serviços Azure) quanto a conexão com redes externas e a internet.\
|
||||
Além disso, é possível **conectar** VNets com outras VNets e com redes locais.
|
||||
Azure fornece **virtual networks (VNet)** que permitem aos usuários criar **redes isoladas** dentro da nuvem Azure. Dentro dessas VNets, recursos como máquinas virtuais, aplicações, bancos de dados... podem ser hospedados e gerenciados com segurança. O networking no Azure suporta tanto a comunicação dentro da nuvem (entre serviços Azure) quanto a conexão com redes externas e a internet.\
|
||||
Além disso, é possível **conectar** VNets com outras VNets e com redes on-premises.
|
||||
|
||||
## Rede Virtual (VNET) e Sub-redes
|
||||
## Rede Virtual (VNet) & Sub-redes
|
||||
|
||||
Uma Rede Virtual do Azure (VNet) é uma representação da sua própria rede na nuvem, proporcionando **isolamento lógico** dentro do ambiente Azure dedicado à sua assinatura. VNets permitem que você provisiona e gerencie redes privadas virtuais (VPNs) no Azure, hospedando recursos como Máquinas Virtuais (VMs), bancos de dados e serviços de aplicativos. Elas oferecem **controle total sobre as configurações de rede**, incluindo faixas de endereços IP, criação de sub-redes, tabelas de roteamento e gateways de rede.
|
||||
Uma Azure Virtual Network (VNet) é a representação da sua própria rede na nuvem, fornecendo **isolamento lógico** dentro do ambiente Azure dedicado à sua assinatura. VNets permitem provisionar e gerenciar virtual private networks (VPNs) no Azure, hospedando recursos como Virtual Machines (VMs), bancos de dados e application services. Elas oferecem **controle total sobre as configurações de rede**, incluindo intervalos de endereços IP, criação de subnets, route tables e network gateways.
|
||||
|
||||
**Sub-redes** são subdivisões dentro de uma VNet, definidas por faixas de **endereços IP** específicas. Ao segmentar uma VNet em várias sub-redes, você pode organizar e proteger recursos de acordo com sua arquitetura de rede.\
|
||||
Por padrão, todas as sub-redes dentro da mesma Rede Virtual do Azure (VNet) **podem se comunicar entre si** sem restrições.
|
||||
**Subnets** são subdivisões dentro de uma VNet, definidas por **intervalos de endereços IP** específicos. Ao segmentar uma VNet em múltiplas subnets, você pode organizar e proteger recursos de acordo com sua arquitetura de rede.\
|
||||
Por padrão, todas as subnets dentro da mesma Azure Virtual Network (VNet) **podem se comunicar entre si** sem quaisquer restrições.
|
||||
|
||||
**Exemplo:**
|
||||
|
||||
- `MyVNet` com uma faixa de endereços IP de 10.0.0.0/16.
|
||||
- **Sub-rede-1:** 10.0.0.0/24 para servidores web.
|
||||
- **Sub-rede-2:** 10.0.1.0/24 para servidores de banco de dados.
|
||||
- `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.
|
||||
|
||||
### Enumeração
|
||||
|
||||
Para listar todas as VNets e sub-redes em uma conta Azure, você pode usar a Interface de Linha de Comando do Azure (CLI). Aqui estão os passos:
|
||||
Para listar todas as VNets e subnets em uma conta Azure, você pode usar o Azure Command-Line Interface (CLI). Siga estes passos:
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -47,16 +47,16 @@ Select-Object Name, AddressPrefix
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Grupos de Segurança de Rede (NSG)
|
||||
## Network Security Groups (NSG)
|
||||
|
||||
Um **Grupo de Segurança de Rede (NSG)** filtra o tráfego de rede tanto para quanto de recursos do Azure dentro de uma Rede Virtual do Azure (VNet). Ele abriga um conjunto de **regras de segurança** que podem indicar **quais portas abrir para tráfego de entrada e saída** por porta de origem, IP de origem, destino da porta e é possível atribuir uma prioridade (quanto menor o número da prioridade, maior a prioridade).
|
||||
Um **Network Security Group (NSG)** filtra o tráfego de rede de entrada e saída dos recursos do Azure dentro de uma Azure Virtual Network (VNet). Ele contém um conjunto de **regras de segurança** que podem indicar **quais portas abrir para tráfego inbound e outbound** por porta de origem, IP de origem, porta de destino, e é possível atribuir uma prioridade (quanto menor o número da prioridade, maior a prioridade).
|
||||
|
||||
Os NSGs podem ser associados a **sub-redes e NICs.**
|
||||
NSGs podem ser associadas a **subnets e NICs.**
|
||||
|
||||
**Exemplo de regras:**
|
||||
**Exemplos de regras:**
|
||||
|
||||
- Uma regra de entrada permitindo tráfego HTTP (porta 80) de qualquer origem para seus servidores web.
|
||||
- Uma regra de saída permitindo apenas tráfego SQL (porta 1433) para um intervalo específico de endereços IP de destino.
|
||||
- Uma regra inbound permitindo tráfego HTTP (porta 80) de qualquer origem para seus servidores web.
|
||||
- Uma regra outbound permitindo apenas tráfego SQL (porta 1433) para uma faixa específica de endereços IP de destino.
|
||||
|
||||
### Enumeração
|
||||
|
||||
@@ -71,7 +71,7 @@ az network nsg show --name <nsg-name>
|
||||
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}"
|
||||
az network nsg show --name <NSGName> --resource-group <ResourceGroupName> --query "{subnets: subnets, networkInterfaces: networkInterfaces}"
|
||||
```
|
||||
{{#endtab }}
|
||||
{{#tab name="PowerShell" }}
|
||||
@@ -81,32 +81,35 @@ Get-AzNetworkSecurityGroup | Select-Object Name, Location
|
||||
Get-AzNetworkSecurityGroup -Name <NSGName> -ResourceGroupName <ResourceGroupName>
|
||||
|
||||
# Get NSG rules
|
||||
(Get-AzNetworkSecurityGroup -ResourceGroupName <NSGName> -Name <ResourceGroupName>).SecurityRules
|
||||
Get-AzNetworkSecurityGroup -Name <NSGName> -ResourceGroupName <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 <NSGName> -ResourceGroupName <ResourceGroupName>).Subnets
|
||||
(Get-AzNetworkSecurityGroup -Name <NSGName> -ResourceGroupName <ResourceGroupName>).NetworkInterfaces
|
||||
```
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Azure Firewall
|
||||
|
||||
Azure Firewall é um **serviço de segurança de rede gerenciado** no Azure que protege recursos em nuvem inspecionando e controlando o tráfego. É um **firewall com estado** que filtra o tráfego com base em regras para as Camadas 3 a 7, suportando comunicação tanto **dentro do Azure** (tráfego leste-oeste) quanto **para/de redes externas** (tráfego norte-sul). Implantado no **nível da Rede Virtual (VNet)**, fornece proteção centralizada para todas as sub-redes na VNet. O Azure Firewall escala automaticamente para lidar com as demandas de tráfego e garante alta disponibilidade sem exigir configuração manual.
|
||||
Azure Firewall é um **firewall gerenciado e stateful** que filtra tráfego (L3–L7) para fluxos leste-oeste e norte-sul. Implantado no **nível do VNet**, centraliza a inspeção de todas as subnets e autoescala para disponibilidade.
|
||||
|
||||
Está disponível em três SKUs—**Básico**, **Padrão** e **Premium**, cada um adaptado para necessidades específicas dos clientes:
|
||||
Available SKUs: **Basic**, **Standard**, and **Premium**:
|
||||
|
||||
| Critério/Recurso | Opção 1 | Opção 2 | Opção 3 |
|
||||
| Criteria/Feature | Option 1 | Option 2 | Option 3 |
|
||||
| ------------------------------ | ------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------- |
|
||||
| **Caso de Uso Recomendado** | Pequenas/Médias Empresas (PMEs) com necessidades limitadas | Uso geral em empresas, filtragem de Camadas 3–7 | Ambientes altamente sensíveis (por exemplo, processamento de pagamentos) |
|
||||
| **Desempenho** | Até 250 Mbps de throughput | Até 30 Gbps de throughput | Até 100 Gbps de throughput |
|
||||
| **Inteligência de Ameaças** | Apenas alertas | Alertas e bloqueio (IPs/domínios maliciosos) | Alertas e bloqueio (inteligência de ameaças avançada) |
|
||||
| **Filtragem L3–L7** | Filtragem básica | Filtragem com estado entre protocolos | Filtragem com estado com inspeção avançada |
|
||||
| **Proteção Avançada contra Ameaças** | Não disponível | Filtragem baseada em inteligência de ameaças | Inclui Sistema de Detecção e Prevenção de Intrusões (IDPS) |
|
||||
| **Inspeção TLS** | Não disponível | Não disponível | Suporta terminação TLS de entrada/saída |
|
||||
| **Disponibilidade** | Backend fixo (2 VMs) | Escalonamento automático | Escalonamento automático |
|
||||
| **Facilidade de Gerenciamento** | Controles básicos | Gerenciado via Firewall Manager | Gerenciado via Firewall Manager |
|
||||
| **Recommended Use Case** | Pequenas/Médias Empresas (SMBs) com necessidades limitadas | Uso empresarial geral, filtragem Layer 3–7 | Ambientes altamente sensíveis (por exemplo, processamento de pagamentos) |
|
||||
| **Performance** | Até 250 Mbps de throughput | Até 30 Gbps de throughput | Até 100 Gbps de throughput |
|
||||
| **Threat Intelligence** | Apenas alertas | Alertas e bloqueio (IPs/domínios maliciosos) | Alertas e bloqueio (inteligência avançada de ameaças) |
|
||||
| **L3–L7 Filtering** | Filtragem básica | Filtragem stateful entre protocolos | Filtragem stateful com inspeção avançada |
|
||||
| **Advanced Threat Protection** | Não disponível | Filtragem baseada em inteligência de ameaças | Inclui Sistema de Detecção e Prevenção de Intrusões (IDPS) |
|
||||
| **TLS Inspection** | Não disponível | Não disponível | Suporta terminação TLS de entrada/saída |
|
||||
| **Availability** | Backend fixo (2 VMs) | Autoescala | Autoescala |
|
||||
| **Ease of Management** | Controles básicos | Gerenciado via Firewall Manager | Gerenciado via Firewall Manager |
|
||||
|
||||
### Enumeração
|
||||
### Enumeration
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -141,11 +144,16 @@ Get-AzFirewall
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Tabelas de Roteamento do Azure
|
||||
## Azure Tabelas de Rota
|
||||
|
||||
As **Tabelas de Roteamento** do Azure são usadas para controlar o roteamento do tráfego de rede dentro de uma sub-rede. Elas definem regras que especificam como os pacotes devem ser encaminhados, seja para recursos do Azure, para a internet ou para um próximo salto específico, como um Appliance Virtual ou Firewall do Azure. Você pode associar uma tabela de roteamento a uma **sub-rede**, e todos os recursos dentro dessa sub-rede seguirão as rotas na tabela.
|
||||
Azure **Tabelas de Rota (UDR)** permitem substituir o roteamento padrão definindo prefixos de destino (por exemplo, `10.0.0.0/16` ou `0.0.0.0/0`) e um próximo salto (Virtual Network, Internet, Virtual Network Gateway, or Virtual Appliance).
|
||||
|
||||
**Exemplo:** Se uma sub-rede hospeda recursos que precisam rotear o tráfego de saída através de um Appliance Virtual de Rede (NVA) para inspeção, você pode criar uma **rota** em uma tabela de roteamento para redirecionar todo o tráfego (por exemplo, `0.0.0.0/0`) para o endereço IP privado do NVA como o próximo salto.
|
||||
> As rotas são aplicadas no nível da sub-rede; todas as VMs nessa sub-rede seguem a tabela.
|
||||
|
||||
**Exemplo:**
|
||||
|
||||
- Para tráfego destinado à Internet, use o padrão `0.0.0.0/0` com **Internet** como próximo salto.
|
||||
- Para inspecionar tráfego de saída, roteie `0.0.0.0/0` para um IP de Network Virtual Appliance (NVA).
|
||||
|
||||
### **Enumeração**
|
||||
|
||||
@@ -155,8 +163,11 @@ As **Tabelas de Roteamento** do Azure são usadas para controlar o roteamento do
|
||||
# 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
|
||||
# List routes for a table (summary)
|
||||
az network route-table route list --resource-group <ResourceGroupName> --route-table-name <RouteTableName> --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 <ResourceGroupName> --route-table-name <RouteTableName>
|
||||
```
|
||||
{{#endtab }}
|
||||
{{#tab name="PowerShell" }}
|
||||
@@ -172,16 +183,16 @@ Get-AzRouteTable
|
||||
|
||||
## Azure Private Link
|
||||
|
||||
Azure Private Link é um serviço no Azure que **permite acesso privado aos serviços do Azure** garantindo que **o tráfego entre sua rede virtual do Azure (VNet) e o serviço viaje inteiramente dentro da rede backbone do Azure da Microsoft**. Ele efetivamente traz o serviço para sua VNet. Essa configuração aumenta a segurança ao não expor os dados à internet pública.
|
||||
Azure Private Link é um serviço da Azure que **habilita acesso privado a serviços do Azure** ao garantir que **o tráfego entre sua virtual network (VNet) do Azure e o serviço circule inteiramente pela backbone da Azure da Microsoft**. Ele efetivamente traz o serviço para dentro da sua VNet. Essa configuração aumenta a segurança por não expor os dados à internet pública.
|
||||
|
||||
Private Link pode ser usado com vários serviços do Azure, como Azure Storage, Azure SQL Database e serviços personalizados compartilhados via Private Link. Ele fornece uma maneira segura de consumir serviços de dentro de sua própria VNet ou até mesmo de diferentes assinaturas do Azure.
|
||||
Private Link pode ser usado com vários serviços do Azure, como Azure Storage, Azure SQL Database e serviços customizados compartilhados via Private Link. Ele fornece uma maneira segura de consumir serviços a partir da sua própria VNet ou mesmo de diferentes subscriptions do Azure.
|
||||
|
||||
> [!CAUTION]
|
||||
> NSGs não se aplicam a endpoints privados, o que significa claramente que associar um NSG a uma sub-rede que contém o Private Link não terá efeito.
|
||||
> NSGs do not apply to private endpoints, which clearly means that associating an NSG with a subnet that contains the Private Link will have no effect.
|
||||
|
||||
**Exemplo:**
|
||||
**Example:**
|
||||
|
||||
Considere um cenário onde você tem um **Azure SQL Database que deseja acessar de forma segura a partir de sua VNet**. Normalmente, isso poderia envolver a travessia da internet pública. Com o Private Link, você pode criar um **endpoint privado em sua VNet** que se conecta diretamente ao serviço Azure SQL Database. Esse endpoint faz com que o banco de dados pareça parte de sua própria VNet, acessível via um endereço IP privado, garantindo assim acesso seguro e privado.
|
||||
Considere um cenário onde você tem um **Azure SQL Database que deseja acessar de forma segura a partir da sua VNet**. Normalmente, isso poderia envolver atravessar a internet pública. Com o Private Link, você pode criar um **private endpoint na sua VNet** que se conecta diretamente ao serviço Azure SQL Database. Esse endpoint faz com que o banco de dados pareça ser parte da sua própria VNet, acessível via um endereço IP privado, garantindo assim acesso seguro e privado.
|
||||
|
||||
### **Enumeração**
|
||||
|
||||
@@ -206,13 +217,60 @@ Get-AzPrivateEndpoint | Select-Object Name, Location, ResourceGroupName, Private
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Pontos de Extremidade do Serviço Azure
|
||||
### DNS OverDoS via service Private DNS zone links
|
||||
|
||||
Os Pontos de Extremidade do Serviço Azure estendem o espaço de endereço privado da sua rede virtual e a identidade da sua VNet para serviços Azure por meio de uma conexão direta. Ao habilitar os pontos de extremidade de serviço, **recursos na sua VNet podem se conectar com segurança a serviços Azure**, como Azure Storage e Azure SQL Database, usando a rede backbone do Azure. Isso garante que o **tráfego da VNet para o serviço Azure permaneça dentro da rede Azure**, proporcionando um caminho mais seguro e confiável.
|
||||
When a VNet has a **Virtual Network Link** to a **service Private DNS zone** (e.g., `privatelink.blob.core.windows.net`), Azure **forces hostname resolution** for Private Link registered resources of that service type through the zone. If the zone **lacks the required `A` record** for a resource that workloads still access via its public endpoint, DNS resolution returns **NXDOMAIN** and clients never reach the public IP, causing an **availability DoS** without touching the resource itself.
|
||||
|
||||
**Fluxo de abuso (control-plane DoS):**
|
||||
|
||||
1. Obter RBAC que permita criar **Private Endpoints** ou modificar **Private DNS zone links**.
|
||||
2. Criar um Private Endpoint para o mesmo tipo de serviço em outra VNet (o Azure cria automaticamente a service Private DNS zone e a liga a essa VNet).
|
||||
3. Vincular essa **service Private DNS zone** à VNet da vítima.
|
||||
4. Como a VNet da vítima agora **força a resolução via a Private DNS zone** e nenhum registro `A` existe para o recurso alvo nessa zone, a resolução de nomes falha e o workload não consegue alcançar o endpoint (ainda público). Isso se aplica a qualquer serviço suportado por Private Link (storage, Key Vault, ACR, Cosmos DB, Function Apps, OpenAI, etc.).
|
||||
|
||||
**Descoberta em escala (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 acessíveis por endpoint público mas **sem** Private Endpoint connections (provavelmente vão quebrar se o link acima for adicionado):
|
||||
```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 estendem o espaço de endereços privados da sua rede virtual e a identidade da sua VNet para Azure services por meio de uma conexão direta. Ao habilitar Service Endpoints, **recursos na sua VNet podem conectar-se com segurança a Azure services**, como Azure Storage e Azure SQL Database, pela Azure backbone network. Isso é particularmente útil quando combinado com Network Security Groups (NSGs) para controle granular de tráfego.
|
||||
|
||||
**Exemplo:**
|
||||
|
||||
Por exemplo, uma conta de **Azure Storage** por padrão é acessível pela internet pública. Ao habilitar um **ponto de extremidade de serviço para Azure Storage dentro da sua VNet**, você pode garantir que apenas o tráfego da sua VNet possa acessar a conta de armazenamento. O firewall da conta de armazenamento pode então ser configurado para aceitar tráfego apenas da sua VNet.
|
||||
- Com uma **Storage** Account e Service Endpoint **habilitados** em uma VNet, é possível permitir tráfego de entrada **apenas de uma VNet no storage account firewall**, forçando uma **conexão segura** sem precisar de acesso por IP público para o serviço de storage.
|
||||
|
||||
Service Endpoints **não exigem endereços IP privados** para os serviços e, em vez disso, dependem do Azure backbone para conectividade segura. Eles são **mais fáceis de configurar** em comparação com Private Links, mas **não fornecem o mesmo nível de isolamento e granularidade** que Private Links.
|
||||
|
||||
### **Enumeração**
|
||||
|
||||
@@ -223,7 +281,10 @@ Por exemplo, uma conta de **Azure Storage** por padrão é acessível pela inter
|
||||
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
|
||||
az network vnet subnet list --resource-group <ResourceGroupName> --vnet-name <VNetName> --query "[].{name:name, serviceEndpoints:serviceEndpoints}"
|
||||
|
||||
# List Service Endpoints for a Subnet
|
||||
az network vnet subnet show --resource-group <ResourceGroupName> --vnet-name <VNetName> --name <SubnetName> --query "serviceEndpoints"
|
||||
```
|
||||
{{#endtab }}
|
||||
{{#tab name="PowerShell" }}
|
||||
@@ -237,58 +298,72 @@ Get-AzVirtualNetwork
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
### Diferenças Entre Endpoints de Serviço e Links Privados
|
||||
### Diferenças Entre Service Endpoints e Private Links
|
||||
|
||||
A Microsoft recomenda o uso de Links Privados na [**docs**](https://learn.microsoft.com/en-us/azure/virtual-network/vnet-integration-for-azure-services#compare-private-endpoints-and-service-endpoints):
|
||||
Microsoft recomenda o uso de Private Links na [**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>
|
||||
|
||||
**Endpoints de Serviço:**
|
||||
**Service Endpoints:**
|
||||
|
||||
- O tráfego da sua VNet para o serviço Azure viaja pela rede backbone da Microsoft Azure, contornando a internet pública.
|
||||
- O tráfego da sua VNet para o serviço Azure trafega pela rede backbone da Microsoft Azure, contornando a internet pública.
|
||||
- O endpoint é uma conexão direta ao serviço Azure e não fornece um IP privado para o serviço dentro da VNet.
|
||||
- O serviço em si ainda é acessível através de seu endpoint público de fora da sua VNet, a menos que você configure o firewall do serviço para bloquear esse tráfego.
|
||||
- É uma relação um-para-um entre a sub-rede e o serviço Azure.
|
||||
- Menos caro do que Links Privados.
|
||||
- O próprio serviço ainda é acessível pelo seu endpoint público fora da sua VNet, a menos que você configure o firewall do serviço para bloquear esse tráfego.
|
||||
- É uma relação um-para-um entre a subnet e o serviço Azure.
|
||||
- Menos caro do que Private Links.
|
||||
|
||||
**Links Privados:**
|
||||
**Private Links:**
|
||||
|
||||
- O Link Privado mapeia serviços Azure na sua VNet através de um endpoint privado, que é uma interface de rede com um endereço IP privado dentro da sua VNet.
|
||||
- O serviço Azure é acessado usando este endereço IP privado, fazendo parecer que é parte da sua rede.
|
||||
- Serviços conectados via Link Privado podem ser acessados apenas da sua VNet ou redes conectadas; não há acesso à internet pública ao serviço.
|
||||
- Ele permite uma conexão segura a serviços Azure ou seus próprios serviços hospedados no Azure, bem como uma conexão a serviços compartilhados por outros.
|
||||
- Proporciona um controle de acesso mais granular através de um endpoint privado na sua VNet, em oposição ao controle de acesso mais amplo no nível da sub-rede com endpoints de serviço.
|
||||
- Private Link mapeia serviços Azure na sua VNet através de um private endpoint, que é uma interface de rede com um endereço IP privado dentro da sua VNet.
|
||||
- O serviço Azure é acessado usando esse endereço IP privado, fazendo com que ele pareça parte da sua rede.
|
||||
- Serviços conectados via Private Link podem ser acessados apenas a partir da sua VNet ou redes conectadas; não há acesso pela internet pública ao serviço.
|
||||
- Isso possibilita uma conexão segura a serviços Azure ou aos seus próprios serviços hospedados em Azure, assim como conexão a serviços compartilhados por terceiros.
|
||||
- Fornece um controle de acesso mais granular através de um private endpoint na sua VNet, ao contrário do controle de acesso mais amplo no nível de subnet com service endpoints.
|
||||
|
||||
Em resumo, enquanto ambos os Endpoints de Serviço e Links Privados fornecem conectividade segura a serviços Azure, **Links Privados oferecem um nível mais alto de isolamento e segurança, garantindo que os serviços sejam acessados de forma privada sem expô-los à internet pública**. Os Endpoints de Serviço, por outro lado, são mais fáceis de configurar para casos gerais onde é necessário um acesso simples e seguro aos serviços Azure sem a necessidade de um IP privado na VNet.
|
||||
Em resumo, embora tanto Service Endpoints quanto Private Links forneçam conectividade segura aos serviços Azure, **Private Links oferecem um nível maior de isolamento e segurança ao garantir que os serviços sejam acessados de forma privada sem expô-los à internet pública**. Service Endpoints, por outro lado, são mais fáceis de configurar para casos gerais onde é necessário um acesso simples e seguro aos serviços Azure sem a necessidade de um IP privado na VNet.
|
||||
|
||||
## Azure Front Door (AFD) & AFD WAF
|
||||
|
||||
**Azure Front Door** é um ponto de entrada escalável e seguro para **entrega rápida** de suas aplicações web globais. Ele **combina** vários serviços como balanceamento de carga global, aceleração de site, descarregamento de SSL e capacidades de Firewall de Aplicação Web (WAF) em um único serviço. O Azure Front Door fornece roteamento inteligente com base na **localização de borda mais próxima do usuário**, garantindo desempenho e confiabilidade ideais. Além disso, oferece roteamento baseado em URL, hospedagem em múltiplos sites, afinidade de sessão e segurança em nível de aplicação.
|
||||
**Azure Front Door** é um ponto de entrada escalável e seguro para a **entrega rápida** das suas aplicações web globais. Ele **combina** vários serviços como **aceleração de aplicações, SSL offloading e segurança na camada de aplicação** (por meio do Web Application Firewall - WAF). É construído com base no conceito de edge POP (Point of Presence) ao redor do mundo para aproximar suas aplicações dos seus usuários.
|
||||
|
||||
**Azure Front Door WAF** é projetado para **proteger aplicações web contra ataques baseados na web** sem modificação do código de back-end. Inclui regras personalizadas e conjuntos de regras gerenciadas para proteger contra ameaças como injeção SQL, script entre sites e outros ataques comuns.
|
||||
> Azure Front Door fornece uma rede globalmente distribuída de edge locations para **rotear e acelerar** o tráfego de entrada para suas aplicações web (no Azure ou em outros lugares), melhorar o desempenho e aprimorar a segurança.
|
||||
|
||||
**Exemplo:**
|
||||
|
||||
Imagine que você tem uma aplicação distribuída globalmente com usuários em todo o mundo. Você pode usar o Azure Front Door para **rotear solicitações de usuários para o data center regional mais próximo** que hospeda sua aplicação, reduzindo assim a latência, melhorando a experiência do usuário e **defendendo-a contra ataques web com as capacidades do WAF**. Se uma região específica sofrer uma interrupção, o Azure Front Door pode automaticamente redirecionar o tráfego para a próxima melhor localização, garantindo alta disponibilidade.
|
||||
- Para uma plataforma de e-commerce global com usuários em todo o mundo, **Azure Front Door pode armazenar em cache conteúdo estático em edge locations** e oferecer **SSL offloading**, reduzindo a latência e proporcionando uma experiência de usuário mais responsiva. Além disso, ele fornece **WAF** para proteger suas aplicações contra vulnerabilidades web comuns (como SQL injection ou XSS).
|
||||
|
||||
### Enumeração
|
||||
Azure Front Door também oferece **balanceamento de carga inteligente** ao rotear o tráfego para o backend disponível mais próximo com base em sondas de integridade e latência, garantindo desempenho e disponibilidade consistentes. Ao integrar o **WAF**, ajuda a proteger contra ameaças web comuns.
|
||||
|
||||
### **Enumeração**
|
||||
|
||||
{{#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 <ProfileName> --resource-group <ResourceGroupName> --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 <ProfileName> -ResourceGroupName <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 <policyName> -ResourceGroupName <resourceGroupName>
|
||||
```
|
||||
{{#endtab }}
|
||||
@@ -296,14 +371,14 @@ Get-AzFrontDoorWafPolicy -Name <policyName> -ResourceGroupName <resourceGroupNam
|
||||
|
||||
## Azure Application Gateway e Azure Application Gateway WAF
|
||||
|
||||
Azure Application Gateway é um **balanceador de carga de tráfego web** que permite gerenciar o tráfego para suas **aplicações** web. Ele oferece **balanceamento de carga de Camada 7, terminação SSL e capacidades de firewall de aplicação web (WAF)** no Controlador de Entrega de Aplicação (ADC) como um serviço. As principais características incluem roteamento baseado em URL, afinidade de sessão baseada em cookie e descarregamento de camada de soquete seguro (SSL), que são cruciais para aplicações que requerem capacidades complexas de balanceamento de carga, como roteamento global e roteamento baseado em caminho.
|
||||
Azure Application Gateway é um **balanceador de carga de tráfego web** que permite gerenciar o tráfego para suas **aplicações web**. Oferece **balanceamento de carga na Camada 7, terminação SSL e capacidades de firewall de aplicações web (WAF)** no Application Delivery Controller (ADC) como serviço. Recursos principais incluem roteamento baseado em URL, afinidade de sessão baseada em cookies e offloading de secure sockets layer (SSL), que são cruciais para aplicações que requerem capacidades complexas de balanceamento de carga como roteamento global e roteamento baseado em caminho.
|
||||
|
||||
**Exemplo:**
|
||||
|
||||
Considere um cenário onde você tem um site de e-commerce que inclui múltiplos subdomínios para diferentes funções, como contas de usuário e processamento de pagamentos. Azure Application Gateway pode **rotear o tráfego para os servidores web apropriados com base no caminho da URL**. Por exemplo, o tráfego para `example.com/accounts` poderia ser direcionado para o serviço de contas de usuário, e o tráfego para `example.com/pay` poderia ser direcionado para o serviço de processamento de pagamentos.\
|
||||
E **proteger seu site contra ataques usando as capacidades do WAF.**
|
||||
Considere um cenário em que você tem um site de e-commerce que inclui múltiplos subdomínios para funções diferentes, como contas de usuário e processamento de pagamentos. Azure Application Gateway pode **rotear o tráfego para os servidores web apropriados com base no caminho da URL**. Por exemplo, o tráfego para `example.com/accounts` pode ser direcionado para o serviço de contas de usuário, e o tráfego para `example.com/pay` pode ser direcionado para o serviço de processamento de pagamentos.\
|
||||
E **proteja seu site de ataques usando as capacidades do WAF.**
|
||||
|
||||
### **Enumeração**
|
||||
### **Enumeration**
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -320,20 +395,20 @@ az network application-gateway waf-config list --gateway-name <AppGatewayName> -
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Azure Hub, Spoke e Peering de VNet
|
||||
## VNet Peering & HUB and Spoke topologias
|
||||
|
||||
**Peering de VNet** é um recurso de rede no Azure que **permite que diferentes Redes Virtuais (VNets) sejam conectadas diretamente e de forma contínua**. Através do peering de VNet, recursos em uma VNet podem se comunicar com recursos em outra VNet usando endereços IP privados, **como se estivessem na mesma rede**.\
|
||||
**O Peering de VNet também pode ser usado com redes locais** configurando uma VPN site-a-site ou Azure ExpressRoute.
|
||||
### VNet Peering
|
||||
|
||||
**Azure Hub e Spoke** é uma topologia de rede usada no Azure para gerenciar e organizar o tráfego de rede. **O "hub" é um ponto central que controla e roteia o tráfego entre diferentes "spokes"**. O hub normalmente contém serviços compartilhados, como appliances virtuais de rede (NVAs), Azure VPN Gateway, Azure Firewall ou Azure Bastion. Os **"spokes" são VNets que hospedam cargas de trabalho e se conectam ao hub usando peering de VNet**, permitindo que aproveitem os serviços compartilhados dentro do hub. Este modelo promove um layout de rede limpo, reduzindo a complexidade ao centralizar serviços comuns que várias cargas de trabalho em diferentes VNets podem usar.
|
||||
**VNet Peering** é um recurso do Azure que **permite que diferentes Redes Virtuais (Virtual Networks, VNets) sejam conectadas direta e de forma transparente**. Através do VNet Peering, recursos em um VNet podem se comunicar com recursos em outro VNet usando endereços IP privados, **como se estivessem na mesma rede**.\
|
||||
**VNet Peering também pode ser usado com redes on-prem** configurando um site-to-site VPN ou Azure ExpressRoute.
|
||||
|
||||
> [!CAUTION] > **O peering de VNET é não transitivo no Azure**, o que significa que se o spoke 1 estiver conectado ao spoke 2 e o spoke 2 estiver conectado ao spoke 3, então o spoke 1 não pode se comunicar diretamente com o spoke 3.
|
||||
**Azure Hub and Spoke** é uma arquitetura de rede que utiliza VNet peering para criar um **Hub VNet** central que se conecta a múltiplos **Spoke VNets**. O hub normalmente contém serviços compartilhados (como firewalls, DNS ou Active Directory), enquanto os spokes hospedam cargas de trabalho de aplicações. Esse desenho simplifica o gerenciamento, aumenta a segurança por meio de controles centralizados e reduz redundância.
|
||||
|
||||
**Exemplo:**
|
||||
**Example:**
|
||||
|
||||
Imagine uma empresa com departamentos separados como Vendas, RH e Desenvolvimento, **cada um com sua própria VNet (os spokes)**. Essas VNets **precisam de acesso a recursos compartilhados** como um banco de dados central, um firewall e um gateway de internet, que estão todos localizados em **outra VNet (o hub)**. Usando o modelo Hub e Spoke, cada departamento pode **conectar-se de forma segura aos recursos compartilhados através da VNet do hub sem expor esses recursos à internet pública** ou criar uma estrutura de rede complexa com inúmeras conexões.
|
||||
Uma grande empresa com múltiplos departamentos (Finance, HR, IT) pode criar um **Hub VNet com serviços compartilhados** como firewalls e servidores DNS. Cada departamento pode ter seu próprio Spoke VNet que se conecta ao Hub via peering. Isso permite que os departamentos se comuniquem de forma segura e utilizem serviços compartilhados sem expor seus recursos à internet pública.
|
||||
|
||||
### Enumeração
|
||||
### **Enumeration**
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
@@ -341,8 +416,8 @@ Imagine uma empresa com departamentos separados como Vendas, RH e Desenvolviment
|
||||
# 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 VNet Peerings
|
||||
az network vnet peering list --resource-group <ResourceGroupName> --vnet-name <VNetName> --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 <ResourceGroupName> -Name <VNetName>).VirtualNetworkPeerings
|
||||
# List VNet Peerings
|
||||
Get-AzVirtualNetworkPeering -ResourceGroupName <ResourceGroupName> -VirtualNetworkName <VNetName>
|
||||
|
||||
# List Shared Resources (e.g., Azure Firewall) in the Hub
|
||||
Get-AzFirewall
|
||||
@@ -362,13 +437,13 @@ Get-AzFirewall
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## VPN Site-a-Site
|
||||
## Site-to-Site VPN
|
||||
|
||||
Uma VPN Site-a-Site no Azure permite que você **conecte sua rede local à sua Rede Virtual (VNet) do Azure**, permitindo que recursos como VMs dentro do Azure apareçam como se estivessem em sua rede local. Essa conexão é estabelecida através de um **gateway VPN que criptografa o tráfego** entre as duas redes.
|
||||
Uma **Site-to-Site VPN** no Azure estabelece uma conexão segura e **persistente entre sua rede on-premises e sua Azure Virtual Network (VNet)**, permitindo que recursos como VMs dentro do Azure apareçam como se estivessem na sua rede local. Essa conexão é estabelecida através de um **VPN gateway que criptografa o tráfego** entre as duas redes.
|
||||
|
||||
**Exemplo:**
|
||||
|
||||
Uma empresa com seu escritório principal localizado em Nova York possui um data center local que precisa se conectar de forma segura à sua VNet no Azure, que hospeda suas cargas de trabalho virtualizadas. Ao configurar uma **VPN Site-a-Site, a empresa pode garantir conectividade criptografada entre os servidores locais e as VMs do Azure**, permitindo que os recursos sejam acessados de forma segura em ambos os ambientes como se estivessem na mesma rede local.
|
||||
Uma empresa com escritório central localizado em Nova York possui um data center on-premises que precisa se conectar de forma segura à sua VNet no Azure, que hospeda suas cargas de trabalho virtualizadas. Ao configurar uma **Site-to-Site VPN, a empresa pode garantir conectividade criptografada entre os servidores on-premises e as VMs do Azure**, permitindo que os recursos sejam acessados com segurança em ambos os ambientes como se estivessem na mesma rede local.
|
||||
|
||||
### **Enumeração**
|
||||
|
||||
@@ -395,11 +470,11 @@ Get-AzVirtualNetworkGatewayConnection -ResourceGroupName <ResourceGroupName>
|
||||
|
||||
## Azure ExpressRoute
|
||||
|
||||
Azure ExpressRoute é um serviço que fornece uma **conexão privada, dedicada e de alta velocidade entre sua infraestrutura local e os data centers do Azure**. Essa conexão é feita através de um provedor de conectividade, contornando a internet pública e oferecendo mais confiabilidade, velocidades mais rápidas, latências mais baixas e maior segurança do que as conexões típicas da internet.
|
||||
Azure ExpressRoute é um serviço que fornece uma **conexão privada, dedicada e de alta velocidade entre sua infraestrutura on-premises e os data centers do Azure**. Essa conexão é feita por meio de um provedor de conectividade, contornando a internet pública e oferecendo mais confiabilidade, velocidades maiores, latências mais baixas e maior segurança do que conexões típicas pela internet.
|
||||
|
||||
**Exemplo:**
|
||||
|
||||
Uma corporação multinacional requer uma **conexão consistente e confiável aos seus serviços do Azure devido ao alto volume de dados** e à necessidade de alta capacidade de transferência. A empresa opta pelo Azure ExpressRoute para conectar diretamente seu data center local ao Azure, facilitando transferências de dados em larga escala, como backups diários e análises de dados em tempo real, com maior privacidade e velocidade.
|
||||
Uma corporação multinacional necessita de uma **conexão consistente e confiável com seus serviços Azure devido ao alto volume de dados** e à necessidade de alta taxa de transferência. A empresa opta pelo Azure ExpressRoute para conectar diretamente seu data center on-premises ao Azure, facilitando transferências de dados em grande escala, como backups diários e análises de dados em tempo real, com maior privacidade e velocidade.
|
||||
|
||||
### **Enumeração**
|
||||
|
||||
@@ -418,4 +493,10 @@ Get-AzExpressRouteCircuit
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
## Referências
|
||||
|
||||
- [DNS OverDoS: Endpoints privados são privados demais?](https://unit42.paloaltonetworks.com/dos-attacks-and-azure-private-endpoint/)
|
||||
- [Configuração DNS do Azure Private Endpoint](https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-dns)
|
||||
- [Fallback do Private DNS para a internet](https://learn.microsoft.com/en-us/azure/dns/private-dns-fallback)
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user