Saltar contenido

Mejora la Seguridad en AWS eliminando el Bastion Host.

AWS

Miguel Ángel Chuecos, Site Reliability Engineer, nos cuenta algunos consejos muy útiles para mejorar la seguridad en AWS eliminando el Bastion Host.

En el siguiente artículo, veremos cómo funcionan los servidores de salto, una alternativa mejor, sus ventajas sobre los saltos clásicos y cómo configurarlos para mejorar la seguridad en AWS para todos los SO.

PD. Tienes un tip al final del artículo.

Frecuentemente, los Bastion Host o servidores de salto, se utilizan como práctica para acceder a recursos sin acceso a Internet (subredes privadas) dentro de AWS, o incluso con acceso al exterior pero restringido por IP (grupo de seguridad).

Los servidores de salto suelen utilizarse para conectarse a una base de datos, realizar pruebas, comprobar los logs de la aplicación, aplicar actualizaciones…

¿Cómo funcionan estos saltos?

  1. Este acceso se realiza mediante conexión SSH (puerto 22) o RDP (3389) estableciendo las IPs públicas de origen que accederán al Grupo de Seguridad del Bastión.
  2. Además, la persona que accede debe tener el par de claves asociado a la instancia.
  3. Una vez establecida la conexión con el Bastión, se realiza otra conexión SSH/RDP al servicio privado (instancia EC2, por ejemplo).

El siguiente diagrama describe el flujo de conectividad desde el usuario hasta la instancia privada de EC2 que aloja la aplicación:

conectivity flow user private ec2 instance in aws cloud bastion

¿Cuál es la mejor alternativa?

Te recomendamos que utilices AWS Systems Manager y Session Manager.

Vamos a mostrarte por qué usar esta herramienta es la mejor opción para mejorar la seguridad en AWS.

¿Cuáles son las ventajas de utilizar AWS Systems Manager sobre un salto clásico de SSH/RDP?

Estas son las principales ventajas de utilizar AWS Systems Manager y Session Manager:

AWS Systems Manager es multiplataforma

No es necesario utilizar diferentes herramientas de conexión SSH/RDP en función del sistema operativo (Linux, Windows, macOS).

Acceso rápido, pero seguro

Simplemente, acede a la consola de administración de AWS desde tu navegador e inicia sesión en el host deseado con un par de clics o utilizando la CLI de AWS.

Olvídate del acceso SSH y de los puertos abiertos en el grupo de seguridad

Con Session Manager no es necesario añadir reglas de acceso SSH o RDP ni mantener un grupo de seguridad con diferentes IPs públicas que puedan cambiar con el tiempo.

Seguridad gestionada por IAM

De esta forma, la seguridad se centraliza, permitiendo dar y denegar permisos desde un único lugar en función del usuario, grupo e instancia mediante políticas de IAM.

Integración con servicios de auditoría y logs

Con Session Manager se puede rastrear y registrar aún más la actividad de las sesiones de los usuarios mediante la integración con los servicios AWS CloudTrail, Amazon S3, Amazon CloudWatch, Amazon EventBridge y Amazon SNS, lo que permite, por ejemplo, recibir alertas cuando un usuario inicia o detiene una sesión.

El siguiente diagrama describe la conectividad con la instancia privada de EC2 mediante el gestor de sesiones de Systems Manager:

conectivity flow private ec2 instance systems manager aws cloud bastion

¿Cómo puedo habilitar Sessions Manager en mi instancia EC2?

Por favor, comprueba en primer lugar los pre-requisitos basados en tu SO.

Linux

El agente SSM está instalado por defecto en las siguientes instancais EC2 y AMIs:

  • Amazon Linux.
  • Amazon Linux 2.
  • Amazon Linux 2 ECS-Optimized Base AMIs.
  • Ubuntu Server 16.04, 18.04, y 20.04.

Para otras distribuciones Linux, echa un vistazo a la página de AWS.

Windows

El agente SSM está instalado por defecto en las siguientes instancias EC2 y AMIs:

  • Windows Server 2008-2012 R2 AMIs publicado en Noviembre de 2016 o posterior.
  • Windows Server 2016 y 2019.

Para otras versiones de Windows, echa un vistazo a la página de AWS.

macOS

El agente SSM está instalado por defecto en las siguientes instancias EC2 y Amazon Machine Images:

  • macOS 10.14.x (Mojave).
  • macOS 10.15.x (Catalina).
  • macOS 11.x (BigSur).

El Agente SSM no necesita ser instalado manualmente en las instancias EC2 de macOS a menos que haya sido desinstalado.

En tal caso, echa un vistazo al siguiente artículo.

Una vez que hayas instalado el Agente SSM, la instancia EC2 debe haber adjuntado un Perfil de Rol IAM. Sigue estos pasos para crear la política.

Una vez creado el perfil de rol de IAM, hay que adjuntarlo desde EC2.

Selecciona la instancia EC2 > Acciones > Seguridad > Modificar rol IAM y selecciona el rol IAM que ha creado antes.

Desde AWS Systems Manager, selecciona Session Manager en la lista Node Management.

Si la instancia se ha configurado correctamente, debería aparecer en la lista «Instancias de destino».

target instances aws systems manager to improve security in AWS

Tip: Escribe el comando bash para mantener registrado los comandos ejecutados durante la sesión.

Aws Systems Manager para mejorar la seguridad en AWS

Hemos visto que el uso de AWS Systems Manager para mejorar la seguridad de AWS en lugar de un salto clásico de SSH/RDP tiene muchas ventajas y como te hemos mostrado es fácil de configurar.

¿A qué esperas para mejorar su seguridad en AWS?

Como siempre, estamos encantados de compartir conocimientos. No dudes en ponerte en contacto con nosotros para que podamos ayudarte en lo que necesites.

¡Esperamos que este artículo te haya resultado útil!