Azure Bastion Host

Paco Sepulveda
Computación en la nube
June 13, 2020

Azure Bastion Host

Cuando desplegamos máquinas virtuales en Azure, uno de los aspectos más importantes a tener en cuenta es la seguridad de estas máquinas.

Si tenemos que acceder a ellas para administrarlas, tenemos varias opciones:

  • Asignarles una IP pública: De esta forma podemos acceder vía SSH (máquinas Linux) o RDP (máquinas Windows). Para reducir al máximo la superficie de ataque, se recomienda configurar el NSG (Network Security Group) para que permita este acceso únicamente desde nuestra IP pública. Si no lo hacemos así, al poco rato de estar activa esta máquina estará recibiendo ataques de múltiples bots que tratarán de comprometerlas. Si nosotros cambiamos constantemente de IP pública porque accedemos mediante una línea de datos o porque tenemos que viajar mucho, no es una solución muy eficiente porque tendremos que cambiar el NSG cada vez que vayamos a conectarnos a la máquina.
  • Utilizar un balanceador de carga con reglas NAT u otro dispositivo intermedio, incluso de terceros como un proxy, un application gateway, ...  El principal inconveniente de esta solución es el coste de este dispositivo intermedio. Habría que analizar cada situación para saber si es rentable.
  • Utilizar JIT (Just In Time) Access: Es otra forma de reducir la superficie de ataque creando de forma automática reglas en el NSG cuando un usuario con los privilegios necesarios quiere acceder a la máquina. De nuevo, el inconveniente es el coste, ya que JIT forma parte de Azure Security Center pero solo está disponible en el nivel Standard y no en el básico.
  • Máquina de salto: Podemos crear una máquina virtual en la misma red en la que se encuentren el resto de máquinas y que sea la única que tiene IP pública. Desde esta máquina accedemos a las otras que no tendrán IP pública. El inconveniente vuelve a ser el coste de tener otra máquina más y que tendrá IP pública, por lo que se ve expuesta a ataques desde el exterior.

Una solución similar a la máquina de salto, pero sin que tengamos que crear una máquina virtual es Azure Bastion Host. Este servicio nos permite acceder vía SSH o vía RDP a las máquinas de nuestra red virtual desde el propio portal de Azure. Es un servicio gestionado por Azure, por lo que no tenemos que encargarnos nosotros de mantener una máquina virtual (NSG, actualizaciones, autenticación de usuarios, …) También tiene un coste, que podemos ver en:

https://azure.microsoft.com/es-es/pricing/details/azure-bastion/

Por lo que habría que analizar si esta opción es rentable.

Vamos a ver cómo podemos configurar Azure Bastion Host para acceder a dos máquinas que ya tenemos creadas. Estas máquinas están en una misma red virtual, pero en diferentes subredes, y no tienen IP pública:

El primer paso para configurar Azure Bastion Host es disponer de una subred dentro de la misma red que las máquinas a las que queremos acceder. Esta subred debe cumplir los siguientes requisitos:

  • Su nombre debe ser “AzureBastionSubnet”.
  • No debe estar en uso
  • Debe tener una máscara de 27 bits o menos

Creamos una subred con estas características:

Y ya podemos empezar a crear el Bastion Host:

Vemos que es muy sencillo crear el Bastion:

Una vez creado el Bastion, es muy sencillo usarlo para acceder a las máquinas:

Basta con ir a la máquina a la que queremos acceder y pulsar en Connect y seleccionar Bastion:

Ponemos las credenciales y pulsamos en Connect. Debemos tener en cuenta que, si tenemos algún bloqueador de ventanas emergentes en el navegador, podría bloquear la ventana que se va a abrir:

Y ya tenemos acceso vía SSH a la máquina Linux desde el portal de Azure:

Igualmente podemos acceder vía RDP a la máquina Windows:

Y de esta forma accedemos a las máquinas virtuales sin que éstas tengan que contar con una IP pública, lo que incrementa su seguridad.


Paco Sepulveda

En febrero hará 19 años que trabajo como consultor y formador freelance.

Actualmente soy responsable de redes y seguridad en una empresa que ofrece servicios de telemedicina para los hospitales de la Comunidad de Madrid y para el Ejército y la Armada. Para esta empresa he implementado toda la infraestructura cloud.

Trabajo por las mañanas impartiendoel MCSE de Azure en Tajamar y también imparto ocasionalmente formación a medida para empresas en arquitectura de sistemas, redes y seguridad.

Tengo las siguientes certificaciones:

– LPIC-1 y LPIC-2

– ITIL v3 Foundation

– Cisco CCAI, CCNA, CCNP e IINS

– Microsoft: MCT, MCSE Cloud Platform and Infrastructure, MCSA Windows Server 2012 y 2016, MCSE Private Cloud.

La primera certificación de Microsoft la obtuve en 2009 con el MCSE Windows Server 2003 y después el MCITP Windows Server 2008.

Related Posts

Boletin informativo SpainClouds.com

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form