Configuración de la directiva IPsec/IKE para conexiones VPN de sitio a sitio
En este artículo se describen los pasos para configurar una directiva de IPsec o IKE para conexiones VPN de sitio a sitio (S2S) en Azure Stack Hub.
Parámetros de directiva de IPsec e IKE para puertas de enlace de VPN
El estándar de protocolo IPsec y IKE admite una amplia gama de algoritmos criptográficos en diversas combinaciones. Para ver qué parámetros se admiten en Azure Stack Hub para que pueda satisfacer los requisitos de cumplimiento o seguridad, consulte parámetros de IPsec/IKE.
En este artículo se proporcionan instrucciones sobre cómo crear y configurar una directiva de IPsec/IKE y aplicarla a una conexión nueva o existente.
Consideraciones
Tenga en cuenta las siguientes consideraciones importantes al usar estas directivas:
- La directiva de IPsec o IKE solo funciona en los SKU de puerta de enlace Estándar y HighPerformance (basadas en rutas).
- Solo puede especificar una combinación de directiva para una conexión determinada.
- Debe especificar todos los algoritmos y parámetros para IKE (modo principal) e IPsec (modo rápido). No se permite la especificación parcial de la política.
- Consulte con las especificaciones del proveedor de dispositivos VPN para asegurarse de que la directiva es compatible con los dispositivos VPN locales. No se pueden establecer conexiones de sitio a sitio si las directivas no son compatibles.
Prerrequisitos
Antes de empezar, asegúrese de que tiene los siguientes requisitos previos:
- Una suscripción de Azure. Si aún no tiene una suscripción de Azure, puede registrarse para obtener una cuenta gratuita de .
- Los cmdlets de PowerShell de Azure Resource Manager. Para más información sobre cómo instalar los cmdlets de PowerShell, consulte Instalación de PowerShell para Azure Stack Hub.
Parte 1: Creación y establecimiento de la directiva de IPsec/IKE
En esta sección se describen los pasos necesarios para crear y actualizar la directiva de IPsec/IKE en una conexión VPN de sitio a sitio:
- Cree una red virtual y una puerta de enlace de VPN.
- Cree una puerta de enlace de red local para la conexión entre locales.
- Cree una directiva IPsec/IKE con algoritmos y parámetros seleccionados.
- Cree una conexión IPSec con la directiva IPsec/IKE.
- Agregue, actualice o quite una directiva IPsec/IKE para una conexión existente.
Las instrucciones de este artículo le ayudarán a configurar y configurar directivas de IPsec/IKE, como se muestra en la ilustración siguiente:
Parte 2: Algoritmos criptográficos admitidos y puntos fuertes clave
En la tabla siguiente se enumeran los algoritmos criptográficos admitidos y los puntos fuertes de clave configurables por Azure Stack Hub:
IPsec/IKEv2 | Opciones |
---|---|
Cifrado de IKEv2 | AES256, AES192, AES128, DES3, DES |
Integridad de IKEv2 | SHA384, SHA256, SHA1, MD5 |
Grupo DH | ECP384, DHGroup14, DHGroup2, DHGroup1, ECP256, DHGroup24 |
Cifrado de IPsec | GCMAES256, GCMAES192, GCMAES128, AES256, AES192, AES128, DES3, DES, No |
Integridad de IPsec | GCMAES256, GCMAES192, GCMAES128, SHA256 |
Grupo PFS | PFS24, ECP384, ECP256, PFS2048, PFS2, PFS1, PFSMM, Ningún |
Vigencia de SA QM | (Opcional: los valores predeterminados se usan si no se especifican) Segundos (entero; min. 300/valor predeterminado 27000 segundos) KBytes (entero; mín. 1024/predeterminado 102400000 KBytes) |
Selector de tráfico | Los selectores de tráfico basados en directivas no se admiten en Azure Stack Hub. |
Nota
Si el valor definido para la vigencia de SA QM es demasiado bajo será necesario volver a especificar claves innecesarias, lo que podría degradar el rendimiento.
La configuración del dispositivo VPN local debe coincidir o contener los siguientes algoritmos y parámetros que especifique en la directiva de Azure IPsec/IKE:
- Algoritmo de cifrado de IKE (modo principal/fase 1).
- Algoritmo de integridad de IKE (Modo principal/Fase 1).
- Grupo DH (modo principal/fase 1).
- Algoritmo de cifrado IPsec (Modo rápido/Fase 2).
- Algoritmo de integridad de IPsec (Modo rápido/Fase 2).
- Grupo PFS (modo rápido/fase 2).
- Las vigencias de SA solo son especificaciones locales y no es preciso que coincidan.
Si GCMAES se usa como algoritmo de cifrado IPsec, debe seleccionar el mismo algoritmo GCMAES y la misma longitud de clave para la integridad de IPsec; por ejemplo, con GCMAES128 para ambos.
En la tabla anterior:
- IKEv2 corresponde al modo principal o a la fase 1.
- IPsec corresponde al modo rápido o a la fase 2.
- DH Group especifica el grupo de Diffie-Hellmen usado en el modo principal o la fase 1.
- El grupo PFS especifica el grupo de Diffie-Hellmen usado en Modo Rápido o Fase 2.
La vigencia de SA del modo principal de IKEv2 se fija en 28 800 segundos en las puertas de enlace de VPN de Azure Stack Hub.
En la tabla siguiente se enumeran los grupos de Diffie-Hellman correspondientes admitidos por la directiva personalizada:
Grupo Diffie-Hellman | DHGroup | PFSGroup | Longitud de la clave |
---|---|---|---|
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 |
Para obtener más información, vea RFC3526 y RFC5114.
Parte 3: Creación de una nueva conexión VPN de sitio a sitio con la directiva IPsec/IKE
En esta sección se describen los pasos para crear una conexión VPN de sitio a sitio con una directiva IPsec/IKE. Los pasos siguientes crean la conexión, como se muestra en la ilustración siguiente:
Para obtener instrucciones paso a paso más detalladas para crear una conexión VPN de sitio a sitio, consulte Creación de una conexión VPN de sitio a sitio.
Paso 1: Creación de la red virtual, la puerta de enlace de VPN y la puerta de enlace de red local
Declarar variables
Para este ejercicio, comience declarando las siguientes variables. Asegúrese de reemplazar los marcadores de posición por sus propios valores cuando realice la configuración para el entorno de producción:
$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"
Conexión a la suscripción y creación de un nuevo grupo de recursos
Asegúrese de cambiar al modo de PowerShell para usar los cmdlets de Resource Manager. Para más información, consulte Conexión a Azure Stack Hub con PowerShell como usuario.
Abra la consola de PowerShell y conéctese a su cuenta; por ejemplo:
Connect-AzAccount
Select-AzSubscription -SubscriptionName $Sub1
New-AzResourceGroup -Name $RG1 -Location $Location1
Creación de la red virtual, la puerta de enlace de VPN y la puerta de enlace de red local
En el ejemplo siguiente se crea la red virtual, TestVNet1, junto con tres subredes y la puerta de enlace de VPN. Al reemplazar valores, es importante que asigne específicamente el nombre GatewaySubnet a la subred de la puerta de enlace. Si usa otro, se produce un error al crear la puerta de enlace.
$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
Paso 2: Creación de una conexión VPN de sitio a sitio con una directiva de IPsec/IKE
Creación de una directiva IPsec/IKE
Este script de ejemplo crea una directiva IPsec/IKE con los siguientes algoritmos y parámetros:
- IKEv2: AES128, SHA1, DHGroup14
- IPsec: AES256, SHA256, ninguno, vigencia de SA de 14 400 segundos y 102 400 000 KB
$ipsecpolicy6 = New-AzIpsecPolicy -IkeEncryption AES128 -IkeIntegrity SHA1 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup none -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000
Si usa GCMAES para IPsec, debe usar el mismo algoritmo GCMAES y la misma longitud de clave para el cifrado e integridad de IPsec.
Creación de la conexión VPN de sitio a sitio con la directiva IPsec/IKE
Cree una conexión VPN de sitio a sitio y aplique la directiva IPsec/IKE que creó 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
Una vez que se especifica una directiva IPsec/IKE en una conexión, azure VPN Gateway solo envía o acepta la propuesta de IPsec/IKE con algoritmos criptográficos y puntos fuertes de clave especificados en esa conexión determinada. Asegúrese de que el dispositivo VPN local que utiliza para la conexión emplea o acepta exactamente la combinación de políticas requerida; de lo contrario, no se podrá establecer el túnel VPN de sitio a sitio.
Parte 4: Actualización de la directiva IPsec/IKE para una conexión
En la sección anterior se mostró cómo administrar la directiva IPsec/IKE para una conexión de sitio a sitio existente. En esta sección se describen las siguientes operaciones en una conexión:
- Muestra la directiva IPsec/IKE de una conexión.
- Agregue o actualice la directiva IPsec/IKE a una conexión.
- Quite la directiva IPsec/IKE de una conexión.
Nota
La directiva de IPsec o IKE solo se admite en las puertas de enlace de VPN basadas en rutas Standard y HighPerformance. No funciona en el SKU de puerta de enlace Básico.
Mostrar la directiva IPsec/IKE de una conexión
En el ejemplo siguiente se muestra cómo obtener la directiva IPsec/IKE configurada en una conexión. Los scripts son una continuación de los ejercicios anteriores.
$RG1 = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$connection6.IpsecPolicies
El último comando muestra la directiva IPsec/IKE actual configurada en la conexión, si existe. El ejemplo siguiente es una salida de ejemplo para la conexión:
SALifeTimeSeconds : 14400
SADataSizeKilobytes : 102400000
IpsecEncryption : AES256
IpsecIntegrity : SHA256
IkeEncryption : AES128
IkeIntegrity : SHA1
DhGroup : DHGroup14
PfsGroup : None
Si no hay ninguna directiva IPsec/IKE configurada, el comando $connection6.policy
obtiene un valor devuelto vacío. No significa que IPsec/IKE no esté configurado en la conexión; significa que no hay ninguna directiva IPsec o IKE personalizada. La conexión real usa la directiva predeterminada negociada entre el dispositivo VPN local y la puerta de enlace de VPN de Azure.
Adición o actualización de una directiva IPsec/IKE para una conexión
Los pasos para agregar una nueva directiva o actualizar una directiva existente en una conexión son los mismos: crear una nueva directiva y, a continuación, aplicar la nueva directiva a la conexión.
$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
Puede volver a obtener la conexión para comprobar si la directiva se actualiza:
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$connection6.IpsecPolicies
Deberías ver la salida de la última línea, como se muestra en el ejemplo siguiente:
SALifeTimeSeconds : 14400
SADataSizeKilobytes : 102400000
IpsecEncryption : AES256
IpsecIntegrity : SHA256
IkeEncryption : AES128
IkeIntegrity : SHA1
DhGroup : DHGroup14
PfsGroup : None
3. Quitar una directiva IPsec/IKE de una conexión
Una vez que se quite la directiva personalizada de una conexión, Azure VPN Gateway vuelve a la propuesta predeterminada de IPsec o IKE y vuelve a negociar con el dispositivo VPN 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
Puede usar el mismo script para comprobar si la directiva se ha quitado de la conexión.