EC2: posso fornecer scripts de inicialização padrão para apagar dados confidenciais na minha AMI?

4

Estou tentando usar o EC2 para fornecer uma maneira fácil de usar para inicializar um aplicativo da Web difícil de criar. O problema é que há alguma configuração sensível no sistema de arquivos, como sais de senha.

Eu escrevi um script de dados do usuário que substitui esses sais por valores aleatórios na primeira inicialização, e coloco isso no atributo user-data da instância da qual eu construí minha AMI.

Mas agora parece que os scripts de dados do usuário são específicos de instâncias, não de AMIs - ou seja, só são executados quando especificados pelo usuário que faz a clonagem, não o criador da AMI (eu).

Bem ... duh, acho que faz sentido, dado o nome "dados do usuário".

Isso está errado? Existe alguma maneira de eu fornecer um script que seja executado automaticamente em novos clones da minha AMI?

    
por slinkp 01.09.2011 / 21:27

1 resposta

4

Se você está construindo a AMI, você pode colocar o que quiser no sistema de arquivos.

Para sua pergunta de alto nível sobre a execução de código na inicialização, você pode adicionar o código como um script de inicialização do sistema padrão no sistema de arquivos AMI. A maneira específica de fazer isso depende do software de inicialização usado pela sua distribuição e lançamento do Linux em particular.

NO ENTANTO! Seu exemplo específico de sobrescrever dados confidenciais no sistema de arquivos não é algo seguro para fazer em uma AMI. Informações confidenciais, privadas ou secretas nunca devem ser colocadas em uma AMI. Na verdade, ele nunca deve tocar no volume do EBS usado para criar uma AMI pública, pois há maneiras de os usuários restaurarem os dados que foram excluídos.

Escrevi alguns artigos sobre esses riscos de segurança:

Creating Public AMIs Securely for EC2
http://alestic.com/2011/06/ec2-ami-security

Hidden Dangers in Creating Public EBS Snapshots on EC2
http://alestic.com/2009/09/ec2-public-ebs-danger

    
por 08.09.2011 / 08:42