sábado, 22 de enero de 2022

Acceso remoto seguro con Azure Bastion

 Visión de conjunto:

En este artículo, explorará cómo configurar e implementar Azure Bastion para obtener acceso remoto a su red de manera segura.

Imagen de resumen de la red:

 



La topología del observador de red no estaba cooperando, así que estoy usando esta imagen en su lugar.

Introducción:

Para desempeñarse de manera eficiente como profesional de TI, es vital tener la capacidad de administrar y mantener servidores de forma remota en una red local. Con más empresas que adoptan la nube, los administradores están restringidos a usar solo herramientas de administración remota para tener control y visibilidad de sus máquinas virtuales (VM).

Un problema principal al que se enfrentan los administradores ahora es cómo conectarse de forma segura a sus máquinas virtuales sin exponerlas a Internet. Microsoft ofrece un servicio llamado Azure Bastion que ayuda a proteger las sesiones de administración remota sin exponer las máquinas virtuales a actores malintencionados en Internet.

Guión:

Village Enterprise utiliza una aplicación de punto de venta (POS) para respaldar sus transacciones diarias de venta de muebles. Alojan la aplicación en servidores Windows y Linux en su centro de datos privado. Para conectarse de forma remota a los servidores locales, los administradores utilizan protocolos como SSH en el puerto 22 y RDP en el puerto 3389. Tener estas conexiones abiertas deja una gran superficie de ataque para que los atacantes maliciosos obtengan acceso a la red.

Actualmente, la empresa está en proceso de migrar sus servidores de aplicaciones locales a máquinas virtuales de Azure. Sin embargo, todavía se están conectando a las VM de la aplicación a través de RDP/SSH usando la IP pública de la VM. Dejar esto sin marcar puede hacer que su entorno se vea comprometido por posibles vulnerabilidades del protocolo. Recientemente lo contrataron como administrador de la nube y lo colocaron en el proyecto de migración. Su jefe propone dos soluciones: una máquina virtual de caja de salto que actúa como un puente entre la consola de administración y las máquinas virtuales de destino, o implementar Azure Bastion.

Soluciones:

Un servidor de salto (jump box) es una máquina virtual con una dirección IP pública y actúa como puente entre Internet y las máquinas virtuales internas alojadas en Azure. El uso de un cuadro de salto evita que las máquinas virtuales de nuestra aplicación estén expuestas a Internet. Se implementan en la misma red virtual (Vnet) que las máquinas virtuales de destino a las que intentamos conectarnos de forma remota mediante una conexión RDP/SSH. Por lo general, la única capacidad que permite un Jump Box es SSH en una subred privada, siendo esa la única entrada a la subred.

Con esta solución, nuestras máquinas virtuales de aplicaciones no necesitan una IP pública y solo se comunican a través del jump box. Sin embargo, implementar esta solución tiene algunas desventajas. La seguridad del jump box aún puede verse comprometida ya que nos estamos conectando mediante RDP/SSH en una IP pública. Además, los administradores tienen otro servidor que deben mantener y proteger con actualizaciones y parches regulares.

Aquí es donde entra en juego Azure Bastion. Es una plataforma como servicio (PaaS) completamente administrada que establece una conexión segura a las máquinas virtuales de la aplicación mediante RDP/SSH a través del portal. Obtiene su sesión RDP/SSH a través de TLS en el puerto 443, lo que la mantiene segura. Con Bastion, podemos abrir una conexión RDP/SSH a nuestras máquinas virtuales de aplicaciones utilizando sus IP privadas en lugar de asignarles IP públicas para conectarse.

Tenemos la opción de conectarnos de forma remota a cualquier máquina virtual implementada en la misma red virtual que AzureBastionSubnet o una red virtual emparejada con ella. Tampoco es necesario instalar ningún cliente, agente o software adicional para usar Bastion. Para fortalecer aún más la seguridad de nuestra red virtual y máquinas virtuales, podemos agregar grupos de seguridad de red (NSG) para controlar el tráfico que entra y sale de la subred de Bastion y las máquinas virtuales de la aplicación.

Manifestación:

Estos son los pasos que seguiré durante la demostración:

1.     Crear un grupo de recursos

2.   Crear red virtual

3.    Asigne una subred a las máquinas virtuales y una subred separada para el bastión

4.   Crear 2 máquinas virtuales

5.    Configurar 2 GSN

6.   Conéctese a la VM usando Bastion



El primer paso es crear un grupo de recursos. Esto contendrá todos los servicios que usaré para esta demostración. Por lo general, se recomienda agregar recursos con un ciclo de vida similar al mismo grupo de recursos para que los administradores puedan implementarlos, actualizarlos y eliminarlos fácilmente como grupo. Cualquier recurso que se usó en esta demostración se colocó en el grupo de recursos " Bastion-Demo " y en la región Este de EE. UU. 


El paso 2 será crear una red virtual. Para este ejemplo, estoy implementando una nueva red virtual llamada " 
Demo-Vnet " con 10.10.0.0/16 como espacio de direcciones IPv4. En esta red virtual, crearé una subred para las máquinas virtuales de mi aplicación llamada " Prod-Servers " y asignaré este espacio de direcciones IP 10.10.1.0/24 .




Cuando implementamos Azure Bastion, debe tener su propia subred dentro de una red virtual (la subred debe llamarse AzureBastionSubnet ). Podría ser una red virtual existente o una recién creada. Estamos en medio de la creación de una nueva red virtual, por lo que podemos habilitar Azure Bastion en la pestaña Seguridad .

Habilitar esto nos permite crear la subred bastión y asignarle una IP pública. Para cualquier AzureBastionSubnet, la máscara de subred debe ser mayor que /27. Asigné este espacio de direcciones IP ( 10.10.2.0/24 ) y creé una nueva dirección IP pública para la subred de Bastian. Una vez que la red virtual está configurada, seleccionamos Revisar + crear . Después de que pase la validación, seleccione crear .

 


Después de la creación de la red virtual y la subred bastión, aprovisionaremos 2 máquinas virtuales en nuestro grupo de recursos Bastion-Demo. Las únicas pestañas en las que debe realizar cambios son las de Básico y Redes . Además de eso, use cualquier configuración predeterminada que le den. Llamé a mis máquinas virtuales POS-APP-1 y POS-APP-2 .

Recuerde, su máquina virtual no debe tener puertos de entrada públicos ni direcciones IP públicas. En este ejemplo, dejaré habilitado el " generar nuevo par de claves ". Mantenga un registro de qué nombre de usuario usa y el par de claves generado. Vamos a utilizar ambos más adelante.



En la pestaña de redes, coloque las VM en la "Demo-Vnet" que creamos anteriormente y cambie la subred a Prod-Servers. Configuraremos un NSG para la subred Prod-Server más adelante, por lo que, por ahora, no es necesario un NSG de NIC (tarjeta de interfaz de red).

Después de configurar correctamente la pestaña de redes, puede hacer clic en Revisar+crear . Después de que pase la validación, seleccione crear .

Pd: me gusta marcar la casilla " Eliminar NIC cuando se elimine la VM " solo porque es conveniente y puede ahorrarme dinero una vez que elimine todo el grupo de recursos más adelante.


Este mensaje se muestra después de crear sus máquinas virtuales. Descargue la clave privada y guárdela en un lugar accesible. Lo necesitaremos una vez que estemos listos para conectarnos a nuestra VM usando Bastion.\



Los NSG son una excelente herramienta para agregar otra capa de defensa a nuestra red, pero si no están configurados correctamente, no funcionarán y causarán dolores de cabeza. La imagen de arriba muestra los 2 NSG que creé: Bastion-NSG para nuestra AzureBastionSubnet y Demo-Prod-NSG para nuestra subred Prod-Server. Voy a configurar el Demo-Prod-NSG primero.



Después de seleccionar Demo-Prod-NSG, me llevan a esta pantalla. Mi atención se centra principalmente en lo que hay debajo de la carpeta Configuración .



NSG opera en los niveles de subred y NIC. Para esta demostración, tenía más sentido crear un NSG que protegiera ambas VM de aplicaciones en lugar de que cada VM tuviera su propio NSG en el nivel de NIC. En la imagen de arriba, etiqueté el proceso de cómo asociar una subred a un NSG. Tener el NSG en el nivel de subred facilita el control del tráfico de entrada y salida de la subred.



La regla de seguridad entrante que creé para Demo-Prod-NSG restringe todo el tráfico RDP/SSH que no proviene de AzureBastionSubnet ( 10.10.2.0/24 ). En otra nota, las 3 reglas con el texto verde que ve en la imagen de arriba son las reglas predeterminadas que se configuran automáticamente cuando crea un NSG.



Crear y aplicar un NSG a una subred de máquinas virtuales es bastante simple, crear uno para AzureBastion es todo lo contrario. Si el NSG no está configurado correctamente con una lista de reglas requeridas, volverá con un error. El siguiente enlace explica qué reglas de entrada y salida deben configurarse para que el NSG funcione correctamente.

https://docs.microsoft.com/en-us/azure/bastion/bastion-nsg


Ahora que todo está configurado, finalmente podemos conectarnos a nuestras máquinas virtuales. Navegue a una de las máquinas virtuales y haga clic en la flecha desplegable del botón 
Conectar . Esto muestra 3 opciones: SSH, RDP y Bastion . Vamos a hacer clic en la opción Bastión . Además, observe que la VM no tiene una IP pública, solo una privada.



Anteriormente en el artículo, dije que hiciera un seguimiento del par de claves y el nombre de usuario, ya que los usaremos más adelante. Bueno, ha llegado el momento. Escriba el nombre de usuario que utilizó y seleccione " Clave privada SSH del archivo local ". Para el archivo local Navegue a través de su directorio de archivos y haga clic en el par de claves que descargó antes cuando creó la máquina virtual. Seleccione Conectar después de haber ingresado todo.

 

¡Ha establecido con éxito una conexión segura a su VM usando Azure Bastion! Espero que hayas disfrutado del artículo.

Si tiene algún problema, estos son los enlaces que me ayudaron a comprender Bastion:


https://docs.microsoft.com/en-us/azure/bastion/tutorial-create-host-portal

https://docs.microsoft.com/en-us/azure/bastion/troubleshoot

https://docs.microsoft.com/en-us/azure/bastion/bastion-nsg

No hay comentarios.:

Publicar un comentario