Segurança em Mysql

26/10/2009

Bom dia amigos,

Tenho um banco de dados com 6.000 registros.  Que é acessado local e remotamente.
Gostaria de saber se existe a possibilidade de evitar que alguém de fora ou até mesmo algum funcionário que não está mais na empresa, possa dar um "Select * from " nestas tabelas e baixar para outra máquina o conteúdo do Banco de dados. Uma vez que o login e a senha bem como o IP do BANCO ficam nos fontes que tenho em Delphi alguém poderia facilmente acessar e roubar os dados.
Tem como previnir isso ? Ou seja, Gostaria que o banco não fosse acessado, e na hipótese disso acontecer, que somente um registro fosse acessado por vez como é o caso de um produto por exemplo.

Muito obrigado.


Wellington.

Cucabrasil

Respostas

26/10/2009

Rbbarreto

Bom dia caros Amigo,     para acessar de fora esta pessoa terá que ter o executado so sistema, mas vc pode trocar o ip da maquina aonde esta o banco de dados.   para busca apenas um registro por vez, terá que faz pesquisa por codigo ou por qualquer campos da tabela. exemplo :     sqlexec.close; sqlexec.sql.clear; sqlexec.sql.add('Select codigo, nome, endereco from cliente '); sqlexec.sql.add('where codigo = :p_codigo                           ' );   sqlexec.parambyName('p_codigo').asString := EdtBusca.text;   sqlexec.open   amigo espero ter ajuda.  
Responder Citar

26/10/2009

Cucabrasil

Pois é caro Ricardo, Vc está certo. Porém, minha preocupação é a seguinte. Eu montei esse banco para uma situação específica e alguns clientes meus o usam como suporte as suas necessidades. Porém, minha preocupação é que se por ventura algum funcionário meu no uso de má fé ou mesmo que saia da empresa, pegar o IP do Banco e a senha ele vai conseguir com um "select * " pegar todas as informações das tabelas.
Se houvesse um jeito de criar um usuário que não aceitasse o comando "select * from" eu poderia matar essa dúvida, pois assim restringiria a abrangência do usuário.
Não sei se fui claro.. Mas se for pra resumir seria.

Preciso de alguma forma, não permitir que se dê o comando "Select * " no meu BD ? Acho q assim é mais tranquilo né.. rs rsr s

Muito obrigado pela atenção caro amigo. Conta comigo também.

Aliás estou usando Mysql 5 nessa situação.


Forte Abraço.


Wellington.
Responder Citar

04/11/2009

Pjrm1470

Para evitar situações como esta, existe aplicações multi-camadas.

Crie uma aplicação servidora e uma aplicação cliente. A aplicação cliente não tem nenhum select no source do aplicativo. Ele executa metodos disponibilizados pela aplicação servidora, que fica no seu servidor. A aplicação servidora que faz os selects, protegendo assim o seu banco de dados.

Você so precisa liberar o acesso do cliente ao seu programa.
Dê uma olhada em aplicação mlti-camada. Vai lhe ajudar.

Lembrando de postar no topico referente a programação que vc estuda.

Att,
Plínio.
Responder Citar