Hardening Virtual Machine

3

Eu tenho um produto baseado em CentOS e estou procurando distribuí-lo como uma máquina virtual (VMWare, XEN e KVM) e ultimamente tenho avaliado as etapas necessárias para proteger a VM. Os dados da VM não podem ser acessados por ninguém além de pessoas autorizadas, pois contêm dados confidenciais, ou seja, uma senha de root sempre deve ser solicitada ou acesso negado.

Usando o XEN, era possível acessar a máquina das seguintes maneiras:

  • Editando o carregador de inicialização usando o Dom0, portanto, invalidando quaisquer proteções do carregador de inicialização: xe-edit-bootloader -u -p 1
  • Adicionando init = / bin / sh às opções de inicialização da VM

Usando o VMWare, você pode montar a imagem em outro sistema e acessar os arquivos.

Possivelmente há outras maneiras de acessar a máquina, minha pergunta é, quais são essas outras maneiras que devo levar em consideração e como posso evitá-las, incluindo as que listei acima?

    
por Laoneo 18.04.2012 / 15:53

2 respostas

3

Bem, desde que as pessoas tenham acesso 'físico' (o que significa que eles têm a VM neste caso), há sempre alguma maneira de contornar - o modo de usuário único ou alguma ferramenta como o konboot.

A única maneira prática que posso ver para lidar com isso é criptografar todo o disco rígido - você terá alguns problemas de desempenho, mas como você precisaria de uma senha para acessar os dados, o modo de usuário único não faria bom, nem montaria a imagem.

Isso deve lidar com a maioria dos vetores de ataque, exceto os exóticos - por exemplo, um host comprometido que pode despejar o conteúdo da memória (caso tal coisa exista)

    
por 18.04.2012 / 16:01
0

Eu realmente não vejo uma maneira de impedir que os usuários finais vejam os dados no disco sem criptografia e, mesmo assim, haveria maneiras de contorná-los (ou então eles não poderiam realmente usar a VM)

A solução que vejo é automatizar uma maneira de personalizar o produto para cada usuário que usa seu produto ou generalizar a VM de forma que o usuário final tenha que definir credenciais adequadas e administrar a máquina por conta própria. Você não está entendendo o que é seu produto, mas na verdade não pode impedir completamente que eles montem uma imagem de disco e ignorem a proteção, e qualquer coisa que você coloque em prática provavelmente se tornará mais onerosa para os usuários finais legítimos tem que lidar com isso.

Basicamente, você precisa projetar a solução com a ideia de que o cliente final pode e verá essas informações, portanto, não é possível colocar informações secretas no produto que você está distribuindo. Personalize a solução para o site desse usuário ou force-a a administrá-la definindo senhas e credenciais na configuração.

    
por 18.04.2012 / 16:03