Configurar a política IPsec/IKE para ligações VPN site a site

Este artigo descreve os passos para configurar uma política IPsec/IKE para ligações VPN site a site (S2S) no Azure Stack Hub.

Parâmetros de política IPsec e IKE para gateways de VPN

O protocolo IPsec e IKE suporta uma vasta gama de algoritmos criptográficos em várias combinações. Para ver que parâmetros são suportados no Azure Stack Hub para que possa satisfazer os seus requisitos de conformidade ou segurança, veja Parâmetros IPsec/IKE.

Este artigo fornece instruções sobre como criar e configurar uma política IPsec/IKE e aplicá-la a uma ligação nova ou existente.

Considerações

Tenha em atenção as seguintes considerações importantes ao utilizar estas políticas:

  • A política IPsec/IKE só funciona nos SKUs de gateway Standard e HighPerformance (baseado em rotas).

  • Só pode especificar uma combinação de políticas para uma determinada ligação.

  • Tem de especificar todos os algoritmos e parâmetros para IKE (Modo Principal) e IPsec (Modo Rápido). Não é permitida a especificação da política parcial.

  • Consulte as especificações do fornecedor de dispositivos VPN para garantir que a política é suportada nos seus dispositivos VPN no local. Não é possível estabelecer ligações site a site se as políticas forem incompatíveis.

Pré-requisitos

Antes de começar, certifique-se de que tem os seguintes pré-requisitos:

Parte 1 – Criar e definir a política IPsec/IKE

Esta secção descreve os passos necessários para criar e atualizar a política IPsec/IKE numa ligação VPN site a site:

  1. Crie uma rede virtual e um gateway de VPN.

  2. Crie um gateway de rede local para ligação entre locais.

  3. Crie uma política IPsec/IKE com algoritmos e parâmetros selecionados.

  4. Crie uma ligação IPSec com a política IPsec/IKE.

  5. Adicionar/atualizar/remover uma política IPsec/IKE para uma ligação existente.

As instruções neste artigo ajudam-no a configurar políticas IPsec/IKE, conforme mostrado na seguinte figura:

Configurar políticas IPsec/IKE

Parte 2 – Algoritmos criptográficos e pontos fortes de chave suportados

A tabela seguinte lista os algoritmos criptográficos suportados e os principais pontos fortes configuráveis pelo Azure Stack Hub:

IPsec/IKEv2 Opções
Encriptação IKEv2 AES256, AES192, AES128, DES3, DES
Integridade do IKEv2 SHA384, SHA256, SHA1, MD5
Grupo DH ECP384, DHGroup14, DHGroup2, DHGroup1, ECP256*, DHGroup24*
Encriptação do IPsec GCMAES256, GCMAES192, GCMAES128, AES256, AES192, AES128, DES3, DES, Nenhum
Integridade do IPsec GCMAES256, GCMAES192, GCMAES128, SHA256
Grupo PFS PFS24, ECP384, ECP256, PFS2048, PFS2, PFS1, PFSMM, None
Duração de SA QM (Opcional: os valores predefinidos são utilizados se não forem especificados)
Segundos (número inteiro; mín. 300 /predefinição de 27000 segundos)
KBytes (número inteiro; mín. 1024 /predefinição de 102400000 KBytes)
Seletor de tráfego Os Seletores de Tráfego baseados em políticas não são suportados no Azure Stack Hub.

Nota

Definir a duração da SA QM demasiado baixa requer uma recodificação desnecessária, o que pode degradar o desempenho.

* Estes parâmetros só estão disponíveis nas compilações 2002 e posteriores.

  • A configuração de dispositivo VPN local deve corresponder ou deve conter os seguintes algoritmos e parâmetros que especificar na política de IPsec/IKE do Azure:

    • Algoritmo de encriptação IKE (Modo Principal/Fase 1).
    • Algoritmo de integridade IKE (Modo Principal/Fase 1).
    • Grupo DH (Modo Principal/Fase 1).
    • Algoritmo de encriptação IPsec (Modo Rápido/Fase 2).
    • Algoritmo de integridade IPsec (Modo Rápido/Fase 2).
    • Grupo PFS (Modo Rápido/Fase 2).
    • As durações de SA são apenas especificações locais e não precisam de corresponder.
  • Se o GCMAES for utilizado como o algoritmo de encriptação IPsec, tem de selecionar o mesmo algoritmo GCMAES e o mesmo comprimento da chave para a integridade do IPsec; por exemplo, utilizar GCMAES128 para ambos.

  • Na tabela anterior:

    • IKEv2 corresponde ao Modo Principal ou Fase 1.
    • O IPsec corresponde ao Modo Rápido ou Fase 2.
    • O Grupo DH especifica o Grupo Diffie-Hellmen utilizado no Modo Principal ou fase 1.
    • O Grupo PFS especifica o Grupo de Diffie-Hellmen utilizado no Modo Rápido ou Fase 2.
  • A duração sa do Modo Principal IKEv2 é fixa em 28 800 segundos nos gateways de VPN do Azure Stack Hub.

A tabela seguinte lista os Grupos de Diffie-Hellman correspondentes suportados pela política personalizada:

Grupo Diffie-Hellman DHGroup PFSGroup Comprimento da chave
1 DHGroup1 PFS1 MODP de 768 bits
2 DHGroup2 PFS2 MODP de 1024 bits
14 DHGroup14
DHGroup2048
PFS2048 MODP de 2048 bits
19 ECP256* ECP256 ECP de 256 bits
20 ECP384 ECP384 ECP de 384 bits
24 DHGroup24* PFS24 MODP de 2048 bits

* Estes parâmetros só estão disponíveis nas compilações 2002 e superiores.

Para obter mais informações, veja RFC3526 e RFC5114.

Parte 3 – Criar uma nova ligação VPN site a site com a política IPsec/IKE

Esta secção explica os passos para criar uma ligação VPN site a site com uma política IPsec/IKE. Os seguintes passos criam a ligação, conforme mostrado na seguinte figura:

site a site-policy

Para obter instruções passo a passo mais detalhadas para criar uma ligação VPN site a site, veja Criar uma ligação VPN site a site.

Passo 1 – Criar a rede virtual, o gateway de VPN e o gateway de rede local

1. Declarar variáveis

Para este exercício, comece por declarar as seguintes variáveis. Certifique-se de que substitui os marcadores de posição pelos seus próprios valores ao configurar para produção:

$Sub1 = "<YourSubscriptionName>"
$RG1 = "TestPolicyRG1"
$Location1 = "East US 2"
$VNetName1 = "TestVNet1"
$FESubName1 = "FrontEnd"
$BESubName1 = "Backend"
$GWSubName1 = "GatewaySubnet"
$VNetPrefix11 = "10.11.0.0/16"
$VNetPrefix12 = "10.12.0.0/16"
$FESubPrefix1 = "10.11.0.0/24"
$BESubPrefix1 = "10.12.0.0/24"
$GWSubPrefix1 = "10.12.255.0/27"
$DNS1 = "8.8.8.8"
$GWName1 = "VNet1GW"
$GW1IPName1 = "VNet1GWIP1"
$GW1IPconf1 = "gw1ipconf1"
$Connection16 = "VNet1toSite6"
$LNGName6 = "Site6"
$LNGPrefix61 = "10.61.0.0/16"
$LNGPrefix62 = "10.62.0.0/16"
$LNGIP6 = "131.107.72.22"

2. Ligue-se à sua subscrição e crie um novo grupo de recursos

Confirme que muda para o modo do PowerShell para utilizar os cmdlets do Resource Manager. Para obter mais informações, veja Ligar ao Azure Stack Hub com o PowerShell como um utilizador.

Abra a consola do PowerShell e ligue-se à sua conta; por exemplo:

Connect-AzAccount
Select-AzSubscription -SubscriptionName $Sub1
New-AzResourceGroup -Name $RG1 -Location $Location1

3. Criar a rede virtual, o gateway de VPN e o gateway de rede local

O exemplo seguinte cria a rede virtual TestVNet1, juntamente com três sub-redes e o gateway de VPN. Ao substituir valores, é importante que atribua especificamente o nome GatewaySubnet à sub-rede do gateway. Se der outro nome, a criação da gateway falha.

$fesub1 = New-AzVirtualNetworkSubnetConfig -Name $FESubName1 -AddressPrefix $FESubPrefix1
$besub1 = New-AzVirtualNetworkSubnetConfig -Name $BESubName1 -AddressPrefix $BESubPrefix1
$gwsub1 = New-AzVirtualNetworkSubnetConfig -Name $GWSubName1 -AddressPrefix $GWSubPrefix1

New-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1 -Location $Location1 -AddressPrefix $VNetPrefix11,$VNetPrefix12 -Subnet $fesub1,$besub1,$gwsub1

$gw1pip1 = New-AzPublicIpAddress -Name $GW1IPName1 -ResourceGroupName $RG1 -Location $Location1 -AllocationMethod Dynamic

$vnet1 = Get-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1

$subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" `
-VirtualNetwork $vnet1

$gw1ipconf1 = New-AzVirtualNetworkGatewayIpConfig -Name $GW1IPconf1 `
-Subnet $subnet1 -PublicIpAddress $gw1pip1

New-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 `
-Location $Location1 -IpConfigurations $gw1ipconf1 -GatewayType Vpn `
-VpnType RouteBased -GatewaySku VpnGw1

New-AzLocalNetworkGateway -Name $LNGName6 -ResourceGroupName $RG1 `
-Location $Location1 -GatewayIpAddress $LNGIP6 -AddressPrefix `
$LNGPrefix61,$LNGPrefix62

Passo 2 – Criar uma ligação VPN site a site com uma política IPsec/IKE

1. Criar uma política IPsec/IKE

Este script de exemplo cria uma política IPsec/IKE com os seguintes algoritmos e parâmetros:

  • IKEv2: AES128, SHA1, DHGroup14
  • IPsec: AES256, SHA256, none, SA Lifetime 14400 segundos e 102400000KB
$ipsecpolicy6 = New-AzIpsecPolicy -IkeEncryption AES128 -IkeIntegrity SHA1 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup none -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000

Se utilizar GCMAES para IPsec, tem de utilizar o mesmo algoritmo GCMAES e comprimento da chave para encriptação e integridade IPsec.

2. Criar a ligação VPN site a site com a política IPsec/IKE

Crie uma ligação VPN site a site e aplique a política IPsec/IKE que criou anteriormente:

$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$lng6 = Get-AzLocalNetworkGateway -Name $LNGName6 -ResourceGroupName $RG1

New-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -LocalNetworkGateway2 $lng6 -Location $Location1 -ConnectionType IPsec -IpsecPolicies $ipsecpolicy6 -SharedKey 'Azs123'

Importante

Assim que uma política IPsec/IKE for especificada numa ligação, o gateway de VPN do Azure só envia ou aceita a proposta IPsec/IKE com algoritmos criptográficos especificados e pontos fortes nessa ligação específica. Certifique-se de que o seu dispositivo VPN no local para a ligação utiliza ou aceita a combinação de política exata. Caso contrário, não é possível estabelecer o túnel de VPN site a site.

Parte 4 – Atualizar a política IPsec/IKE para uma ligação

A secção anterior mostrou como gerir a política IPsec/IKE para uma ligação site a site existente. Esta secção explica as seguintes operações numa ligação:

  • Mostrar a política IPsec/IKE de uma ligação.
  • Adicione ou atualize a política IPsec/IKE para uma ligação.
  • Remova a política IPsec/IKE de uma ligação.

Nota

A política IPsec/IKE é suportada apenas em gateways de VPN baseados em rotas Standard e HighPerformance . Não funciona no SKU do Gateway Básico .

1. Mostrar a política IPsec/IKE de uma ligação

O exemplo seguinte mostra como configurar a política IPsec/IKE numa ligação. Os scripts também continuam a partir dos exercícios anteriores.

$RG1 = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$connection6.IpsecPolicies

O último comando lista a política IPsec/IKE atual configurada na ligação, se existir. O exemplo seguinte é uma saída de exemplo para a ligação:

SALifeTimeSeconds : 14400
SADataSizeKilobytes : 102400000
IpsecEncryption : AES256
IpsecIntegrity : SHA256
IkeEncryption : AES128
IkeIntegrity : SHA1
DhGroup : DHGroup14
PfsGroup : None

Se não existir uma política IPsec/IKE configurada, o comando $connection6.policy obtém uma devolução vazia. Não significa que iPsec/IKE não esteja configurado na ligação; significa que não existe uma política IPsec/IKE personalizada. A ligação real utiliza a política predefinida negociada entre o dispositivo VPN no local e o gateway de VPN do Azure.

2. Adicionar ou atualizar uma política IPsec/IKE para uma ligação

Os passos para adicionar uma nova política ou atualizar uma política existente numa ligação são os mesmos: criar uma nova política e, em seguida, aplicar a nova política à ligação:

$RG1 = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1

$newpolicy6 = New-AzIpsecPolicy -IkeEncryption AES128 -IkeIntegrity SHA1 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup None -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000

$connection6.SharedKey = "AzS123"

Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection6 -IpsecPolicies $newpolicy6

Pode obter a ligação novamente para verificar se a política foi atualizada:

$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$connection6.IpsecPolicies

Deverá ver o resultado da última linha, conforme mostrado no exemplo seguinte:

SALifeTimeSeconds : 14400
SADataSizeKilobytes : 102400000
IpsecEncryption : AES256
IpsecIntegrity : SHA256
IkeEncryption : AES128
IkeIntegrity : SHA1
DhGroup : DHGroup14
PfsGroup : None

3. Remover uma política IPsec/IKE de uma ligação

Depois de remover a política personalizada de uma ligação, o gateway de VPN do Azure reverte para a proposta IPsec/IKE predefinida e renegocia com o seu dispositivo VPN no local.

$RG1 = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$connection6.SharedKey = "AzS123"
$currentpolicy = $connection6.IpsecPolicies[0]
$connection6.IpsecPolicies.Remove($currentpolicy)

Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection6

Pode utilizar o mesmo script para verificar se a política foi removida da ligação.

Passos seguintes