Eliminando SSH: Automação 100% baseada em IAM com AWS Systems Manager

Durante anos, o acesso via SSH foi o padrão para administrar instâncias Linux. Porém, em ambientes corporativos modernos, manter chaves privadas, bastion hosts e portas abertas se tornou um risco operacional e de segurança.

Neste artigo, veremos como eliminar completamente o SSH e adotar um modelo de automação 100% baseado em IAM usando:

  • AWS Systems Manager
  • Ansible
  • Session Manager
  • Run Command
  • Auditoria via AWS CloudTrail

Por que abandonar o SSH?

O modelo tradicional com SSH exige:

  • Distribuição de chaves privadas
  • Gerenciamento de bastion hosts
  • Controle manual de acesso
  • Rotação de credenciais

Isso aumenta:

  • Superfície de ataque
  • Complexidade operacional
  • Risco de credenciais comprometidas

Com o Systems Manager, o acesso passa a ser controlado por IAM, eliminando chaves e portas abertas.

Conexão SSH

System Manager

AWS Systems Manager como camada de controle

O AWS Systems Manager permite gerenciar instâncias sem necessidade de acesso SSH direto.

Principais componentes usados nesse modelo:

Session Manager

Permite acesso shell seguro via console ou CLI:

  • Sem abrir porta 22
  • Sem IP público
  • Sem chave SSH
  • Controle via IAM
  • Logs centralizados

Run Command

Executa comandos remotamente em uma ou milhares de instâncias:

  • Execução paralela
  • Controle de taxa (throttling)
  • Registro de saída
  • Integração com automações

Integração com Ansible sem SSH

Tradicionalmente, o Ansible depende de SSH para se conectar aos hosts.
Porém, é possível utilizá-lo como orquestrador, delegando a execução ao Systems Manager.

Arquitetura recomendada:

  1. Ansible roda localmente ou em pipeline CI/CD
  2. Ele invoca AWS CLI ou módulos específicos
  3. A execução ocorre via Run Command
  4. O SSM Agent executa nas instâncias

Vantagens:

  • Nenhuma chave SSH armazenada
  • Controle de acesso via IAM Roles
  • Execução auditável
  • Automação compatível com ambientes privados (sem internet pública)

Segurança: modelo baseado em IAM

Ao substituir SSH por Systems Manager:

🔒 Controle de acesso granular

Permissões como:

  • ssm:StartSession
  • ssm:SendCommand

Podem ser restritas por:

  • Tag de instância
  • Conta
  • Região
  • Ambiente (prod, dev, staging)

🔐 Sem portas abertas

  • Porta 22 pode ser removida do Security Group
  • Instâncias não precisam de IP público
  • Elimina bastion hosts

🔄 Rotação automática de credenciais

  • IAM Roles substituem credenciais estáticas
  • Não há necessidade de distribuir chaves

Auditoria centralizada com CloudTrail

Todas as ações executadas via Systems Manager são registradas no:

AWS CloudTrail

Isso permite:

  • Saber quem iniciou uma sessão
  • Quais comandos foram executados
  • Em qual instância
  • Em qual horário

Esse nível de rastreabilidade é superior ao SSH tradicional, onde logs podem ser manipulados localmente.

Casos de uso comuns

Esse modelo é ideal para:

  • Hardening automático de instâncias
  • Atualização massiva de pacotes
  • Instalação de agentes (monitoramento, segurança)
  • Correções emergenciais em produção
  • Execução de playbooks Ansible sem SSH

Conclusão

Eliminar SSH não é apenas uma mudança técnica — é uma mudança de paradigma.

Ao adotar um modelo baseado em:

  • IAM
  • Systems Manager
  • Ansible como orquestrador
  • Auditoria via CloudTrail

As organizações reduzem drasticamente a superfície de ataque e aumentam governança operacional.

Para ambientes que buscam segurança, rastreabilidade e automação em escala, o SSH deixa de ser necessário — e passa a ser um risco evitável.

Quer uma solução personalizada para seu negócio?

Nossos especialistas em cloud computing analisam seu caso e criam uma estratégia sob medida.

Compartilhe essa publicação
Sobre o autor
Foto de Emanuel Teixeira

Emanuel Teixeira

Técnico KXC Tecnologia

Ver perfil e posts