我想在KVM虚拟化平台中加密VM的磁盘,并参考:https://libvirt.org/formatstorageencryption.html#StorageEncryption。
我们可以通过简单的步骤进行操作:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/vg/test-vm01'/>
<target dev='vda' bus='virtio'/>
<encryption format='luks'>
<secret type='passphrase' uuid='ebb28309-fb26-4a2a-a5a8-e25adea4bc8c'/>
</encryption>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
但是,实际上,libvirt将秘密的值存储为对hyper的/ etc / libvirt / secrets进行base64编码的base64编码,如果攻击者具有对hyper的物理访问权限,则他可以轻松获得秘密值。
我认为黑客无法远程进入,但是如果具有物理访问权限,则任何人都可以重置root密码,然后登录hyper以获得所有信息。
有什么方法吗?
或者这种威胁根本不存在。
谢谢。
答案 0 :(得分:1)
如果攻击者在本地主机上具有root用户访问权限,则您已经迷路了。即使libvirt对磁盘上的机密进行了加密,攻击者也可以从libvirtd内存中获取解密密钥。或者他们也可以访问访客VM内存以直接获取LUKS主密钥。
libvirt磁盘加密主要用于在磁盘映像存储在网络存储(NFS等)上时保护它们。在这种情况下,它可以防御网络MITM攻击者或NFS服务器管理员的攻击。假设主主机根FS也已加密,则当该主机断电时,它可以保护本地主机上存储的图像。
唯一超出范围的是防止在本地virt主机上出现root。
答案 1 :(得分:-1)
即使不是很简单,网络MITM也无法真正停止,因为那时也有多种方法来获取解密密钥。
与非普通(例如重复),mitm攻击,网络或本地/(远程)相比,这确实是不行的。