AWS Systems Manager Session Manager - AWS Systems Manager

AWS Systems Manager Session Manager

Session Manager es una capacidad completamente administrada de AWS Systems Manager. Con Session Manager, puede administrar las instancias de Amazon Elastic Compute Cloud (Amazon EC2), los dispositivos de borde, los servidores locales y las máquinas virtuales. Puede utilizar un shell interactivo basado en navegador con un solo clic o la AWS Command Line Interface (AWS CLI). Session Manager proporciona una administración de nodos segura y auditable sin la necesidad de abrir los puertos de entrada, mantener hosts bastión ni administrar claves SSH. Session Manager también permite el cumplimiento con las políticas corporativas que requieren acceso controlado a nodos administrados, prácticas de seguridad estrictas y registros completamente auditables con detalles del acceso a los nodos, a la vez que ofrecen a los usuarios finales un acceso multiplataforma sencillo con un solo clic a los nodos administrados. Para comenzar a utilizar Session Manager, abra la consola de Systems Manager. En el panel de navegación, elija Session Manager.

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

Session Manager ofrece las ventajas siguientes:

  • Control centralizado del acceso a los nodos administrados mediante políticas de IAM

    Los administradores disponen de un solo lugar para conceder y denegar el acceso a los nodos administrados. Si utiliza solo políticas de AWS Identity and Access Management (IAM), puede controlar qué usuarios individuales o grupos de la organización pueden utilizar Session Manager y a qué nodos administrados 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 los nodos administrados aumenta enormemente el riesgo de que las entidades ejecuten comandos no autorizados o maliciosos en los nodos administrados. Session Manager le ayuda a mejorar su posición 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 los nodos administrados 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 nodos administrados 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.

  • Conexión tanto a las instancias de Amazon EC2 como a los nodos administrados en entornos híbridos y en la nube

    Puede conectarse a instancias de Amazon Elastic Compute Cloud (Amazon EC2) y nodos que no son de EC2 en el entorno híbrido, como servidores en las instalaciones, dispositivos periféricos y máquinas virtuales (VM) facilitados por otros proveedores de nube.

    Para conectarse a nodos que no sean de EC2 con Session Manager, primero debe activar el nivel de instancias avanzadas. El uso del nivel de instancias avanzadas conlleva un cargo. No obstante, no se generan cargos adicionales por la conexión a instancias de EC2 mediante Session Manager. Para obtener información, consulte Configuración de capas de instancias.

  • Enrutamiento de puertos

    Redirija cualquier puerto dentro del nodo administrado 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 del nodo.

  • 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 los nodos administrados de Linux ni de macOS, ni tampoco una conexión de RDP para los nodos administrados de Windows Server.

  • Actividad de sesiones de auditoría y registro

    Para cumplir los requisitos de seguridad y operativos de la organización, es posible que tenga que proporcionar un registro de las conexiones realizadas en los nodos administrados y los comandos que se ejecutaron en ellos. 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) .

    • Registros de Amazon CloudWatch: Registros de CloudWatch le permite acceder a los archivos de registros de diversos Servicios de AWS, supervisarlos 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 los nodos administrados y reducir el acceso de entrada de los nodos.

  • Expertos en seguridad de la información que deseen monitorear y realizar un seguimiento de la actividad de los nodos administrados y del acceso a ellos, cerrar los puertos de entrada de los nodos administrados o permitir las conexiones a nodos administrados 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 los nodos administrados de Linux, macOS y Windows Server.

  • Usuarios que deseen conectarse a un nodo administrado 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 Windows Server, Linux y nodos administrados de macOS

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

    nota

    La compatibilidad de Session Manager con máquinas locales se proporciona solo para el nivel 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 funcionalidades 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 los nodos administrados. 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 la organización pueden iniciar sesiones en nodos administrados y a qué nodos pueden acceder. También puede proporcionar acceso temporal a los nodos administrados. 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 los nodos administrados durante las sesiones. Para obtener información, consulte Registro de la actividad de la sesión y Configurar preferencias de sesión.

  • Compatibilidad de AWS PrivateLink para nodos administrados sin direcciones IP públicas

    También puede configurar los puntos de conexión de VPC para Systems Manager mediante AWS PrivateLink para asegurar aún más las sesiones. AWS PrivateLink limita todo el tráfico de red entre los nodos administrados, Systems Manager y Amazon EC2 a la red de Amazon. Para obtener más información, consulte (Recomendado) Crear un punto de conexión de VPC.

  • 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 un nodo administrado.

  • 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 un nodo administrado.

¿Qué es una sesión?

Una sesión es una conexión a un nodo administrado efectuada con Session Manager. Las sesiones se basan en un canal de comunicación bidireccional seguro entre el cliente (usted) y el nodo administrado remoto que transmite elementos de entrada y salida para los comandos. El tráfico entre un cliente y un nodo administrado 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 los nodos administrados. 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 un nodo administrado, 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 un nodo. Mediante la consola de AWS Systems Manager, la consola de Amazon EC2 o la AWS CLI, John inicia una sesión que lo conecta al nodo administrado, ejecuta comandos en el nodo 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.