O blog da AWS

Substituindo o acesso por SSH para reduzir a sobrecarga de segurança com o AWS Systems Manager

Em muitas empresas, o acesso interativo via shell para a nuvem ou para ambientes de data center é uma necessidade. O acesso precisa ser suportado de forma segura, auditável e idealmente de forma programática. Além disso, deve-se estabelecer um controle de acesso rígido a esses acessos. Como discutido previamente em um post do Jeff Barr, AWS Systems Manager Session Manager é a ferramenta adequada para atender esses requisitos de negócio.

Esse post descreve como a VR Beneficios, uma grande empresa brasileira do ramo de benefícios com mais de 40 anos de experiência na indústria, substituiu todos seus acessos SSH pelo acesso seguro e interativo fornecido pelo AWS Systems Manager Session Manager.

Visão Geral

O acesso aos recursos baseados em servidores através de shell interativo é geralmente associado com uma sobrecarga de gerenciamento e segurança. As contas dos usuários, senhas, chaves de acesso e portas de rede precisam ser também gerenciadas para prover esse tipo de acesso. Frequentemente, também existe o custo de suportar uma infraestrutura adicional para sustentar bastion hosts, que são uma forma comumente utilizada para se criar uma camada adicional de segurança entre recursos menos seguros e recursos mais seguros.

O desafio se torna ainda mais complexo quando requisitos de segurança ou requisitos funcionais adicionais são requeridos, como por exemplo: auditoria, controle de acesso, acesso unificado (single sign-on), ou como é frequentemente observado em clientes da AWS, acesso programático aos recursos para a utilização de scripts e automações.

Solução

Após avaliar diferentes opções disponíveis, a VR Benefícios decidiu utilizar o AWS Systems Manager Session Manager. O serviço resolve os desafios mencionados anteriormente, incluindo o acesso transparente e programático. O acesso programático é particularmente importante dado que existe a necessidade de se gerenciar recursos em múltiplas contas da AWS, somado ao fato de que o acesso programático e automatizado reduz a probabilidade de erros humanos no processo. Existem outros benefícios de segurança ao se utilizar o AWS Systems Manager, incluindo:

Além disso, a VR Benefícios também está eliminando a necessidade de abrir portas de rede para a conexão via SSH e em alguns casos a necessidade de se manter acesso público direto através da Internet. Para as instâncias Amazon EC2, não existe mais a necessidade de se manter instâncias publicamente acessíveis. De fato, as instâncias gerenciadas com o Session Manager podem utilizar o AWS PrivateLink, que restringe o tráfego entre as instâncias EC2 gerenciadas e o AWS Systems Manager a rede da AWS.

Adicionalmente, existem alguns outros benefícios que a VR Benefícios pretende utilizar no futuro, incluindo:

  • Limitar o acesso em instâncias gerenciadas através de tags de recursos e em alguns casos utilizando IDs de instâncias;
  • Restringir o nível de acesso que os usuários podem assumir ao utilizar o Session Manager através do comando “executar como” (Run As);
  • Utilizar transferências de arquivos via SCP.

Arquitetura

A VR Benefícios utiliza a arquitetura representada no diagrama abaixo para gerenciar os servidores on-premises e as instâncias EC2 com o Session Manager. A solução consiste em múltiplas contas AWS para gerenciar os ambientes de desenvolvimento, teste e produção, além do ambiente on-premises.

A solução também possui uma conta central de gerenciamento onde residem todas as contas de administração. Essa configuração permite que todos os usuários administradores estejam centralizados em uma única conta, além de permitir o uso de políticas IAM personalizadas para incluir acesso ao S3 e ao CloudWatch Logs.

 

A VR Benefícios completou a implantação do Systems Manager para gerenciar tanto a nuvem AWS quanto recursos on-premises, gerenciando assim mais de uma centena de recursos com a solução. Como parte do processo de implantação, todas as VPCs foram configuradas com endpoints SSM para garantir que todo o tráfego permanece local e dentro da infraestrutura da AWS.

Cenários de problemas/diagnóstico/solução

A VR Benefícios utiliza acessos via shell interativo principalmente em cenários de problema/diagnóstico/solução quanto a automação através de práticas de DevOps não é uma opção. O seguinte cenário representa como isso acontece:

1) Utilize o AWS CLI e se conecte nas instâncias utilizando o Session Manager Plugin;

2) Sempre execute as conexões da conta de administração utilizando o role-arn das outras contas para conseguir acesso, como por exemplo:

  • aws ssm start-session –target “i-XXXXXXXXXXXX” –profile vrdev
  • aws ssm start-session –target “i-XXXXXXXXXXXX ” –profile vrtest
  • aws ssm start-session –target “i-XXXXXXXXXXXX ” –profile vrprd
  • aws ssm start-session –target “i-XXXXXXXXXXXX ” –profile vrbeneficios

3) Dado que a capacidade de auditoria do Session Manager é robusta, também são realizadas revisões periódicas das atividades realizadas através do Amazon CloudWatch Logs e também do bucket Amazon S3 configurado para armazenar as saídas dos comandos do shell interativo.

Gerência remota de infraestrutura

Apesar deste blog post focar no caso de uso do AWS Systems Manager Session Manager é importante mencionar que a VR Benefícios também utiliza o AWS Systems Manager para gerenciar remotamente a sua infraestrutura, incluindo a execução de comandos para implantar agentes do Amazon CloudWatch em todos ambientes, manter atualizados os agentes baseados em AWS e recolher informações de inventário.

Resumo

A solução apresentada é apenas uma das muitas formas pelas quais a VR Benefícios se beneficia dos serviços de Gerenciamento e Governança da AWS para manter o controle sobre custo, conformidade e segurança, sem afetar seu ritmo de inovação e eficiência operacional.

 

Sobre os autores

Cesar Soares é gerente de DevOps e infraestrutura de nuvem da VR Beneficios, com mais de 17 anos de experiência na área de tecnologia. Ele trabalha ativamente com a AWS e com AWS Premier Partners, como a SoftwareONE, para continuar impulsionando o ritmo da inovação e, ao mesmo tempo, aumentando a eficiência operacional e a segurança em vários ambientes, incluindo as operações Offshore e Nearshore e a plataforma AWS. Cesar é ativo na comunidade de tecnologia e pode ser acessado em https://www.linkedin.com/in/alexandrecesarsoares.

 

 

Hugo Carvalho é Arquiteto de Soluções Senior focado no segmento de Startups, e atua auxiliando startups a terem produtos sustentáveis e altamente escaláveis em nuvem. Com mais de 7 anos de experiência na área de desenvolvimento e gestão de times ágeis, Hugo já atuou em diversas empresas na definição, implementação, implantação e evolução de diversas soluções de tecnologia para diferentes segmentos de mercado.