From 3e6299e6a9018ebc073c2cca77d8e91226e505a4 Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 21 Jan 2026 21:36:41 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-services/vms/az- --- .../az-services/vms/az-azure-network.md | 257 ++++++++++++------ 1 file changed, 169 insertions(+), 88 deletions(-) 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 23ed909c9..09c4f85f0 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 @@ -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 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 é 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 --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 é 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 --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,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):
-**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 --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 }} @@ -296,14 +371,14 @@ Get-AzFrontDoorWafPolicy -Name -ResourceGroupName - {{#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 --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 @@ -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 ## 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}}