AWS Systems Manager Session Manager
O Session Manager é uma capacidade do AWS Systems Manager totalmente gerenciada. Com o Session Manager, é possível gerenciar as instâncias, os dispositivos de borda, os servidores on-premises e as máquinas virtuais (VMs) do Amazon Elastic Compute Cloud (Amazon EC2). Use um shell baseado em navegador interativo com um clique ou o AWS Command Line Interface (AWS CLI). O Session Manager fornece gerenciamento de nós seguro e auditável sem a necessidade de abrir portas de entrada, manter bastion hosts ou gerenciar chaves SSH. O Session Manager também facilita a conformidade com políticas corporativas que exigem acesso controlado aos nós gerenciados, práticas rígidas de segurança e logs totalmente auditáveis com detalhes do acesso aos nós, sem deixar de fornecer aos usuários finais acesso em várias plataformas com um clique aos nós gerenciados. Para começar a usar o Session Manager, abra o Systems Manager console
Como o Session Manager beneficia minha organização?
Session Manager oferece estes benefícios:
-
Controle de acesso centralizado aos nós gerenciados usando as políticas do IAM
Os administradores têm um único lugar para conceder e revogar o acesso a nós gerenciados. Usando somente políticas do AWS Identity and Access Management (IAM), você pode controlar quais usuários individuais ou grupos na sua organização podem usar o Session Manager e quais nós gerenciados eles podem acessar.
-
Sem a necessidade de abrir portas de entrada e de gerenciar bastion hosts ou chaves SSH
Deixar portas SSH de entrada e portas do PowerShell remotas abertas em seus nós gerenciados aumenta muito o risco de entidades executarem comandos não autorizados ou mal-intencionados nesses nós. O Session Manager ajuda a melhorar o procedimento de segurança, permitindo que você feche essas portas de entrada, eliminando o gerenciamento de chaves e certificados SSH, bastion hosts e caixas de diálogo.
-
Acesso com um clique aos nós gerenciados do console e da CLI
Usando o console do AWS Systems Manager ou do Amazon EC2, é possível iniciar uma sessão com um único clique. Usando a AWS CLI, você também pode iniciar uma sessão que executa um único comando ou uma sequência de comandos. Como as permissões para os nós gerenciados são fornecidas por meio de políticas do IAM em vez de chaves SSH ou outros mecanismos, o tempo de conexão é significativamente reduzido.
-
Estabelecer conexão com instâncias do Amazon EC2 e nós gerenciados que não são do EC2 em ambientes híbridos e multinuvem
É possível estabelecer conexão com instâncias do Amazon Elastic Compute Cloud (Amazon EC2) e nós que não são do EC2 em seu ambiente híbrido e multinuvem.
Para estabelecer conexão com nós que não pertençam ao EC2 usando o Session Manager, primeiramente é necessário ativar o nível de instâncias avançadas. Há uma cobrança para o uso do nível de instâncias avançadas. No entanto, não há custo adicional para se conectar às instâncias do EC2 usando o Session Manager. Para ter mais informações, consulte Configurar níveis de instâncias.
-
Encaminhamento de portas
Redirecione todas as portas dentro do nó gerenciado para uma porta local em um cliente. Depois disso, conecte-se à porta local e acesse a aplicação do servidor que está sendo executado dentro do nó.
-
Suporte entre plataformas para Windows, Linux e macOS
O Session Manager fornece suporte para Windows, Linux e macOS em uma única ferramenta. Por exemplo, você não precisa usar um cliente SSH para nós gerenciados do Linux e do macOS ou uma conexão RDP para nós gerenciados do Windows Server.
-
Registro e auditoria de atividade de sessão
Para satisfazer os requisitos de segurança ou operacionais em sua organização, pode ser necessário fornecer um registro das conexões feitas para seus nós gerenciados e os comandos que foram executados nelas. Você também pode receber notificações quando um usuário na sua organização começar ou terminar a atividade da sessão.
Os recursos de registro em log e auditoria são fornecidos por meio de integração com os seguintes Serviços da AWS:
-
AWS CloudTrail – o AWS CloudTrail captura informações sobre chamadas de API do Session Manager feitas na conta da Conta da AWS e grava-as em arquivos de log armazenados em um bucket do Amazon Simple Storage Service (Amazon S3) especificado. Um bucket é usado em todos os logs do CloudTrail para sua conta. Para ter mais informações, consulte Registrar em log chamadas de API do AWS Systems Manager com o AWS CloudTrail.
-
Amazon Simple Storage Service – Você pode optar por armazenar os dados de log da sessão em um bucket do Amazon S3 de sua escolha para fins de depuração e solução de problemas. Os dados de log podem ser enviados ao seu bucket do Amazon S3 com ou sem criptografia usando sua AWS KMS key. Para ter mais informações, consulte Registrar dados da sessão em log usando o Amazon S3 (console).
-
Amazon CloudWatch Logs: o CloudWatch Logs permite monitorar, armazenar e acessar os arquivos de log de vários Serviços da AWS. Você pode enviar dados de log da sessão a um grupo de logs do CloudWatch Logs para fins de depuração e solução de problemas. Os dados de log podem ser enviados ao seu grupo de logs com ou sem criptografia do AWS KMS usando sua chave do KMS. Para ter mais informações, consulte Registrar dados da sessão em log usando o Amazon CloudWatch Logs (console).
-
Amazon EventBridge e Amazon Simple Notification Service – O EventBridge permite configurar regras para detectar quando ocorrem alterações nos recursos da AWS que você especificar. Você pode criar uma regra para detectar quando um usuário na sua organização inicia ou interrompe uma sessão e, em seguida, receber uma notificação por meio do Amazon SNS (por exemplo, uma mensagem texto ou e-mail) sobre o evento. Você também pode configurar um evento do CloudWatch para iniciar outras respostas. Para ter mais informações, consulte Monitorar as atividades da sessão usando o Amazon EventBridge (console).
nota
O registro em log não está disponível para sessões do Session Manager que se conectam por meio de encaminhamento de portas ou SSH. Isso ocorre porque o SSH criptografa todos os dados da sessão e o Session Manager serve apenas como um túnel para conexões SSH.
-
Quem deve usar o Session Manager?
-
Qualquer cliente da AWS que quiser melhorar seu procedimento de segurança e auditoria, reduzir despesas operacionais centralizando o controle de acesso nos nós gerenciados e reduzir o acesso à entrada dos nós.
-
Especialistas em segurança da informação que quiserem monitorar e acompanhar o acesso e a atividade de nós gerenciados, fechar portas de entrada em nós gerenciados ou permitir conexões a esses nós sem um endereço IP público.
-
Administradores que desejam conceder e revogar acesso de um único lugar e querem fornecer uma solução aos usuários para nós gerenciados do Linux, macOS e Windows Server.
-
Os usuários que desejam se conectar a um nó gerenciado com apenas um clique no navegador ou na AWS CLI, sem a necessidade de fornecer chaves SSH.
Quais são os principais recursos do Session Manager?
-
Suporte para nós gerenciados do Windows Server, do Linux e do macOS
O Session Manager permite que você estabeleça conexões seguras com as instâncias, os dispositivos de borda, os servidores on-premises e as máquinas virtuais (VMs) do Amazon Elastic Compute Cloud (EC2). Para obter uma lista dos tipos de sistema operacional compatíveis, consulte Configurar o Session Manager.
nota
O suporte do Session Manager para máquinas on-premises é fornecido somente para o nível de instâncias avançadas. Para ter mais informações, consulte Ativar o nível de instâncias avançadas.
-
Acesso do Console, CLI e SDK aos recursos do Session Manager
Você pode trabalhar com Session Manager das seguintes formas:
O console do AWS Systems Manager inclui acesso a todos os recursos do Session Manager para ambos os administradores e usuários finais. Você pode executar qualquer tarefa relacionada às suas sessões usando o console do Systems Manager.
O console do Amazon EC2 fornece o recurso de os usuários finais se conectarem às instâncias do EC2 para as quais receberam permissões de sessão.
A AWS CLI inclui acesso a recursos do Session Manager para usuários finais. Você pode iniciar uma sessão, visualizar uma lista de sessões e encerrar permanentemente uma sessão usando a AWS CLI.
nota
Para usar a AWS CLI para executar comandos da sessão, você deve estar usando a versão 1.16.12 da CLI (ou posterior) e deve ter instalado o plugin do Session Manager em sua máquina local. Para ter mais informações, consulte Instalar o plug-in do Session Manager para a AWS CLI. Para visualizar o plug-in no GitHub, consulte session-manager-plugin
. -
Controle de acesso do IAM
Com o uso de políticas do IAM, você pode controlar quais membros da organização podem iniciar sessões para nós gerenciados e quais nós eles podem acessar. Você também pode fornecer acesso temporário aos nós gerenciados. Por exemplo, você pode fornecer um acesso a um engenheiro de plantão (ou um grupo de engenheiros de plantão) aos servidores de produção somente durante todo o período de rotação.
-
Registro de auditoria de suporte a recursos
O Session Manager fornece opções de histórico de sessões de auditoria e registro na sua Conta da AWS por meio da integração com uma série de outros Serviços da AWS. Para ter mais informações, consulte Auditar a atividade da sessão e Habilitar e desabilitar o registro em log de sessão.
-
Perfis de shell configuráveis
O Session Manager fornece opções para configurar preferências dentro das sessões. Esses perfis personalizáveis permitem que você defina opções preferenciais, como preferências de shell, variáveis de ambiente, diretórios de trabalho e execução de vários comandos quando uma sessão é iniciada.
-
Suporte para criptografia de dados de chaves do cliente
É possível configurar o Session Manager para criptografar os logs de dados da sessão que você envia para um bucket do Amazon Simple Storage Service (Amazon S3) ou transmite para um grupo de logs do Amazon CloudWatch Logs. Você também pode configurar o Session Manager para criptografar dados transmitidos entre as máquinas clientes e os nós gerenciados durante as sessões. Para obter mais informações, consulte Habilitar e desabilitar o registro em log de sessão e Configurar preferências da sessão.
-
Suporte ao AWS PrivateLink para nós gerenciados sem endereços IP públicos
Você também pode configurar endpoints da VPC para o Systems Manager usando o AWS PrivateLink para proteger ainda mais suas sessões. O AWS PrivateLink limita todo o tráfego de rede entre os nós gerenciados, o Systems Manager, o Amazon EC2 e a rede da Amazon. Para obter mais informações, consulte Melhorar a segurança das instâncias do EC2 usando endpoints da VPC para o Systems Manager.
-
Encapsulamento
Em uma sessão, use um documento do AWS Systems Manager (SSM) do tipo Session para tráfego em túnel, como http ou um protocolo personalizado, entre uma porta local em uma máquina cliente e uma porta remota em um nó gerenciado.
-
Comandos interativos
Crie um documento SSM do tipo sessão que use uma sessão para executar interativamente um único comando, o que fornece uma maneira de gerenciar o que os usuários podem fazer em um nó gerenciado.
O que é uma sessão?
Uma sessão é uma conexão feita a um nó gerenciado usando o Session Manager. As sessões são baseadas em um canal de comunicação bidirecional seguro entre o cliente (você) e o nó gerenciado remoto que transmite entradas e saídas para comandos. O tráfego entre um cliente e um nó gerenciado é criptografado usando TLS 1.2, e as solicitações para criar a conexão são assinadas usando Sigv4. Essa comunicação bidirecional permite acesso interativo bash e PowerShell aos nós gerenciados. Também é possível usar uma chave do AWS Key Management Service (AWS KMS) para criptografar dados além da criptografia TLS padrão.
Por exemplo, digamos que John é um engenheiro de plantão do departamento de TI. Ele recebe a notificação de um problema que requer a conexão remota a um nó gerenciado, como uma falha que requer a solução de problemas ou uma diretiva para alterar uma opção de configuração simples em um nó. Usando o console do AWS Systems Manager, o Amazon EC2 ou a AWS CLI, John inicia uma sessão conectando-o ao nó gerenciado, executa os comandos em um nó necessários para concluir a tarefa e encerra a sessão.
Quando John envia o primeiro comando para iniciar a sessão, o serviço Session Manager autentica o seu ID, verifica as permissões concedidas a ele por uma política do IAM, verifica as definições de configuração (como a verificação de limites permitidos para as sessões) e envia uma mensagem para SSM Agent para abrir a conexão bidirecional. Depois que a conexão é estabelecida e John digita o próximo comando, a saída do comando SSM Agent é carregada para esse canal de comunicação e enviada de volta para sua máquina local.