Compartilhar via


Fortalecer a 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.

  • Usuário regular: usuários regulares são usuários 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.

Observação

A configuração por si só não garante a prevenção de usuários de serem adicionados ao grupo sudo. Qualquer serviço com privilégios de root ou sudo tem o potencial de escalar 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. Baixe uma imagem do Ubuntu. Criar uma imagem personalizada para VM confidencial do Azure

  2. Monte a imagem.

    Existem 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 para montar 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. Faça 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 home 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 a 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 ao fazer azcopy e o restante das etapas permanece o mesmo.