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.
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
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
No hay comentarios.:
Publicar un comentario