Configurar VPN Point to site en Microsoft Azure y Windows 10
Hola que tal amigos pues si he estado leyendo información de como podemos hacer una conexión exitosa desde un equipo cliente con Microsoft Azure, esto con la posibilidad de crear una red homogenea tanto on-premise como en la nube.
Este tutorial esta basado de acuerdo a portales oficiales de Microsoft he información recabada de algunos blogs amigos en internet.
Lo primero que debemos hacer es crear los elementos necesarios en el portal oficial de Microsoft azure. Para ello debemos entrar con nuestra cuenta desde este enlace.
Dar clic en el apartado de portal clasico https://manage.windowsazure.com/
iniciamos con nuestras cuentas para poder tener el acceso al mismo.
Ahora vamos a montar nuestra VPN desde el portal clasico de Microsoft Azure, vamos a nuestro panel izquierdo y damos clic en redes.
En este menú nos aparecerán todos los servicios referentes a las redes creadas en Windows Azure, por defecto, si no hemos creado nada, no nos aparecerá nada por lo que tendremos que pulsar sobre el botón “New” > “Network Services” > “Virtual Network” > “Custom Create”.
Ahora vamos a crear un nombre para nuestra VPN para ello vamos a crear de acuerdo a nuestras especificaciones, para nuestro caso le pondremos como se muestran las siguientes imagenes.
A continuación nos aparecerá el menú para configurar y dar valores a nuestra red, nos pedirá un nombre, la región de nuestra red, un grupo de afinidad y el nombre del mismo. El grupo de afinidad nos irá bien para juntar los servicios que vayamos a usar con otros que tengamos en el mismo datacenter.
En el siguiente paso nos pide que añadamos algún servidor DNS (no es obligatorio) pero si disponemos de alguno que queramos añadir, ahora sería el momento.
Además, en esta pantalla es donde se decide entre crear una conexión Point-To-Site, Site-To-Site, las dos o ninguna. En nuestro caso como hoy hablamos de la Point-To-Site, seleccionaremos su checkbox y seguiremos adelante.
Vamos a poner los servidores de google para nuestro articulo.
En el paso 3, debemos especificar cuál será el rango de direcciones IP que le será asignado a los clientes que se conectan por medio de VPN de punto a sitio.
Aunque el máximo número de clientes que soporta cualquiera de los 3 tipos de gateway es de 128 usuarios simultáneos, usaremos un rango de direcciones mayor por simplicidad.
Con el fin de evitar que nuestros rangos de direcciones IP de esta nueva red virtual, choquen o coincidan con los rangos que ya estemos utilizando en nuestra infraestructura local, es recomendable que seleccionemos rangos poco frecuentes, por ejemplo, es muy común encontrar en las redes los rangos 192.168.x.x, 172.16.x.x, por esta razón, estaré seleccionando las últimas direcciones del rango de direcciones RFC1918 172.16.0.0/20 cuyas direcciones van desde la172.16.0.1 hasta la 172.31.255.254
Creamos de acuerdo a la siguiente imagen.
Al final tenemos nuestra red virtual creada.
Con la VPN creada nos falta crear la puerta de enlace en el portal de management. Para ello, accedemos a Networks > Seleccionamos la red que acabamos de crear y nos dirigimos a la pestaña “Dashboard”.
Ahora vamos a crear el Gateway, es básicamente una máquina virtual administrada por Microsoft Azure la cual cuenta con 2 adaptadores de red de los cuales uno de ellos está conectado a la subred GatewaySubnet y el otro está conectado a la subred donde tenemos nuestros servidores virtuales, en este caso Subnet-1.
Nos posicionamos en panel para crear nuestra puerta de enlace como se muestra a continuación.
Este proceso puede tardar de 15 a 45 minutos por lo que debemos tener calma.
Ahora Microsoft Azure nos pedirá obligatoriamente la configuración de los certificados, esto quiere decir por cuestiones de seguridad y los canales de comunicación se nos pide se configuren, existen muchas formas de hacer esto, lo mas común es a traves de la herramienta makecert, si bien esta herramienta sirve para la tarea en cuestión, Microsoft nos obliga a descargar e instalar Visual Studio para poder utilizar esta simple aplicación.
Agradezco a Victor Burgos por haber facilitado esta herramienta para la creación de certificados.
Vamos a utilizar una herramienta llamada X Certificate and Key Management. la cual se utiliza para generar certificados y llaves privadas/públicas para instalar en sus servidores web, ssh, ESX, etc
XCA es una utilidad que nos permite crear una entidad certificadora en nuestra propia máquina con la cual podemos generar y firmar nuevos certificados para utilizarlo en toda clase de escenarios.
Para comenzar descargamos la herramienta desde este link. una vez descargada e instalada la ejecutamos. Debemos crear una nueva base de datos donde se almacenarán de manera segura las llaves privadas/públicas y los certificados que vamos generando.
Ahora creamos una nueva base de datos como se muestra a continuación.
Especificamos la ruta y el nombre de la base de datos, ademas de colocar un password el cual hara segura la base de datos para los certificados.
Inicialmente crearemos la llave privada para el certificado raíz de nuestra nueva CA.
Hacemos clic en el tab de Private Keys, luego haz clic en New Key, ponemos un nombre descriptivo para esta nueva llave privada y hacemos clic en create.
Keytype en RSA y el Keysize en 2048 bit.
Ahora crearemos el certificado raíz para nuestra entidad certificadora local.
Hacemos clic en el tab de Certificates, luego hacemos clic en New Certificate, en el campo Template for the new certificate verificamos que esté seleccionado [default] CA, hacemos clic en Apply all para que los otros tabs se actualicen con los parámetros del template [default] CA, luego hacemos clic en el tab de Subject.
En el tab de Subject, podemos poner tanta información como queramos, pero como mínimo, debemos llenar el campo commonName y seleccionar que se use la llave privada que creamos en el paso anterior, para terminar haz clic en OK.
Listo nuestro certificado
Ahora vamos a exportar el certificado en el gateway de Azure y en las máquinas de los usuarios que se vayan a conectar.
Ahora vamos a crear un certificado cliente derivado de un certificado Raiz, para ello vamos a crear un nuevo certificado de usuario que posteriormente vamos a instalar en la máquina del usuario en el almacén de certificados personales.
Vamos a nuestro panel principal y damos clic en private key.
Al final de este paso, contaremos con 2 llaves privadas en tu base de datos tal como se ve en la siguiente imagen.
Para crear el certificado de cliente derivado del certificado raíz, vamos al tab de Certificates, hacemos clic derecho en el certificado raíz y seleccionamos New
Verificamos que en el campo Template for the new certificate esté seleccionada la opción [default] HTTPS_client, hacemos clic en Apply all para actualizar los otros tabs con los parámetros del template y vamos al tab de subject.
Nota: En el campo de Signing, podemos verificar que se usará el certificado TutorMas CA Root Certificate para firmar este nuevo certificado, de esta manera es que el gateway de Azure puede verificar que el certificado ha sido firmado por la entidad certificadora ya que ambos están relacionados matemáticamente.
En el subject tal cual le hicimos anteriormente agregamos la información con el nombre descriptivo.
Ahora nos deben aparecer 2 certificados en tu base de datos de XCA.
Ahora vamos a exportar los certificados para el gateway de Azure y el usuario.
Los 2 certificado que tenemos actualmente se deben exportar en 2 formatos diferentes
1.-deploymentmx (.cer) – llave publica – se instala en Gateway de Azure y maquina de usuario (user certificate store)
2.-Deploymentmx client certificate (Encriptacion (*.p12)) – llave publica y privada – maquina del usuario (computer certificate store)
Para exportar el certificado raíz, hacemos clic sobre él para seleccionarlo, hacemos clic en export, asigna un nombre para el archivo, verifica que el formato para exportar sea DER (*.cer) que es el formato que solicitamos Microsoft Azure y hacemos clic en OK, este formato solamente contiene el certificado y la llave pública.
Ahora hacemos lo mismo para el otro certificado pero verificando la encriptacion, PKCS # 12 chain (*.p12).
Para proteger la llave privada de este certificado, te aparecerá una nueva ventana donde debes indicar una clave para cifrar el archivo.
Listo!!! ahora si ya tenemos nuestros archivos necesarios para subirlos a Azure.
Ok ahora en el portal de Azure, veamos que nuestro diagrama tiene una advertencia sobre el certificado raiz.
Ahora nos vamos a ir a la parte de certificados que se encuentra en en nuestra ventana principal y hacemos clic en upload certificado.
Celeccionamos el certificado raiz (.cer)
Adicionalmente veremos el certificado en la lista de certificados y la alerta del certificado desaparecerá indicando que hay cero clientes conectados.
Ya tenemos todo listo del lado de Azure, ahora vamos a configurar el cliente. Para ello vamos a instalar el cerfiticado raiz y el certificado cliente en la maquina que se va a conectar a Azure, para este caso especial lo vamos a hacer con Windows 10.
Desde la máquina del usuario, para gestionar las bases de datos de certificados de la máquina, vamos a utilizar dos consolas de administración, Certlm.msc y Certmgr.msc.
Para lanzar Certlm.msc, haz clic derecho en el botón de inicio y selecciona ejecutar.
Ejecuta Certlm.msc para abrir el almacén de certificados de la máquina y seleccionamos Trusted Root Certification Authorities > Certificates.
Ahora clic derecho en la carpeta de certificates e importamos el certificado raiz previamente creado.
Damos clic en Next en nuestra pantalla y agregamos nuestro certificado raiz, tal y como se muestra a continuación.
Verificamos que el certificado se instale en Trusted Root Certification Authorities.
Hasta el momento, ya tenemos instalado correctamente el certificado raíz tanto en Azure como en la máquina del usuario.
Vemos el resultado de importacion correctamente.
Ahora amos ahora a importar el certificado de usuario en el almacén de certificados del usuario (User Certificate Store).
Hacemos clic derecho en inicio y ejecutar para colocar Certmgr.msc.
Ahora seleccionamos Personal > Certificates, en esta parte importaremos el certificado cliente, tal y como se muestra a continuación.
Indicamos la clave que le asignaste al archivo en el paso anterior, y selecciona únicamente Include all extended properties.
Nota: La opción Mark this key as exportable, no la marcamos porque no queremos que el usuario (u otro usuario no autorizado) exporte este certificado con la llave privada, si en tu caso quieres permitir este tipo posibilidad, puedes marcar la opción.
Listo. Ahora vamos a descargar el cliente VPN a nuestro equipo tecnico con Windows 10.
En las propiedades de la consola de Microsoft Azure, podremos ver los links de descarga del paquete para 32 y para 64 bits, descarga el que corresponda a nuestro sistema operativo.
Guardamos el archivo y lo ejecutamos.
Como el archivo no esta certificado por Microsoft, damos cli en Run Anyway.
Ahora podremos ver en nuestra redes inhalambricas de Windows 10 nuestra conexion de VPN con nuestro Windows 10.
Ahora vamos a verificar el tunel y la conectividad, damos clic en VLAN-DEPLOYMENTMX
Damos clic en cmd y ejecutamos ipconfig para nuestra nueva conexion.
Ahora si, en nuestro portal de Microsoft Azure veremos nuestro Cliente de Windows 10 conectado correctamente.
Listo, ahora vamos a poder conectarnos nuestro equipo de Windows 10 fisico con una maquina virtual en Azure., para ello vamos a crear una nueva maquina virtual.
Una vez creada y ejecutada, vamos al panel principal y podemos ver la direccion ip privada de esa maquina cual vamos a realizar ping entre nuestro equipo Windows 10 fisico y el equipo virtual Windows 10
Equipo Fisico 10.0.0.2
Equipo Azure 10.0.0.4
Corremos nuestra maquina virtual y desde nuestro equipo fisico hacemos ping en ambas plataformas.
Se produce un error debido a que el servidor de seguridad de Windows en la misma máquina virtual está bloqueando la comunicación, Para ello habilitamos la regla de entrada Firewall de Windows para el ping ICMP.
desde cmd con privilegios de administrador ejecutamos los siguientes comandos.
netsh advfirewall firewall add rule name=”ICMPv6″ dir=in action=allow enable=yes protocol=icmpv6
netsh advfirewall firewall add rule name=”ICMPV4″ dir=in action=allow enable=yes protocol=icmpv4
Hasta aqui la primera parte, la segunda parte veremos la conexion directa de mis equipos.
sin mas por el momento me despido enviandoles un gran saludo a todos mis lectores, estamos con nuevos post