共用方式為


強化 Linux 映像以移除 sudo 使用者

適用於:✔️ Linux 映像

此「操作說明」會示範從 Linux 映像移除 sudo 使用者,並在 Azure 中部署機密虛擬機器 (機密 VM) 的步驟。

本文的目標是為機密 VM 部署建立無管理員 Linux 映像。 移除客體管理員具有巨大的安全性價值,可降低作業系統之間的管理員權限。

了解 Unix/Linux 系統中不同類型的使用者:

  • 管理員使用者 (sudoer):具有額外權限的一般使用者。 這些使用者可以執行修改系統設定的特定工作。

  • 一般使用者:一般使用者是非管理使用者。 他們沒有修改系統設定或安裝全系統軟體的權限。

在無管理員 Linux 映像的內容中,目標是在沒有 sudo 使用者的情況下部署系統。

注意

單靠設定無法確保使用者不會新增至 sudo 群組。 任何具有根權限或 sudo 權限的服務都有可能提升權限。

必要條件

移除 sudo 使用者並準備一般化的 Linux 映像

建議的解決方案會產生沒有 sudo 使用者的 Linux 映像。

建立一般化映像來移除 sudo 使用者的步驟如下:

  1. 下載 Ubuntu 映像。 建立 Azure 機密 VM 的自訂映像

  2. 掛接映像。

    有數種方式可以執行此動作 連結磁碟,此範例會使用迴圈裝置來掛接映像。 其可以是連結的磁碟或迴圈裝置 掛接映像

    $imagedevice 是包含映像之裝置上的根文件系統分割區。

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

    此程序通常用來存取和使用磁碟映像。 在這裡,這會用來移除 Ubuntu 映像上的 sudo 使用者。

  3. Chroot 到 vhd 檔案系統以執行下列命令,其中會列出 sudo 群組底下的使用者。

    sudo chroot /mnt/dev/$imagedevice/ getent group sudo
    
  4. 藉由列出 sudoers.d 主目錄中和 /etc/passwd, /etc/shadow 檔案中的使用者,以驗證步驟 3。 如果有任何具有 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 來驗證使用者對 vhd 沒有 sudo 權限。

  7. 取消掛接映像。

    umount /mnt/dev/$imagedevice
    

備妥的映像不包含任何可用於建立機密 VM 的 sudo 使用者。

請遵循建立 Azure 機密 VM 的自訂映像步驟,建立 Azure 機密 VM。 執行 azcopy 時,在建立 Azure 機密 VM 的自訂映像步驟 4 中,使用無管理員映像,其餘步驟維持不變。