Restrinja as permissões de exportação e compartilhamento de imagens para evitar a exposição acidental de credenciais, dados de usuários e rastros do sistema.
Riscos de segurança
O compartilhamento e a exportação de imagens aumentam a eficiência da implantação, mas introduzem riscos à segurança dos dados. Permissões inadequadas ou imagens não sanitizadas podem expor código-fonte, configurações de ambiente e dados confidenciais. Por exemplo, um funcionário pode exportar uma imagem de produção e obter credenciais, ou o compartilhamento de uma imagem pode revelar dados de teste residuais e credenciais temporárias. Os riscos específicos incluem:
-
Snapshots de dados estáticos: imagens e snapshots capturam o estado completo de uma instância ECS em um ponto específico no tempo, incluindo o sistema operacional, arquivos de aplicação e dados confidenciais, como:
-
Credenciais de identidade: chaves privadas SSH, AccessKeys de API, strings de conexão de banco de dados e senhas de aplicação embutidas no código.
-
Dados de usuário: código-fonte da empresa, informações de banco de dados e dados privados de usuários.
-
Rastros do sistema: histórico de comandos do Shell (.bash_history), arquivos temporários, e logs e caches de aplicações.
-
-
Risco de divergência de permissões: o compartilhamento e a exportação estendem o acesso aos dados de um ambiente controlado para um escopo mais amplo e, por vezes, incontrolável. Ao compartilhar uma imagem com informações confidenciais com a conta errada ou exportá-la para um ambiente offline, agentes maliciosos podem explorar esses dados.
Práticas recomendadas
Criação de imagem
Antes de criar uma imagem, faça logon na instância e remova as informações confidenciais. Se uma imagem contiver credenciais de logon, como chaves SSH, essas credenciais persistirão nas novas instâncias criadas a partir da imagem — mesmo que você associe um novo par de chaves ou defina uma nova senha durante a criação da instância.
-
Limpe informações de senha de usuários:
-
Linux: remova entradas de usuários desnecessárias de /etc/shadow e /etc/passwd.
-
Windows: execute o System Preparation (Sysprep) para generalizar a imagem. Isso redefine o SID, limpa as informações de usuário e exige uma nova conta ou senha de administrador na próxima inicialização. Exclua também contas locais desnecessárias em Local Users and Groups (lusrmgr.msc).
-
-
Exclua todas as chaves SSH:
-
Linux: exclua os arquivos de chave (especialmente id_rsa e authorized_keys) de /root/.ssh e de todos os diretórios home de usuários (/home/*/.ssh).
-
Windows: exclua os arquivos de chave de C:\Users\Administrator\.ssh e de todos os diretórios home de usuários (C:\Users\*\\.ssh). Limpe também as credenciais em cache no Credential Manager.
-
-
Limpe o histórico do Shell:
-
Linux: execute history -c e exclua o .bash_history de /root/ e de todos os diretórios home de usuários (/home/*/).
-
Windows: execute Clear-History para limpar o histórico da sessão atual do PowerShell. Em seguida, exclua o arquivo de histórico do PowerShell de todos os usuários, geralmente localizado em AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt.
-
-
Limpe arquivos temporários e logs:
-
Linux: limpe /tmp e /var/tmp. Revise e limpe os logs em /var/log.
-
Windows: execute o Disk Cleanup (cleanmgr.exe) para limpar arquivos temporários do sistema, a lixeira e outros itens. Use o comando wevtutil cl <LogName> (por exemplo, wevtutil cl System) ou o Event Viewer para limpar todos os principais logs de eventos do Windows, como logs de aplicação, segurança e sistema.
-
-
Remova credenciais embutidas no código: verifique o código da aplicação e os arquivos de configuração em busca de informações confidenciais embutidas, como senhas de banco de dados ou chaves de API.
-
Limpe dados de negócios e caches de aplicação: limpe os dados de negócios e os diretórios de cache de servidores web, bancos de dados e outras aplicações.
Recursos de conformidade
Bloqueie a exportação de imagens e o compartilhamento de imagens/snapshots
Para usuários ou grupos de usuários RAM com níveis de confiança baixos, use uma política Deny para proibir operações de alto risco em ativos essenciais de imagem — especificamente exportação de imagens, compartilhamento de imagens e compartilhamento de snapshots. No nível da organização ou da conta, use uma política RAM para aplicar essas restrições.
-
Para usuários corporativos:
-
Faça logon no console do Resource Directory com sua conta Alibaba Cloud. Na barra de menu à esquerda, clique em Control Policy, crie uma política personalizada e cole o conteúdo JSON a seguir.
Esta política nega a exportação de imagens, o compartilhamento de imagens e o compartilhamento de snapshots.
{ "Version": "1", "Statement": [ { "Action": [ "ecs:ExportImage", "ecs:ModifyImageSharePermission" ], "Resource": "*", "Effect": "Deny" }, { "Action": [ "resourcesharing:CreateResourceShare", "resourcesharing:AssociateResourceShare" ], "Resource": "*", "Condition": { "StringEquals": { "resourcesharing:RequestedResourceType": [ "Snapshot", "Image" ] } }, "Effect": "Deny" } ] } -
No Resource Directory, selecione um nó e anexe a política. A política bloqueia as operações especificadas para todas as contas sob esse nó.
-
-
Para usuários não corporativos:
-
Faça logon no console do RAM com sua conta Alibaba Cloud. No painel de navegação à esquerda, clique em Permission Policy. Crie uma política personalizada com o mesmo conteúdo.
-
Anexe a política a um usuário RAM, grupo de usuários RAM ou função RAM. Consulte Gerenciar autorização de política de acesso.
-