Como gerenciar com segurança chaves privadas para pares de chaves gerenciados pelo EC2?

8

Para iniciar uma instância do EC2, você precisa de um par de chaves. Como você lida com a situação em que um engenheiro com acesso à chave privada desse par de chaves deixa a empresa? Funcionaria para adicionar acesso ssh individual e desautorizar o par de chaves inicial, imediatamente após o lançamento da instância?

    
por Jeff 11.10.2011 / 17:35

3 respostas

10

Quando um funcionário ou contratado deixa a empresa, você precisa desativar o acesso privilegiado que tinha aos recursos da empresa. Isso inclui (mas não está limitado a) as principais preocupações do seu ssh:

  1. Remova a chave ssh pública de todos os arquivos authorized_keys em todas as instâncias em execução. Substitua-os por uma chave ssh pública recém-gerada, que é conhecida apenas pelas pessoas que devem ter acesso.

  2. Remova todas as entradas de par de chaves no EC2 que eram conhecidas pelos que foram embora, para que novas instâncias não possam ser iniciadas com esses pares de chaves. Substitua-os por novas entradas de par de chaves, talvez com os mesmos nomes, se o seu

O método alternativo que você propõe também é bom e é aquele que eu uso: Desabilite a chave ssh inicial e adicione chaves ssh públicas individuais para cada desenvolvedor para que elas possam efetuar login com sua chave ssh privada normal. Isso pode ser feito para o login em uma conta compartilhada ou com cada desenvolvedor recebendo sua própria conta de usuário individual (minha preferida).

Depois que um funcionário sair, você não precisará apenas limpar os servidores em execução, mas também o processo que adiciona as chaves ssh aos novos servidores. E, quando um funcionário entrar, você precisará fazer o inverso: adicionar chaves ssh a servidores em execução e atualizar o novo processo do servidor.

Isso pode ser um pouco mais trabalhoso para manter muitas chaves ssh em vários servidores, mas é aí que entra a automação.

    
por 12.10.2011 / 01:30
3

Você nunca deve fornecer essa chave privada aos usuários finais. Os usuários finais devem ser provisionados com seus próprios meios de login, como a autenticação de chave pública (usando sua própria chave privada protegida por senha), seguida pela autorização LDAP.

A distribuição da chave privada fornecida por ec2 impossibilita o desprovisionamento de usuários. É exatamente por isso que o uso de credenciais compartilhadas é totalmente proibido por todos os regulamentos de segurança e conformidade.

Quando você permite o uso de credenciais compartilhadas:

  • É impossível usar logs para saber quem realmente está / estava em um host
  • É impossível desprovisionar um usuário sem desprovisionar todos os usuários (incluindo o acesso de emergência, para o qual é realmente essa chave privada do EC2)
por 15.01.2014 / 06:22
2

Consulte a documentação da Amazon sobre a rotação de credenciais de acesso .

Use algo como fantoche ou um script ssh sólido para percorrer e substituir todas as instâncias da chave antiga se você não usar quero relançar tudo ... ou apenas relançar tudo.

    
por 11.10.2011 / 21:32