Restringir o acesso aos comandos em nível raiz por meio do SSM Agent
O AWS Systems Manager Agent (SSM Agent) é executado em instâncias do Amazon Elastic Compute Cloud (Amazon EC2) e em outros tipos de máquina em ambientes híbridos e multinuvem usando permissões raiz (Linux) ou permissões SYSTEM (Windows Server). Como há o nível mais alto de permissões de acesso ao sistema, qualquer entidade confiável que tenha recebido permissão para enviar comandos ao SSM Agent terá permissões raiz ou SYSTEM. (Na AWS, uma entidade confiável que pode executar ações e acessar recursos na AWS é chamada de entidade principal. Uma entidade principal pode ser um Usuário raiz da conta da AWS, um usuário ou um perfil.)
Esse nível de acesso é necessário para uma entidade principal enviar comandos autorizados do Systems Manager ao SSM Agent, mas também possibilita que uma entidade principal execute código mal-intencionado explorando vulnerabilidades potenciais no SSM Agent.
Especificamente, as permissões para executar os comandos SendCommand e StartSession devem ser cuidadosamente restritas. Um bom primeiro passo é conceder permissões para cada comando apenas a entidades principais selecionadas em sua organização. No entanto, recomendamos reforçar ainda mais seu procedimento de segurança restringindo em quais nós gerenciados uma entidade principal pode executar esses comandos. Isso pode ser feito na política do IAM atribuída à entidade principal. Na política do IAM, você pode incluir uma condição que limita o usuário a executar comandos apenas em nós gerenciados marcados com tags específicas ou combinações de tags.
Por exemplo, digamos que você tenha duas frotas de servidores, uma para teste e outra para produção. Na política do IAM aplicada a engenheiros júniores, você especifica que eles podem executar comandos apenas em instâncias marcadas com ssm:resourceTag/testServer
. Mas, para um grupo menor de engenheiros líderes, que devem ter acesso a todas as instâncias, você concede acesso às instâncias marcadas com ssm:resourceTag/testServer
e ssm:resourceTag/productionServer
.
Usando essa abordagem, se os engenheiros júniores tentarem executar um comando em uma instância de produção, eles terão o acesso negado, porque a política do IAM atribuída não fornece acesso explícito a instâncias marcadas com ssm:resourceTag/productionServer
.
Para obter mais informações e exemplos, veja estes tópicos: