1 |
Em 26 de março de 2010 10:29, CBnet <cbneti@×××××.com> escreveu: |
2 |
> Olá! |
3 |
> |
4 |
> Não é um problema especifico do gentoo, mas recorro a melhor |
5 |
> comunidade linux ;-) |
6 |
> |
7 |
> Estou criando uma maquina virtual vmware rodando gentoo, nesta |
8 |
> máquina rodara uma |
9 |
> aplicação java web no tomcat, a exigência de meus superiores é que |
10 |
> não seja possível |
11 |
> acessar os arquivos da aplicação, mas sei que posso facilmente acessar |
12 |
> os arquivos de |
13 |
> uma máquina virtual de diversas formas, pensei em criptografar um |
14 |
> partição e colocar |
15 |
> a aplicação la dentro, que seria montada claro quando a maquina |
16 |
> estivesse executando, |
17 |
> mas e aonde colocar a chave de segurança, posso fechar a casa e deixar a chave |
18 |
> debaixo do tapete mas isso so dificultaria um pouco o acesso ;-), bem |
19 |
> a pergunta é, tenho |
20 |
> alguma forma de criptografar uma partição, que seja montada na |
21 |
> inicialização sem ter |
22 |
> que ter a chave gravada em algum lugar ? |
23 |
|
24 |
Acredito que não. Se essa partição estará mesmo encriptada, em algum |
25 |
lugar deve existir uma "chave" (ou senha) para desencriptar os dados. |
26 |
Se voce quer que a máquina de boot *sozinha* e consiga montar as |
27 |
partições encriptadas *sem ajuda de uma pessoa* então as chaves |
28 |
*devem* estar em algum lugar. |
29 |
|
30 |
Caso você queria bootar a máquina, mas sempre com a ajuda de alguém, |
31 |
esse alguém tem que saber a senha, ou sabe onde está a tal "chave". |
32 |
|
33 |
> |
34 |
> Essa sistema será distribuído gratuitamente, mas não querem |
35 |
> disponibilizar os fontes, |
36 |
> e sabemos que é fácil fazer engenharia reversa em .class. |
37 |
> |
38 |
|
39 |
É aqui que a coisa começa a se complicar de verdade. Como o usuário |
40 |
que vai receber essa "máquina virtual" vai montar as partições para |
41 |
que a máquina funcione? Se a máquina vai bootar "sozinha" (com disse |
42 |
acima) essa chave tem que estar nas maos do usuário também (mesmo que |
43 |
ele não saiba disso), mas tem que estar! Ou ele deve saber a senha |
44 |
para montar as partições. |
45 |
|
46 |
Imagina que é possível a máquina virtual bootar sozinha e montar as |
47 |
partições encriptadas. Depois que essa máquina estiver *rodando* basta |
48 |
eu acessá-la, por exemplo, via ssh ou via qualquer outro acesso que o |
49 |
vmware pode me dar e eu poderei olhar o conteúdo dessa partição, pois |
50 |
ela já está aberta e montada. |
51 |
|
52 |
Uma coisa que você deve ser lembrar é que a criptografia de uma |
53 |
pertição só te protege quando a máquina está *desligada*, ou claro, |
54 |
quando a partição ainda não está montada. A partir do momento que a |
55 |
partição é montada qualquer pessoa com acesso à maquina (seja físico |
56 |
ou remoto) poderá ler tranquilamente os dados. |
57 |
|
58 |
Você poderia pensar em encriptar todo o arquivo gerado pelo vmware |
59 |
(que será enviado ao usuário) mas voltamos ao *mesmo* problema. Como |
60 |
ele vai abrir esse arquivo para adicionar essa máquina ao vmware? Se o |
61 |
vmware conseguir abrir esse arquivos "sozinho" significa que o |
62 |
"segredo" para abrir esse arquivo está dentro dele mesmo e o vmware |
63 |
"sabe" onde encontrar esse segredo e por isso consegue abrir a máquina |
64 |
virtual. |
65 |
|
66 |
|
67 |
Claro que não é todo usuário que vai saber "burlar" sua implementação, |
68 |
mas eu acho, sinceramente, que não é possível *garantir* que o código |
69 |
da aplicação estará 100% seguro. |
70 |
|
71 |
A partir do momento em que o "segredo" para rodar essa tal máquina |
72 |
virtual (ou para montar as partições encriptadas) está nas mãos do |
73 |
usuário *não temos* mais controle do que ele pode fazer com ela. |
74 |
|
75 |
Espero ter ajudado e não ter te confundido ainda mais. =) Qualquer |
76 |
dúvida, não deixe de questionar. |
77 |
|
78 |
|
79 |
p.s. O texto indicado pelo Raphael parece muito interessante, mas acho |
80 |
que o problema aqui é mais teórico do que prático. |
81 |
|
82 |
[]'s |
83 |
-- |
84 |
Dalton Barreto |