Freigeben über


Härten eines Linux-Images zum Entfernen von sudo-Benutzern

Gilt für: ✔️ Linux-Images

In diesem Thema wird beschrieben, wie Sie Sudo-Benutzer aus dem Linux-Image entfernen und einen vertraulichen virtuellen Computer (vertrauliche VM) in Azure bereitstellen.

Ziel dieses Artikels ist es, ein Linux-Image ohne Administrator für vertrauliche VM-Bereitstellungen zu erstellen. Das Entfernen des Gastadministrators hat immensen Sicherheitswert, wodurch Administratorrechte im gesamten Betriebssystem reduziert werden.

Grundlegendes zu verschiedenen Benutzertypen in Unix/Linux-Systemen:

  • Administratorbenutzer (sudoer): Reguläre Benutzer mit zusätzlichen Berechtigungen. Diese Benutzer können bestimmte Aufgaben ausführen, die Systemkonfigurationen ändern.

  • Regulärer Benutzer: Reguläre Benutzer sind nichtadministrative Benutzer. Sie sind nicht berechtigt, Systemkonfigurationen zu ändern oder systemweite Software zu installieren.

Im Kontext von Linux-Images ohne Administrator ist es ziel, Systeme ohne sudo-Benutzer bereitzustellen.

Hinweis

Die Konfiguration allein stellt nicht sicher, dass Benutzer der sudo-Gruppe hinzugefügt werden. Jeder Dienst mit Stamm- oder Sudo-Berechtigungen hat das Potenzial, Berechtigungen zu eskalieren.

Voraussetzungen

Entfernen von sudo-Benutzern und Vorbereiten eines generalisierten Linux-Images

Die vorgeschlagene Lösung führt zu einem Linux-Image ohne sudo-Benutzer.

Schritte zum Erstellen eines generalisierten Bilds, das die sudo-Benutzer entfernt, sind wie folgt:

  1. Laden Sie ein Ubuntu-Image herunter. Erstellen eines benutzerdefinierten Images für vertrauliche Azure-VM

  2. Montiere das Bild.

    Hierfür gibt es mehrere Möglichkeiten , den Datenträger anzufügen. Im Beispiel wird das Schleifengerät zum Bereitstellen des Images verwendet. Es kann sich um einen angefügten Datenträger oder ein Schleifengerät zum Einbinden des Images sein.

    $imagedevice ist die Partition des Stammdateisystem auf dem Gerät, das das Image enthält.

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

    Dieser Prozess wird häufig für den Zugriff auf und die Arbeit mit Datenträgerimages verwendet. Hier wird es verwendet, um die sudo-Benutzer auf dem Ubuntu-Image zu entfernen.

  3. Chroot in das vhd-Dateisystem, um den folgenden Befehl auszuführen, der Benutzer unter der sudo-Gruppe auflistet.

    sudo chroot /mnt/dev/$imagedevice/ getent group sudo
    
  4. Überprüfen Sie Schritt 3, indem Sie die Benutzer im Verzeichnis "sudoers.d home" und in "/etc/passwd", "/etc/shadow"-Dateien auflisten. Wenn Benutzer mit Sudo-Berechtigungen vorhanden sind, werden sie hier aufgeführt,

    sudo ls /mnt/dev/$imagedevice/etc/sudoers.d
    
    sudo cat /mnt/dev/$imagedevice/etc/passwd
    
    sudo cat /mnt/dev/$imagedevice/etc/shadow
    
  5. Entfernen von sudo-Berechtigungen: Verwenden Sie den Deluser-Befehl, um sudo-Berechtigungen für den Benutzer zu entfernen,

    sudo chroot /mnt/dev/$imagedevice/ deluser -r [sudo_username]
    
  6. Wiederholen Sie Schritt 4, um zu überprüfen, ob der Benutzer über keine sudo-Berechtigung für die vhd verfügt.

  7. Heben Sie die Bereitstellung des Images auf.

    umount /mnt/dev/$imagedevice
    

Das vorbereitete Bild enthält keine sudo-Benutzer, die zum Erstellen vertraulicher VMs verwendet werden können.

Führen Sie die Schritte zum Erstellen eines benutzerdefinierten Images für einen vertraulichen virtuellen Azure-Computer für Azure aus, um einen vertraulichen virtuellen Azure-Computer zu erstellen. Verwenden Sie das Image ohne Administrator in Schritt 4 des Erstellens eines benutzerdefinierten Images für einen vertraulichen virtuellen Azure-Computer, während Sie Azcopy ausführen und die restlichen Schritte erneut ausführen Standard dasselbe.