Partilhar via


Proteja uma imagem do Linux para remover usuários sudo

Aplica-se a: ✔️ Linux Images

Este "como" mostra as etapas para remover usuários sudo da imagem do Linux e implantar uma máquina virtual confidencial (VM confidencial) no Azure.

O objetivo deste artigo é criar uma imagem Linux sem administrador para implantações confidenciais de VM. Remover o administrador convidado tem imenso valor de segurança, reduz os privilégios de administrador em todo o sistema operacional.

Entendendo diferentes tipos de usuários em sistemas Unix/Linux:

  • Usuário administrador (sudoer): Usuários regulares com permissões extras. Esses usuários podem executar determinadas tarefas que modificam as configurações do sistema.

  • Utilizador regular: Os utilizadores regulares são utilizadores não administrativos. Eles não têm permissão para modificar as configurações do sistema ou instalar software em todo o sistema.

No contexto de imagens Linux sem administrador, o objetivo é implantar sistemas sem usuários sudo.

Nota

A configuração por si só não garante a prevenção de usuários serem adicionados ao grupo sudo. Qualquer serviço com privilégios root ou sudo tem o potencial de aumentar os privilégios.

Pré-requisitos

Remova usuários sudo e prepare uma imagem generalizada do Linux

A solução proposta resulta em uma imagem Linux sem usuários sudo.

As etapas para criar uma imagem generalizada que remove os usuários sudo são as seguintes:

  1. Faça o download de uma imagem do Ubuntu. Criar uma imagem personalizada para VM confidencial do Azure

  2. Monte a imagem.

    Há várias maneiras de fazer isso Anexe o disco, o exemplo usa o dispositivo de loop para montar a imagem. Pode ser um disco conectado ou um dispositivo de loop Monte a imagem.

    $imagedevice é a partição do sistema de arquivos raiz no dispositivo que contém a imagem.

    mount /dev/$imagedevice /mnt/dev/$imagedevice
    

    Esse processo é comumente usado para acessar e trabalhar com imagens de disco. Aqui, ele é usado para remover os usuários sudo na imagem do Ubuntu.

  3. Chroot no sistema de arquivos vhd para executar o seguinte comando, que lista os usuários sob o grupo sudo.

    sudo chroot /mnt/dev/$imagedevice/ getent group sudo
    
  4. Valide a etapa 3 listando os usuários no diretório inicial sudoers.d e nos arquivos /etc/passwd, /etc/shadow. Se houver algum usuário com privilégios sudo, eles estão listados aqui,

    sudo ls /mnt/dev/$imagedevice/etc/sudoers.d
    
    sudo cat /mnt/dev/$imagedevice/etc/passwd
    
    sudo cat /mnt/dev/$imagedevice/etc/shadow
    
  5. Remover privilégios sudo: Use o comando deluser para remover o privilégio sudo para o usuário,

    sudo chroot /mnt/dev/$imagedevice/ deluser -r [sudo_username]
    
  6. Repita a etapa 4 para validar que o usuário não tem nenhum privilégio sudo no vhd.

  7. Desmonte a imagem.

    umount /mnt/dev/$imagedevice
    

A imagem preparada não inclui nenhum usuário sudo que possa ser usado para criar as VMs confidenciais.

Siga as etapas Criar uma imagem personalizada para VM confidencial do Azure para criar uma VM confidencial do Azure. Use a imagem sem administrador na etapa 4 de Criar uma imagem personalizada para VM confidencial do Azure enquanto faz azcopy e o restante das etapas permanece o mesmo.