Proxmox stocke les disques de VM sur le backend pour lequel un stockage est configuré : le stockage en répertoire local contient des fichiers qcow2 ou raw, LVM-thin contient des volumes logiques, et ZFS ou Ceph contiennent leurs propres volumes. Les sauvegardes sont des archives vzdump sur un stockage de sauvegarde ou un Proxmox Backup Server. L'accès à l'un de ces éléments, le système de fichiers du nœud, le backend de stockage ou l'API, permet à un attaquant de lire hors ligne le disque d'une VM ou d'un conteneur, ou de restaurer et monter une sauvegarde, extrayant les données de l'invité sans aucune connexion ni défense interne à l'invité.
Localiser et lire les disques#
# where disks live depends on the storage type
cat /etc/pve/storage.cfg # storage backends and paths
qm config <vmid> | grep -E 'scsi|virtio|ide' # which volume backs the VM
# local file storage
ls -l /var/lib/vz/images/<vmid>/
guestmount -a /var/lib/vz/images/<vmid>/vm-<vmid>-disk-0.qcow2 -i --ro /mnt/guest
# LVM-thin: activate and mount the logical volume
lvs; lvchange -ay <vg>/vm-<vmid>-disk-0; guestmount -a /dev/<vg>/vm-<vmid>-disk-0 -i --ro /mnt
# ZFS: the zvol under /dev/zvol; Ceph: map the RBD image
Sauvegardes#
# vzdump archives (lzo/zst/gz) on backup storage
ls -l /var/lib/vz/dump/*.vma.* /var/lib/vz/dump/*.tar.*
# restore to a scratch VM/container, or extract a VMA archive to read its disks
qmrestore /var/lib/vz/dump/vzdump-qemu-<vmid>-*.vma.zst 9999 # restore to id 9999
# or extract the VMA to raw disks and mount offline
Notes d'exploitation#
- La méthode de lecture dépend du type de stockage :
guestmount/qemu-nbdpour les volumes fichier et bloc,lvchange -aypuis montage pour LVM-thin, le périphérique zvol pour ZFS, etrbd mappour Ceph ;storage.cfgetqm configvous indiquent lequel s'applique. - Les sauvegardes vzdump sont une copie complète et portable d'un invité ; en restaurer une sur un id jetable ou extraire l'archive VMA lit le disque sans toucher à la VM d'origine.
- Le montage hors ligne contourne tous les contrôles de l'invité ; priorisez les magasins d'identifiants (SAM/SYSTEM,
/etc/shadow, clés) comme pour tout vol de disque. - Cela s'enchaîne à partir d'un accès au nœud, au stockage ou à l'API ; voir Accès à l'hôte et shell et le Plan de gestion pour l'obtenir.