Pular para o conteúdo principal

Challenge 16: Seleção de SKU do VPN Gateway e políticas IPsec personalizadas

Tempo e custo estimados

45-60 minutos | ~$0,19-1,17/h (varia por SKU) | Peso no exame: 20-25%

Cenário

A Contoso precisa se conectar a um parceiro de serviços financeiros (Woodgrove Bank) cujos requisitos de conformidade exigem algoritmos criptográficos específicos para o túnel VPN: AES256 para criptografia IKE, SHA384 para integridade IKE, DHGroup14 para troca de chaves e GCMAES256 para criptografia de dados IPsec. As políticas padrão do Azure VPN usam algoritmos diferentes que não atendem a esses requisitos. Além disso, a equipe precisa dimensionar corretamente o SKU do VPN Gateway para lidar com o throughput esperado de 2 Gbps com suporte a BGP e 50 túneis S2S simultâneos.

Arquitetura:

Challenge 16 - Topologia de Rede

Objetivos de aprendizagem

Após concluir este desafio, você será capaz de:

  • Selecionar um SKU de VPN Gateway apropriado com base em throughput, contagem de túneis e requisitos de recursos
  • Criar e configurar uma política IPsec/IKE personalizada em uma conexão VPN
  • Configurar parâmetros do IKE Fase 1 (Main Mode)
  • Configurar parâmetros do IKE Fase 2 / IPsec (Quick Mode)
  • Diferenciar entre o comportamento de VPN Gateway baseado em política e baseado em rota com políticas personalizadas
  • Solucionar problemas de falhas na negociação IPsec causadas por parâmetros incompatíveis

Pré-requisitos

  • Conclusão do Challenge 14 (compreensão básica de VPN S2S)
  • Uma assinatura do Azure com acesso de Contributor
  • Azure CLI instalado e autenticado (az login)
  • PowerShell com módulo Az instalado

Conceitos-chave para o AZ-700

Comparação de SKUs do VPN Gateway

SKUMáx. túneis S2SMáx. P2S (IKEv2/OpenVPN)Throughput agregadoBGPGeração
Basic10Não suportado100 MbpsNãoGen1
VpnGw130250650 MbpsSimGen1/Gen2
VpnGw2305001 Gbps (Gen1) / 1,25 Gbps (Gen2)SimGen1/Gen2
VpnGw33010001,25 Gbps (Gen1) / 2,5 Gbps (Gen2)SimGen1/Gen2
VpnGw410050005 GbpsSimGen2
VpnGw51001000010 GbpsSimGen2

As variantes com redundância de zona (VpnGw1AZ até VpnGw5AZ) possuem desempenho idêntico, mas são implantadas em zonas de disponibilidade.

Parâmetros do IKE Fase 1 (Main Mode)

ParâmetroFinalidadeValores comuns
IKE EncryptionCriptografa mensagens de negociação IKEAES256, AES128, GCMAES256, GCMAES128
IKE IntegrityAutentica mensagens IKESHA384, SHA256, SHA1, GCMAES256, GCMAES128
DH GroupForça do algoritmo de troca de chavesDHGroup14, DHGroup24, ECP256, ECP384
SA LifetimeTempo antes da renegociação da Fase 1Segundos (padrão: 28800 = 8 horas)

Parâmetros do IKE Fase 2 / IPsec (Quick Mode)

ParâmetroFinalidadeValores comuns
IPsec EncryptionCriptografa tráfego de dadosGCMAES256, GCMAES128, AES256, AES128
IPsec IntegrityAutentica pacotes de dadosGCMAES256, GCMAES128, SHA256, SHA1
PFS GroupGrupo de Perfect Forward SecrecyPFS24, PFS14, ECP256, ECP384, None
SA LifetimeTempo antes da renegociação da Fase 2Segundos (padrão: 3600 = 1 hora)
SA Data SizeVolume de dados antes da renegociaçãoKilobytes (padrão: 102400000 KB)

Referência de valores de parâmetros válidos

IKE Encryption (--ike-encryption): DES, DES3, AES128, AES192, AES256, GCMAES128, GCMAES256

IKE Integrity (--ike-integrity): MD5, SHA1, SHA256, SHA384, GCMAES128, GCMAES256

DH Group (--dh-group): None, DHGroup1, DHGroup2, DHGroup14, DHGroup2048, DHGroup24, ECP256, ECP384

IPsec Encryption (--ipsec-encryption): None, DES, DES3, AES128, AES192, AES256, GCMAES128, GCMAES256

IPsec Integrity (--ipsec-integrity): MD5, SHA1, SHA256, GCMAES128, GCMAES256

PFS Group (--pfs-group): None, PFS1, PFS2, PFS2048, PFS14, PFS24, ECP256, ECP384, PFSMM

Restrições importantes
  • Ao usar GCMAES para criptografia IKE, você deve usar o valor GCMAES correspondente para integridade IKE (ex.: criptografia GCMAES256 requer integridade GCMAES256)
  • Ao usar GCMAES para criptografia IPsec, você deve usar o valor GCMAES correspondente para integridade IPsec
  • DES e MD5 estão obsoletos e devem ser usados apenas para testes de compatibilidade retroativa
  • Ambos os lados do túnel VPN devem usar parâmetros IPsec/IKE idênticos

Tarefa 1: Selecionar o SKU de VPN Gateway apropriado

Com base nos requisitos da Contoso (throughput de 2 Gbps, suporte a BGP, 50 túneis S2S), avalie as opções de SKU:

RequisitoVpnGw1VpnGw2VpnGw3 (Gen2)VpnGw4Decisão
Throughput de 2 Gbps650 Mbps (insuficiente)1,25 Gbps (insuficiente)2,5 Gbps (atende)5 Gbps (excede)VpnGw3 mínimo
Suporte a BGPSimSimSimSimTodos qualificam
50 túneis S2S30 (insuficiente)30 (insuficiente)30 (insuficiente)100 (atende)VpnGw4 mínimo

Conclusão: VpnGw4 (Generation 2) é o SKU mínimo que satisfaz todos os requisitos (throughput de 5 Gbps, 100 túneis S2S, suporte a BGP).

Implantar o gateway com dimensionamento correto

az group create \
--name rg-vpn-ipsec-lab \
--location eastus

az network vnet create \
--resource-group rg-vpn-ipsec-lab \
--name vnet-hub \
--location eastus \
--address-prefixes 10.1.0.0/16 \
--subnet-name snet-workloads \
--subnet-prefixes 10.1.1.0/24

az network vnet subnet create \
--resource-group rg-vpn-ipsec-lab \
--vnet-name vnet-hub \
--name GatewaySubnet \
--address-prefixes 10.1.255.0/27

az network public-ip create \
--resource-group rg-vpn-ipsec-lab \
--name pip-vgw-hub \
--location eastus \
--allocation-method Static \
--sku Standard

az network vnet-gateway create \
--resource-group rg-vpn-ipsec-lab \
--name vgw-hub \
--vnet vnet-hub \
--gateway-type Vpn \
--vpn-type RouteBased \
--sku VpnGw4 \
--vpn-gateway-generation Generation2 \
--public-ip-addresses pip-vgw-hub \
--no-wait
Orientação de seleção de SKU para o exame
  • Basic: Apenas legado, sem BGP, sem IPsec personalizado, máx. 10 túneis
  • VpnGw1: Cargas de trabalho pequenas, até 30 túneis, 650 Mbps
  • VpnGw2: Cargas de trabalho médias, até 30 túneis, 1-1,25 Gbps
  • VpnGw3: Cargas de trabalho grandes, até 30 túneis, 1,25-2,5 Gbps
  • VpnGw4: Empresarial com muitos sites, até 100 túneis, 5 Gbps
  • VpnGw5: Desempenho máximo, até 100 túneis, 10 Gbps
  • Adicione o sufixo "AZ" para redundância de zona (mesmo desempenho, maior disponibilidade)

Tarefa 2: Criar uma política IPsec/IKE personalizada

Etapa 1: Criar o gateway de rede local para o parceiro

az network local-gateway create \
--resource-group rg-vpn-ipsec-lab \
--name lgw-woodgrove \
--gateway-ip-address 198.51.100.100 \
--local-address-prefixes 172.16.0.0/12 \
--location eastus

Etapa 2: Criar a conexão VPN (aguardar o provisionamento do gateway)

az network vpn-connection create \
--resource-group rg-vpn-ipsec-lab \
--name conn-to-woodgrove \
--vnet-gateway1 vgw-hub \
--local-gateway2 lgw-woodgrove \
--shared-key "W00dgrove!Secure#2024"

Etapa 3: Adicionar a política IPsec/IKE personalizada

az network vpn-connection ipsec-policy add \
--resource-group rg-vpn-ipsec-lab \
--connection-name conn-to-woodgrove \
--ike-encryption AES256 \
--ike-integrity SHA384 \
--dh-group DHGroup14 \
--ipsec-encryption GCMAES256 \
--ipsec-integrity GCMAES256 \
--pfs-group PFS14 \
--sa-lifetime 3600 \
--sa-data-size 102400000

Azure PowerShell

# Create the custom IPsec policy object
$ipsecPolicy = New-AzIpsecPolicy `
-IkeEncryption AES256 `
-IkeIntegrity SHA384 `
-DhGroup DHGroup14 `
-IpsecEncryption GCMAES256 `
-IpsecIntegrity GCMAES256 `
-PfsGroup PFS14 `
-SALifeTimeSeconds 3600 `
-SADataSizeKilobytes 102400000

# Create local gateway
$lgw = New-AzLocalNetworkGateway `
-ResourceGroupName "rg-vpn-ipsec-lab" `
-Name "lgw-woodgrove" `
-Location "eastus" `
-GatewayIpAddress "198.51.100.100" `
-AddressPrefix "172.16.0.0/12"

# Get VPN gateway
$vgw = Get-AzVirtualNetworkGateway `
-ResourceGroupName "rg-vpn-ipsec-lab" `
-Name "vgw-hub"

# Create connection with custom IPsec policy
New-AzVirtualNetworkGatewayConnection `
-ResourceGroupName "rg-vpn-ipsec-lab" `
-Name "conn-to-woodgrove" `
-Location "eastus" `
-VirtualNetworkGateway1 $vgw `
-LocalNetworkGateway2 $lgw `
-ConnectionType IPsec `
-SharedKey "W00dgrove!Secure#2024" `
-IpsecPolicies $ipsecPolicy

Tarefa 3: Entender os parâmetros do IKE Fase 1

O IKE Fase 1 (Main Mode) estabelece o canal seguro usado para negociar o túnel IPsec. Ambos os lados devem concordar com os mesmos parâmetros.

Detalhamento dos parâmetros para o exame

ParâmetroValor da ContosoFinalidade
--ike-encryption AES256AES256Criptografa mensagens de controle IKE durante a negociação
--ike-integrity SHA384SHA384HMAC para autenticação de mensagens IKE (previne adulteração)
--dh-group DHGroup14DHGroup14 (2048-bit MODP)Grupo Diffie-Hellman para troca segura de chaves
--sa-lifetime 36003600 segundos (1 hora)Tempo antes que a SA da Fase 1 expire e precise ser renegociada

Comparação de força dos grupos DH

Grupo DHTamanho da chaveNível de segurançaRecomendação
DHGroup1768-bitFracoNão usar
DHGroup21024-bitFracoNão usar
DHGroup142048-bitAceitávelMínimo recomendado
DHGroup242048-bit MODPForteBom para a maioria dos casos
ECP256256-bit ECForteCurva elíptica, moderno
ECP384384-bit ECMuito forteRequisitos de alta segurança

Tarefa 4: Entender os parâmetros do IKE Fase 2 / IPsec

O IKE Fase 2 (Quick Mode) negocia as Security Associations IPsec que protegem o tráfego real de dados.

Detalhamento dos parâmetros

ParâmetroValor da ContosoFinalidade
--ipsec-encryption GCMAES256GCMAES256Criptografa pacotes de dados no túnel
--ipsec-integrity GCMAES256GCMAES256Autentica pacotes de dados (GCM fornece ambos)
--pfs-group PFS14PFS14 (2048-bit)Perfect Forward Secrecy para cada nova SA
--sa-lifetime 36003600 segundosTempo antes da renegociação da SA IPsec
--sa-data-size 102400000~100 GBVolume de dados antes da renegociação da SA
Modo GCM

Ao usar GCMAES (Galois/Counter Mode com AES) para criptografia IPsec, ele fornece tanto criptografia quanto autenticação em uma única operação (cifra AEAD). O valor de --ipsec-integrity deve corresponder ao valor de criptografia (criptografia GCMAES256 requer integridade GCMAES256). Isso é mais eficiente do que abordagens separadas de criptografar-e-então-MAC.


Tarefa 5: Verificar e listar políticas IPsec

Azure CLI

# List IPsec policies on a connection
az network vpn-connection ipsec-policy list \
--resource-group rg-vpn-ipsec-lab \
--connection-name conn-to-woodgrove \
--output table

# Show full connection details including policy
az network vpn-connection show \
--resource-group rg-vpn-ipsec-lab \
--name conn-to-woodgrove \
--query "{status:connectionStatus, usePolicyBased:usePolicyBasedTrafficSelectors, ipsecPolicies:ipsecPolicies}" \
--output json

Azure PowerShell

$conn = Get-AzVirtualNetworkGatewayConnection `
-ResourceGroupName "rg-vpn-ipsec-lab" `
-Name "conn-to-woodgrove"

$conn.IpsecPolicies | Format-List

Limpar/remover políticas IPsec (reverter para padrão)

az network vpn-connection ipsec-policy clear \
--resource-group rg-vpn-ipsec-lab \
--connection-name conn-to-woodgrove

Tarefa 6: Baseado em política vs baseado em rota com IPsec personalizado

Entender quando um gateway baseado em rota pode se comportar como baseado em política é importante para o exame.

Gateway baseado em rota com seletores de tráfego baseados em política

Para conexões com dispositivos locais baseados em política, um gateway baseado em rota pode usar seletores de tráfego baseados em política por conexão:

az network vpn-connection create \
--resource-group rg-vpn-ipsec-lab \
--name conn-to-legacy-device \
--vnet-gateway1 vgw-hub \
--local-gateway2 lgw-woodgrove \
--shared-key "LegacyDevice!2024" \
--use-policy-based-traffic-selectors true
New-AzVirtualNetworkGatewayConnection `
-ResourceGroupName "rg-vpn-ipsec-lab" `
-Name "conn-to-legacy-device" `
-Location "eastus" `
-VirtualNetworkGateway1 $vgw `
-LocalNetworkGateway2 $lgw `
-ConnectionType IPsec `
-SharedKey "LegacyDevice!2024" `
-UsePolicyBasedTrafficSelectors $true

Quando usar cada abordagem

CenárioSolução
Dispositivos modernos, múltiplos túneis necessáriosGateway baseado em rota, roteamento padrão
Parceiro requer algoritmos criptográficos específicosGateway baseado em rota + política IPsec personalizada
Dispositivo legado precisa de IKEv1 + seletores de políticaGateway baseado em rota + --use-policy-based-traffic-selectors true
Túnel único para dispositivo muito antigo somente IKEv1Gateway baseado em política (Basic SKU) como último recurso
Nota de exame

O exame pode apresentar um cenário onde você precisa conectar um VPN Gateway baseado em rota ao dispositivo baseado em política de um parceiro. A resposta correta é habilitar usePolicyBasedTrafficSelectors na conexão específica, e não alterar o tipo do gateway para baseado em política. Isso permite manter os benefícios do baseado em rota (múltiplos túneis, BGP, P2S) enquanto acomoda um peer legado.


Cenários de quebra e correção

Cenário 1: Parâmetros criptográficos incompatíveis

Sintoma: O status da conexão é Connecting. A negociação IKE falha porque o parceiro usa AES128 enquanto o Azure está configurado para AES256.

Causa raiz: A política IPsec personalizada no lado do Azure especifica algoritmos diferentes dos configurados no dispositivo do parceiro.

Comando de diagnóstico:

az network vpn-connection ipsec-policy list \
--resource-group rg-vpn-ipsec-lab \
--connection-name conn-to-woodgrove \
--output table

Correção: Atualize a política para corresponder à configuração do parceiro:

# Clear existing policy
az network vpn-connection ipsec-policy clear \
--resource-group rg-vpn-ipsec-lab \
--connection-name conn-to-woodgrove

# Add corrected policy matching partner
az network vpn-connection ipsec-policy add \
--resource-group rg-vpn-ipsec-lab \
--connection-name conn-to-woodgrove \
--ike-encryption AES128 \
--ike-integrity SHA256 \
--dh-group DHGroup14 \
--ipsec-encryption AES128 \
--ipsec-integrity SHA256 \
--pfs-group PFS14 \
--sa-lifetime 3600 \
--sa-data-size 102400000

Cenário 2: Tempo de vida da SA muito curto

Sintoma: O túnel é estabelecido mas cai a cada poucos minutos. Renegociação frequente causa perda de pacotes.

Causa raiz: --sa-lifetime foi definido como 60 segundos em vez de 3600 segundos.

Correção: Limpe e adicione novamente com o tempo de vida correto:

az network vpn-connection ipsec-policy clear \
--resource-group rg-vpn-ipsec-lab \
--connection-name conn-to-woodgrove

az network vpn-connection ipsec-policy add \
--resource-group rg-vpn-ipsec-lab \
--connection-name conn-to-woodgrove \
--ike-encryption AES256 \
--ike-integrity SHA384 \
--dh-group DHGroup14 \
--ipsec-encryption GCMAES256 \
--ipsec-integrity GCMAES256 \
--pfs-group PFS14 \
--sa-lifetime 3600 \
--sa-data-size 102400000

Cenário 3: Parceiro rejeita DES (cifra fraca)

Sintoma: A conexão falha durante o IKE Fase 1 porque o lado Azure usa criptografia DES, que a política de conformidade do parceiro rejeita.

Causa raiz: DES foi especificado acidentalmente como criptografia IKE. Frameworks modernos de conformidade (PCI-DSS, HIPAA) proíbem DES.

Comando de diagnóstico:

az network vpn-connection ipsec-policy list \
--resource-group rg-vpn-ipsec-lab \
--connection-name conn-to-woodgrove \
--query "[].ikeEncryption" \
--output tsv
# Returns: DES

Correção: Substitua por uma cifra forte:

az network vpn-connection ipsec-policy clear \
--resource-group rg-vpn-ipsec-lab \
--connection-name conn-to-woodgrove

az network vpn-connection ipsec-policy add \
--resource-group rg-vpn-ipsec-lab \
--connection-name conn-to-woodgrove \
--ike-encryption AES256 \
--ike-integrity SHA384 \
--dh-group DHGroup14 \
--ipsec-encryption GCMAES256 \
--ipsec-integrity GCMAES256 \
--pfs-group PFS14 \
--sa-lifetime 3600 \
--sa-data-size 102400000

Verificação de conhecimento

1. Uma empresa precisa de um VPN Gateway que suporte 50 túneis S2S e 5 Gbps de throughput. Qual é o SKU mínimo que atende a ambos os requisitos?

2. Ao configurar GCMAES256 como algoritmo de criptografia IPsec, o que deve ser definido para o parâmetro de integridade IPsec?

3. Você tem um VPN Gateway route-based com múltiplas conexões S2S. Um parceiro requer seletores de tráfego policy-based. O que você deve fazer?

4. Qual é a finalidade do parâmetro --sa-lifetime em uma política IPsec personalizada?

5. Qual DH Group NÃO deve ser usado em produção devido à força de chave insuficiente?


Limpeza

Remova todos os recursos criados neste desafio para interromper a cobrança:

az group delete --name rg-vpn-ipsec-lab --yes --no-wait
Remove-AzResourceGroup -Name "rg-vpn-ipsec-lab" -Force -AsJob

Referências adicionais