Segurança na conexão com o BD

5 respostas
Lucas1

Essa tal de segurança está me tirando o sono :S

Pedi ajuda à alguns colegas do fórum, pesquisei mas ainda não estou confortável neste quesito com Java Desktop.
Seguinte: Para conectar ao BD podemos inserir os dados (URL, Usuário e Senha) em uma classe ou em um XML…

O que está incomodando é que é muito fácil pegar a o usuário e a senha descompactando o .jar… Fiz um teste com um .jar com ProGuard 2.01 de um software muito utilizado e de mercado e abri tudo sem a menor dificuldade. A única informação que não peguei, pq não fiquei xeretando foi o IP e não é minha intenção, por isso nem vou citar qual o software.

Como vocês tratam isso ?

5 Respostas

T

Isso é realmente complicado.

a) É aconselhável que o usuário usado para a conexão com o banco não tenha poderes de administrador ou supervisor no banco de dados (ou seja, não possa dropar tabelas ou coisas mais perigosas).
b) Você pode tentar proteger esses dados com uma senha (procure no fórum por uma classe que escrevi que serve para esconder senhas:

http://www.guj.com.br/posts/list/35256.java#187467

Obviamente ela só serve para esconder a senha, já que qualquer gajo que possa descompilar o programa e saiba um pouco de criptografia pode descriptografar a senha. Mas já ajuda um pouco.

UpTheIrons

Então,

Tb já me perguntei como fazer isso com Java, essa questão em .net é mais tranquila, mas
tudo bem, estamos no Java e tem q ser resolvido! :slight_smile:

Eu sou iniciante e vi q usando o arquivo Persistence.xml, as senha do banco fica muito vunerável,
há alguma maneira desse arquivo n conter a senha, ou seja, ter todas as informações, mas a senha
ser somente passada na autenticação do usuário por ex?

Grato,

Lucas1

UpTheIrons:
Então,

Tb já me perguntei como fazer isso com Java, essa questão em .net é mais tranquila, mas
tudo bem, estamos no Java e tem q ser resolvido! :slight_smile:

Eu sou iniciante e vi q usando o arquivo Persistence.xml, as senha do banco fica muito vunerável,
há alguma maneira desse arquivo n conter a senha, ou seja, ter todas as informações, mas a senha
ser somente passada na autenticação do usuário por ex?

Grato,

UpTheIrons não conheço de .net mas só por curiosidade você poderia explicar como é mais tranquila essa questão no .net ?
Além de maior segurança neste assunto o .net também compila os fontes se a possibilidade de reversão ?

UpTheIrons

Então,

Esse problema de reversão, ambos (java e .net) não estão totalmente livres.
Me referi q é mais tranquilo com .net pq ele já vem com classes prontas para criptografar
o arquivo Config.xml, onde vc tem informações sobre a conexão, mas tb é fácil fazer
com q somente a senha fique em código e n em arquivo xml, e se for usar Serviços com
o WCF, fica mais interessante, já q o arquivo de conexão pode ficar em um único lugar,
acho q com EJB funciona mais ou menos assim, tb sou iniciante em java, ainda apanho
muito, mas um dia chego lá.

Mas vc está desenvolvendo algo em Java ou .Net?

Falew.

Lucas1

Estou trabalhando em um projeto desktop mas alguns relatórios serão acessados na web. Então comecei a estruturar o projeto para fazer em java, mas quando me deparei com isso comecei a procurar soluções, pq o cliente exige que o fonte seja totalmente seguro :? Até porque ele conhece os funcionários dele e sabe que tem alguns expertinhos que ficam fuçando e talsss :smiley:

Criado 26 de fevereiro de 2009
Ultima resposta 21 de mar. de 2009
Respostas 5
Participantes 3