Requisitos

Antes de empezar tenemos que cumplir con los siguientes requisitos;

  • Tener una suscripción en Azure
  • Un espacio de direcciones IPv4 privadas disponibles
  • Un dispositivo VPN disponible para finalizar la conexión VPN Point to Site (P2S)
  • VNet con una subnet para gateways.
  • En la subnet de gateways un VPN Gateway.
  • Los certificados necesarios. (Certificado raíz cuya clave pública se importará en el Gateway y un certificado de cliente basado en el certificado raíz para que el cliente se autentique.)

¿Qué es una VPN P2S o Point to Site?

Las conexiones Point to Site (P2S) permiten a usuarios remotos acceder a recursos que tenemos en una VNet en Azure. En este caso la VPN siempre es SSTP (Secure Socket Tunnelling Protocol). La autenticación está basada en certificados. Es posible usar certificados autofirmados o certificados de una CA de terceros.

Proceso para crear una VPN P2S

  1. En la VNet creamos una subnet para gateways.
  2. En la subnet de gateways creamos un VPN Gateway.
  3. Creamos los certificados necesarios si no los tenemos ya. Necesitamos un certificado raíz cuya clave pública se importará en el Gateway. También necesitamos un certificado de cliente basado en el certificado raíz para que el cliente se autentique.
  4. Creamos la conexión VPN en el cliente.

Pasos:

1º Creamos una Gateway Subnet, en donde estará una de las patas del Gateway que desplegaremos, acto seguido configuramos un Gateway y lo desplegamos, pero hemos de tener en cuenta que tarda de media unos 45 minutos. Lo puedes crear desde el portal de Azure o desde PowerShell con el siguiente comando:

New-AzureRmVirtualNetworkGateway -Name "GW-VPN" -ResourceGroupName Vnet-VPN -Location eastus -GatewayType Vpn -VpnType RouteBased -GatewaySku Basic -VpnClientAddressPool 192.168.20.0/24 -VpnClientRootCertificates $adatumRootCert

2º Una vez se haya desplegado el Gateway, procedemos a configurar una conexión Point-to-Site (P2S), en la que especificaremos el nombre del certificado, el certificado (que explicaremos más adelante cómo hacerlo), y el espacio de direcciones IPs disponibles.

3º Para proceder a hacer certificados autofirmados, hemos de tener una entidad certificadora, en nuestro caso el propio Controlador de Dominio On-Premises lo es, y tener instalada Windows 10 SDK.

Podemos comprobar si lo tenemos instalado si vamos a PowerShell y probamos a escribir New-Self y tabulamos, de completarse el comando, significará que lo tenemos instalado.

4º Creamos el certificado autofirmado raíz, con el siguiente comando:

$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature -Subject "CN=AdatumRootCertificate" -KeyExportPolicy Exportable -HashAlgorithm sha256 -KeyLength 2048 -CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign

5º Verificamos que se ha creado correctamente, accediendo a la consola mmc, y lo exportamos en formato Base64

6º Definimos la variable de la ruta del certificado, la cual usaremos más tarde, con el comando:

$certFilePath = "C:\Certificate\AdatumRootCertificate.cer"

7º Lo convertimos en certificado raíz, con el comando

$adatumRootCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($certFilePath)

8º Le quitamos los retornos de carro al certificado, para poder exportarlo a Azure

$adatumRootCertBase64 = [System.Convert]::ToBase64String($adatumRootCert.RawData)

9º Nos logueamos en Azure

Login-AzureRmAccount

10º Generamos un certificado raíz para los clientes VPN

$adatumVPNRootCert = New-AzureRmVpnClientRootCertificate -Name 'AdatumRootCertificate' -PublicCertData $adatumRootCertBase64

11º Copiamos el certificado sin retornos de carro:

$adatumRootCertBase64 | clip

12º Y lo pegamos en el Portal de Azure, en la configuración de Point-to-Site, una vez tengamos esto, solo hemos de crear los certificados para cada máquina cliente que se vaya a conectar a la VPN, para que esta, le permita establecer una conexión.

13º Creamos un certificado para la máquina, firmado con el certificado raíz:

New-SelfSignedCertificate -Type Custom -KeySpec Signature -Subject "CN=AdatumClientCertificate" -KeyExportPolicy Exportable -HashAlgorithm sha256 -KeyLength 2048 -CertStoreLocation "Cert:\CurrentUser\My" -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")

14º Procedemos a descargarnos el cliente VPN, para establecer la conexión VPN P2S, entre la máquina On-Premises y la red ARM de Azure, en la cual tenemos una VM, con la que comprobaremos que podemos conectarnos.

15º Ejecutamos el cliente VPN y nos conectamos a la VPN, una vez conectados, podremos acceder a los recursos de la red ARM de Azure, como si nosotros estuviésemos en ella.

 

  • Autor/a: Juan José Dorado
  • Curso: Microsoft MCSA Windows Server + Microsoft MCSE Cloud Platform & Infrastructure
  • Centro: Tajamar
  • Año académico: 2017-2018
  • Linkedin: www.linkedin.com/in/juan-jose-dorado-roman

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *