Restricción del acceso a los comandos de nivel raíz con SSM Agent - AWS Systems Manager

Restricción del acceso a los comandos de nivel raíz con SSM Agent

AWS Systems Manager Agent (SSM Agent) se ejecuta en instancias de Amazon Elastic Compute Cloud (Amazon EC2) y en otros tipos de equipos en entornos híbridos y multinube mediante permisos raíz (Linux) o permisos SYSTEM (Windows Server). Dado que estos son los permisos de acceso al sistema con mayor nivel, toda entidad de confianza a la que se le haya concedido permiso para enviar comandos a SSM Agent tiene permisos raíz o SYSTEM. (En AWS, una entidad de confianza que puede realizar acciones y acceder a los recursos en AWS se denomina entidad principal. Una entidad principal puede ser un Usuario raíz de la cuenta de AWS, un usuario, o un rol).

Este nivel de acceso es necesario para que una entidad principal pueda enviar comandos autorizados de Systems Manager a SSM Agent, pero también puede permitir que una entidad principal ejecute código malintencionado mediante la explotación de cualquier posible vulnerabilidad de SSM Agent.

En especial, los permisos para ejecutar los comandos SendCommand y StartSession deben restringirse cuidadosamente. Un buen primer paso consiste en conceder permisos para cada comando únicamente a determinadas entidades principales de la organización. Sin embargo, recomendamos aumentar aún más la posición de seguridad restringiendo los nodos administrados en los que una entidad principal puede ejecutar los comandos. Esto se puede hacer en la política de IAM asignada a la entidad principal. Es posible incluir en la política de IAM una condición que solo permita al usuario ejecutar comandos en los nodos administrados que tengan determinadas etiquetas o una combinación de etiquetas.

Por ejemplo, supongamos que tiene dos flotas de servidores, una para pruebas y otra para producción. En la política de IAM que se aplica a los ingenieros menos experimentados, se especifica que puedan ejecutar comandos solo en las instancias que tienen la etiqueta ssm:resourceTag/testServer. Sin embargo, a un pequeño grupo de ingenieros con mucha experiencia, que deben tener acceso a todas las instancias, les concede acceso a las instancias que tienen las etiquetas ssm:resourceTag/testServer y ssm:resourceTag/productionServer.

Con este enfoque, si los ingenieros menos experimentados intentan ejecutar un comando en una instancia de producción, se les denegará el acceso, porque la política de IAM que tienen asignada no proporciona acceso explícito a las instancias que tienen la etiqueta ssm:resourceTag/productionServer.

Para obtener más información y ejemplos, consulte los siguientes temas: