если шифрование тома хранилища libvirt хранит секретный ключ на самой гипер, как защитить сам секрет, если злоумышленник имеет физический доступ - PullRequest
0 голосов
/ 27 марта 2019

Я хочу зашифровать диск нашей виртуальной машины в нашей платформе виртуализации KVM и обратиться к: https://libvirt.org/formatstorageencryption.html#StorageEncryption.

Мы можем сделать это в виде простых шагов:

  1. Создать секрет
  2. Создание зашифрованного тома
  3. В определении виртуальной машины укажите секретный uuid, например
    <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 хранит значение секрета в кодировке base64.в / etc / libvirt / secrets на hyper, если у злоумышленника есть физический доступ к hyper, он может легко получить секретное значение.

Я полагаю, что хакер не может проникнуть удаленно, но если у него есть физический доступ, любой может сбросить пароль root, а затем войти в систему с помощью гиперссылки, чтобы получить все.

Есть ли какой-нибудь метод?

Или эта угроза вообще не существует.

Спасибо.

1 Ответ

1 голос
/ 27 марта 2019

Если у злоумышленника есть root-доступ на локальном хосте, вы уже проиграли.Даже если libvirt зашифровал свои секреты на диске, злоумышленник может просто извлечь ключ дешифрования из памяти libvirtd.Или они могут просто получить доступ к памяти гостевой виртуальной машины, чтобы напрямую получить главный ключ LUKS.

Шифрование диска libvirt в первую очередь предназначено для защиты образов дисков, когда они хранятся в сетевом хранилище (NFS и т. Д.).В этом случае он защищает от атакующего по сети MITM или атаки со стороны администратора NFS-сервера.Он может защищать изображения, хранящиеся на локальном хосте, когда этот хост выключен - при условии, что основной хост FS также зашифрован.

Единственное, что выходит за рамки защиты - это защита от корня на локальном хосте virt.

...