Ao criar uma instância ECS, utilize novas credenciais de login exclusivas, como um par de chaves SSH. Não use credenciais de login predefinidas em uma imagem personalizada.
Riscos de segurança
Ao criar uma nova instância ECS a partir de uma imagem personalizada, a nova instância herda quaisquer senhas de login ou chaves SSH predefinidas dessa imagem. Imagens públicas não contêm senhas padrão. Essas credenciais, frequentemente definidas pelos criadores da imagem para facilitar o desenvolvimento ou testes, representam riscos significativos à segurança:
Exposição descontrolada de credenciais: Imagens personalizadas têm diversas origens. Suas senhas ou chaves padrão integradas podem ter sido distribuídas a vários usuários ou até mesmo publicadas acidentalmente em repositórios de código públicos ou fóruns técnicos. Atacantes escaneiam continuamente plataformas em nuvem em busca dessas credenciais públicas conhecidas. Um login bem-sucedido concede a eles controle total do seu servidor.
Medidas de segurança ignoradas: Se um atacante obtiver as credenciais predefinidas, ele poderá contornar todas as outras proteções de segurança e fazer login diretamente no sistema.
Melhores práticas
-
Ao criar uma imagem personalizada, não inclua senhas ou chaves SSH predefinidas.
Exclua as senhas de todos os usuários (
passwd -d <username>).Garanta que o arquivo
/root/.ssh/authorized_keyse os arquivos correspondentes de outros usuários estejam vazios.Limpe o histórico do bash (
history -c && history -w).
-
Ao criar uma instância a partir de uma imagem personalizada, evite usar a senha predefinida da imagem.
Essa ação reconfigura as credenciais de login (senha ou par de chaves) apenas para o root ou ecs-user. Ela não limpa as credenciais de login de outros usuários. Para limpá-las, siga as etapas em Correção.
Instâncias Linux
Ao criar uma instância a partir de uma imagem personalizada, utilize um par de chaves em vez da senha predefinida da imagem.
Console
Ao criar uma instância a partir de uma imagem personalizada ou compartilhada, evite selecionar Use Predefined Password. Em vez disso, use um Key Pair.
Na seção Management Settings, em Logon Credentials, selecione Key Pair. O Login Name tem como padrão root. Selecione um par de chaves existente na lista suspensa Key Pair ou clique em Create Key Pair para criar um novo.
API
Ao chamar a operação RunInstances ou CreateInstance, defina o parâmetro
PasswordInheritcomofalse.Instâncias Windows
Ao criar uma instância a partir de uma imagem personalizada ou compartilhada, evite selecionar Use Predefined Password. Defina uma senha personalizada forte. Pares de chaves não são suportados.
Na seção Logon Credentials, selecione a aba Custom Password. O nome de login é
administrator. A senha deve ter entre 8 e 30 caracteres e conter letras maiúsculas, minúsculas e números. Também pode conter os seguintes caracteres especiais:()~!@#$%^&*-_+=|{}[];'<>,.?/. Não use senhas comuns e publicamente conhecidas, comoP@ssw0rd.
Conformidade
Verificar instâncias não conformes
Faça login em uma instância Linux usando o Workbench para realizar as seguintes verificações.
-
Verificar contas de usuário suspeitas: Visualize o arquivo
/etc/passwdpara identificar usuários desconhecidos que você não criou ou que não são usuários padrão do sistema.cat /etc/passwd -
Verificar chaves públicas autorizadas pelo SSH: Inspecione os arquivos
authorized_keysem locais críticos do sistema para ver quais chaves públicas estão configuradas para login sem senha.# Check the authorized public keys for the root user. cat /root/.ssh/authorized_keys # Check the authorized public keys for another user, such as 'admin'. cat /home/admin/.ssh/authorized_keysRevise cuidadosamente as chaves públicas nos arquivos para garantir que correspondam às chaves privadas em uso. Remova imediatamente quaisquer chaves públicas suspeitas ou não reconhecidas.
Bloqueio: Impedir o uso de senhas predefinidas
No nível organizacional ou da conta, use uma política do RAM para bloquear proativamente a criação de instâncias que utilizem a senha predefinida de uma imagem.
-
Para usuários corporativos:
-
Acesse o console do Resource Directory com sua conta Alibaba Cloud. No painel de navegação à esquerda, clique em Control Policies. Em seguida, crie uma política de permissão personalizada com o seguinte conteúdo JSON.
Esta política nega a permissão para herdar a senha padrão de uma imagem ao criar uma instância ou substituir um disco do sistema.
{ "Version": "1", "Statement": [ { "Action": [ "ecs:RunInstances", "ecs:CreateInstance", "ecs:ReplaceSystemDisk" ], "Resource": "*", "Condition": { "Bool": { "ecs:PasswordInherit": [ "true" ] } }, "Effect": "Deny" } ] } No Resource Directory, anexe a política ao nó apropriado. A política será então aplicada a todas as contas sob esse nó.
-
-
Para usuários não corporativos:
Acesse o console do RAM com sua conta Alibaba Cloud. No painel de navegação à esquerda, clique em Permission Policy e crie uma política personalizada com o mesmo conteúdo da seção anterior.
Conceda permissões anexando políticas a usuários RAM, grupos de usuários RAM ou funções RAM.
Correção: Corrigir instâncias com senhas predefinidas
-
Definir novas credenciais de login
-
Instâncias Linux: Vincular um novo par de chaves
Acesse a página ECS console - Instances, selecione uma região e um grupo de recursos e clique no ID da instância de destino para abrir sua página de detalhes.
Clique em , selecione um par de chaves existente e clique em OK. O novo par de chaves entra em vigor após reiniciar a instância.
-
Instâncias Windows: Redefinir a senha
Acesse a página ECS console - Instances, selecione uma região e um grupo de recursos e clique no ID da instância de destino para ir à sua página de detalhes.
Clique em , defina uma senha forte conforme solicitado e clique em OK.
-
-
Remover credenciais predefinidas originais (Linux)
Faça login na instância ECS com suas novas credenciais. Use o novo par de chaves ou senha recém-configurado.
-
Exclua chaves públicas antigas: Inspecione cuidadosamente todos os arquivos
authorized_keyse limpe quaisquer chaves públicas antigas.# Edit the authorized_keys file for the root user and delete all unwanted public keys. vi /root/.ssh/authorized_keys # Perform the same operation for all other users. vi /home/<username>/.ssh/authorized_keys -
Desative a autenticação por senha: Após confirmar que consegue fazer login com sucesso usando o par de chaves, modifique a configuração do SSH para desativar a autenticação por senha. Isso garante que apenas a autenticação por par de chaves seja permitida.
# 1. Edit the SSH configuration file. sudo vi /etc/ssh/sshd_config # 2. Find and modify the following lines. PasswordAuthentication no PubkeyAuthentication yes # 3. Restart the SSH service for the changes to take effect. sudo systemctl restart sshd
-
Limpar usuários e arquivos desnecessários do sistema
Verifique os arquivos
/etc/passwde/etc/shadowpara remover quaisquer contas de usuário desnecessárias remanescentes do processo de criação da imagem. Além disso, exclua quaisquer arquivos temporários ou scripts que possam conter informações sensíveis, como senhas ou chaves antigas.