Поделиться через


Ужесточение образа Linux для удаления пользователей sudo

Область применения: ✔️ образы Linux

В этом разделе показано, как удалить пользователей sudo из образа Linux и развернуть конфиденциальную виртуальную машину (конфиденциальную виртуальную машину) в Azure.

Цель этой статьи — создать образ Linux без администратора для развертывания конфиденциальных виртуальных машин. Удаление гостевого администратора имеет огромное значение безопасности, что снижает привилегии администратора в ОС.

Общие сведения о различных типах пользователей в системах Unix/Linux:

  • Администратор пользователя (sudoer): обычные пользователи с дополнительными разрешениями. Эти пользователи могут выполнять определенные задачи, изменяющие конфигурации системы.

  • Обычный пользователь: обычные пользователи являются неадминистрирующими пользователями. У них нет разрешения на изменение конфигураций системы или установку программного обеспечения на уровне системы.

В контексте образов Linux без администраторов цель — развернуть системы без пользователей sudo.

Примечание.

Только конфигурация не гарантирует, что пользователи не добавляются в группу sudo. Любая служба с привилегиями root или sudo может повысить привилегии.

Необходимые компоненты

Удаление пользователей sudo и подготовка обобщенного образа Linux

Предлагаемое решение приводит к использованию образа Linux без пользователей sudo.

Ниже приведены шаги по созданию обобщенного образа, удаляющего пользователей sudo:

  1. Скачайте образ Ubuntu. Создание пользовательского образа для конфиденциальной виртуальной машины Azure

  2. Подключите образ.

    Это можно сделать несколькими способами подключения диска, в примере используется устройство цикла для подключения образа. Это может быть подключенный диск или устройство цикла подключения образа.

    $imagedevice — это раздел корневая файловая система на устройстве, который содержит изображение.

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

    Этот процесс часто используется для доступа к образам дисков и работы с ним. Здесь он используется для удаления пользователей sudo на образе Ubuntu.

  3. Chroot в файловой системе vhd, чтобы выполнить следующую команду, которая перечисляет пользователей в группе sudo.

    sudo chroot /mnt/dev/$imagedevice/ getent group sudo
    
  4. Проверьте шаг 3, перечислив пользователей в домашнем каталоге sudoers.d и в файлах /etc/passwd, /etc/shadow. Если есть пользователи с привилегиями sudo, они перечислены здесь.

    sudo ls /mnt/dev/$imagedevice/etc/sudoers.d
    
    sudo cat /mnt/dev/$imagedevice/etc/passwd
    
    sudo cat /mnt/dev/$imagedevice/etc/shadow
    
  5. Удаление привилегий sudo: используйте команду deluser для удаления привилегий sudo для пользователя.

    sudo chroot /mnt/dev/$imagedevice/ deluser -r [sudo_username]
    
  6. Повторите шаг 4, чтобы убедиться, что у пользователя нет прав sudo на виртуальном жестком диске.

  7. Отключите изображение.

    umount /mnt/dev/$imagedevice
    

Подготовленный образ не включает пользователей sudo, которые можно использовать для создания конфиденциальных виртуальных машин.

Выполните действия по созданию пользовательского образа для конфиденциальной виртуальной машины Azure, чтобы создать конфиденциальную виртуальную машину Azure. Используйте образ без администратора на шаге 4 создания пользовательского образа для конфиденциальной виртуальной машины Azure при выполнении azcopy, а остальные действия остаются неизменными.