AWS Systems Manager Session Manager - AWS Systems Manager

AWS Systems Manager Session Manager

Session Manager es una capacidad completamente administrada de AWS Systems Manager que le permite administrar las instancias de Amazon Elastic Compute Cloud (Amazon EC2), las instancias en las instalaciones y las máquinas virtuales (VM) a través de un shell interactivo de un solo clic basado en navegador o de la AWS Command Line Interface (AWS CLI). Session Manager proporciona una administración de instancias segura y auditable sin la necesidad de abrir puertos de entrada, ni de mantener servidores bastión ni de administrar claves de SSH. Session Manager también le permite cumplir las políticas corporativas que requieren acceso controlado a las instancias, prácticas de seguridad estrictas y registros completamente auditables con detalles del acceso a las instancias, a la vez que sigue proporcionando a los usuarios finales un acceso multiplataforma sencillo con un solo clic a sus instancias administradas.

¿Cómo puede Session Manager beneficiar a mi organización?

Session Manager ofrece las ventajas siguientes:

  • Control centralizado del acceso a las instancias mediante políticas de IAM

    Los administradores disponen de un solo lugar para conceder y denegar el acceso a las instancias. Si usa solo políticas de AWS Identity and Access Management (IAM), puede controlar qué usuarios individuales o grupos de su organización pueden utilizar Session Manager y a qué instancias pueden acceder.

  • Sin puertos de entrada abiertos y sin necesidad de administrar hosts bastión o claves SSH

    Dejar abiertos los puertos SSH entrantes y los puertos PowerShell remotos en sus instancias aumenta enormemente el riesgo de que las entidades ejecuten comandos no autorizados o maliciosos en las instancias. Session Manager le ayuda a mejorar su postura de seguridad permitiéndole cerrar estos puertos entrantes, por lo que no tendrá que realizar tareas de administración de claves y certificados SSH, hosts bastión y cajas de conexiones.

  • Acceso con un solo clic a las instancias desde la consola y la CLI

    Si usa la consola de AWS Systems Manager o de Amazon EC2, podrá iniciar una sesión con un solo clic. Con la AWS CLI, también puede iniciar una sesión que ejecute un único comando o una secuencia de comandos. Dado que los permisos a instancias se proporcionan a través de las políticas de IAM en lugar de con claves SSH u otros mecanismos, el tiempo de conexión se reduce significativamente.

  • Enrutamiento de puertos

    Redirija cualquier puerto dentro de la instancia remota a un puerto local de un cliente. Después, conéctese al puerto local y obtenga acceso a la aplicación de servidor que se está ejecutando dentro de la instancia.

  • Compatibilidad multiplataforma para Windows, Linux y macOS

    Session Manager proporciona compatibilidad con Windows, Linux y macOS desde una sola herramienta. Por ejemplo, no es necesario utilizar un cliente de SSH para las instancias de Linux ni de macOS, ni tampoco una conexión de RDP para las instancias de Windows Server.

  • Actividad de sesiones de auditoría y registro

    Para cumplir los requisitos de seguridad y operativos de su organización, es posible que tenga que proporcionar un registro de las conexiones realizadas en las instancias y los comandos que se ejecutaron en ellas. También puede recibir notificaciones cuando un usuario de su organización comienza o finaliza la actividad de sesiones.

    Las capacidades de registro y auditoría se proporcionan a través de la integración a los siguientes servicios de AWS:

    • AWS CloudTrail: AWS CloudTrail recopila información acerca de las llamadas a la API de Session Manager realizadas en su Cuenta de AWS y la escribe en archivos de registros que se almacenan en un bucket de Amazon Simple Storage Service (Amazon S3) que usted especifique. Se utiliza un bucket para todos los registros de CloudTrail de su cuenta. Para obtener más información, consulte Registrar llamadas a la API de AWS Systems Manager con AWS CloudTrail.

    • Amazon Simple Storage Service: puede elegir almacenar los datos de registro de las sesiones en un bucket de Amazon S3 que prefiera con fines de depuración y solución de problemas. Los datos de registro se pueden enviar al bucket de Amazon S3 con o sin cifrado mediante su AWS KMS key. Para obtener más información, consulte Registro de los datos de la sesión con Amazon S3 (consola).

    • Amazon CloudWatch Logs: CloudWatch Logs le permite acceder a los archivos de registros de diversos servicios de AWS, monitorearlos y almacenarlos. Puede enviar los datos de registro de las sesiones a un grupo de registros de CloudWatch Logs con fines de depuración y solución de problemas. Los datos de registro se pueden enviar al grupo de registros con o sin cifrado de AWS KMS usando su clave de KMS. Para obtener más información, consulte Registro de los datos de la sesión con Amazon CloudWatch Logs (consola).

    • Amazon EventBridge y Amazon Simple Notification Service: EventBridge le permite configurar reglas para detectar cuándo se producen cambios en los recursos de AWS que especifique. Puede crear una regla para detectar cuándo un usuario de su organización inicia o detiene una sesión y, luego, recibir una notificación a través de Amazon SNS (por ejemplo, un mensaje de texto o de email) sobre el evento. También puede configurar un evento de CloudWatch para iniciar otras respuestas. Para obtener más información, consulte Monitoreo de la actividad de la sesión con Amazon EventBridge (consola) .

    nota

    El registro no está disponible para las sesiones de Session Manager que se conectan a través del reenvío de puertos o de SSH. Esto se debe a que SSH cifra todos los datos de la sesión y Session Manager solo sirve como túnel para las conexiones de SSH.

¿Quién debe utilizar Session Manager?

  • Cualquier cliente de AWS que quiera mejorar su posición de seguridad y auditoría, reducir los costos operativos mediante la centralización del control de accesos de las instancias y reducir el acceso de entrada de las instancias.

  • expertos en seguridad de la información que deseen monitorear y realizar un seguimiento de la actividad de las instancias y del acceso a ellas, cerrar los puertos de entrada de las instancias o permitir las conexiones a instancias que no tengan una dirección IP pública

  • administradores que deseen otorgar y revocar el acceso desde un único lugar y que quieran proporcionar una solución a los usuarios para las instancias de Linux, macOS y Windows Server

  • usuarios que deseen conectarse a una instancia con un solo clic desde el navegador o la AWS CLI sin tener que proporcionar claves de SSH

¿Cuáles son las características principales de Session Manager?

  • Compatibilidad con instancias de Windows Server, Linux y macOS

    Session Manager le permite establecer conexiones seguras con sus instancias de Amazon Elastic Compute Cloud (EC2), instancias en las instalaciones y máquinas virtuales (VM). Para ver una lista de los tipos de sistemas operativos admitidos, consulte Configuración de Session Manager.

    nota

    Session ManagerLa compatibilidad de con servidores locales se proporciona solo para la capa de instancias avanzadas. Para obtener información, consulte Activación del nivel de instancias avanzadas.

  • Acceso de la consola, la CLI y el SDK a las capacidades de Session Manager

    Puede trabajar con Session Manager de las siguientes formas:

    La consola de AWS Systems Manager incluye el acceso a todas las capacidades de Session Manager, tanto para los administradores como para los usuarios finales. Puede llevar a cabo cualquier tarea relacionada con las sesiones por medio de la consola de Systems Manager.

    La consola de Amazon EC2 proporciona a los usuarios finales la posibilidad de conectarse a las instancias EC2 para las cuales se les han otorgado permisos de sesión.

    La AWS CLI incluye acceso a las funcionalidades de Session Manager para usuarios finales. Puede comenzar una sesión, ver una lista de sesiones y terminar una sesión de forma permanente a través de la AWS CLI.

    nota

    Si desea utilizar la AWS CLI para ejecutar comandos de sesión, debe utilizar la versión 1.16.12 (o una posterior) de la CLI y tener instalado el complemento de Session Manager en su equipo local. Para obtener información, consulte (Opcional) Instalación del complemento de Session Manager para la AWS CLI.

    El SDK de Session Manager se compone de bibliotecas y código de muestra que permiten a los desarrolladores de aplicaciones crear aplicaciones de frontend, como, por ejemplo, shells personalizados o portales de autoservicio para los usuarios internos que utilizan de forma nativa Session Manager para conectarse a las instancias. Los desarrolladores y socios pueden integrar Session Manager en sus herramientas del lado del cliente o flujos de trabajo utilizando las API de Session Manager. Incluso puede crear soluciones personalizadas.

  • Control de acceso de IAM

    Mediante el uso de políticas de IAM, puede controlar qué miembros de su organización pueden iniciar sesiones en instancias y a qué instancias pueden acceder. También puede proporcionar acceso temporal a las instancias. Por ejemplo, es posible que desee ofrecer a un ingeniero de guardia (o un grupo de ingenieros de guardia) el acceso a servidores de producción solo para la duración de su turno.

  • Compatibilidad con la capacidad de registro y la auditoría

    Session Manager proporciona opciones para los historiales de las sesiones de auditoría y de registro en su Cuenta de AWS a través de la integración a una serie de otros servicios de AWS. Para obtener más información, consulte Auditoría de la actividad de sesiones y Registro de la actividad de la sesión.

  • Perfiles configurables de shell

    Session Manager le ofrece opciones para configurar preferencias dentro de las sesiones. Estos perfiles personalizables le permiten definir preferencias, como las preferencias de shell, las variables de entorno, los directorios de trabajo y la ejecución de varios comandos cuando se inicia una sesión.

  • Compatibilidad con el cifrado de datos clave del cliente

    Puede configurar Session Manager para que cifre los registros de datos de las sesiones que se envían a un bucket de Amazon Simple Storage Service (Amazon S3) o se transmiten a un grupo de registros de CloudWatch Logs. También puede configurar Session Manager para cifrar aún más los datos transmitidos entre equipos del cliente y sus instancias durante sus sesiones. Para obtener información, consulte Registro de la actividad de la sesión y Configurar preferencias de sesión.

  • AWS PrivateLink Compatibilidad de AWS PrivateLink con instancias sin direcciones IP públicas

    También puede configurar los puntos de enlace de la VPC para Systems Manager mediante AWS PrivateLink para asegurar aún más sus sesiones. AWS PrivateLink limita todo el tráfico de red entre las instancias administradas, Systems Manager y Amazon EC2 y la red de Amazon. Para obtener más información, consulte (Opcional) Creación de un punto de enlace de nube virtual privada.

  • Tunelización

    En una sesión, utilice un documento de AWS Systems Manager (SSM) de tipo sesión para tunelizar el tráfico, como http o un protocolo personalizado, entre un puerto local en un equipo cliente y un puerto remoto en una instancia.

  • Comandos interactivos

    Cree un documento SSM de tipo sesión que utilice una sesión para ejecutar de forma interactiva un único comando, lo que le ofrece una forma de administrar lo que los usuarios pueden hacer en una instancia.

¿Qué es una sesión?

Una sesión es una conexión a una instancia efectuada con Session Manager. Las sesiones se basan en un canal de comunicación bidireccional seguro entre el cliente (usted) y la instancia administrada remota que transmite elementos de entrada y salida para los comandos. El tráfico entre un cliente y una instancia administrada se cifra con TLS 1.2, y las solicitudes para crear la conexión se firman con Sigv4. Esta comunicación bidireccional permite el acceso interactivo de bash y PowerShell a las instancias. También puede utilizar una clave de AWS Key Management Service (AWS KMS) para cifrar aún más los datos, más allá del cifrado TLS predeterminado.

Por ejemplo, digamos que John es un ingeniero de guardia en su departamento de TI. Este recibe la notificación de un problema que le exige conectarse remotamente a una instancia, como, por ejemplo, un error que requiere la solución de problemas o una directiva para cambiar una opción de configuración sencilla en una instancia. Mediante la consola de AWS Systems Manager, la consola de Amazon EC2 o la AWS CLI, John inicia una sesión que lo conecta a la instancia, ejecuta comandos en la instancia necesarios para completar la tarea y, a continuación, termina la sesión.

Cuando John envía ese primer comando para iniciar la sesión, el servicio Session Manager autentica su ID, verifica los permisos concedidos por una política de IAM, comprueba las opciones de configuración (como, por ejemplo, comprobando los límites permitidos para las sesiones) y envía un mensaje a SSM Agent para abrir la conexión bidireccional. Una vez establecida la conexión y después de que John escribe el siguiente comando, la salida del comando de SSM Agent se carga en este canal de comunicación y se envía a su máquina local.