Segurança em Mysql
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.
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.
Wellington Silva
Curtidas 0
Respostas
Ricardo Araujo
26/10/2009
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.
GOSTEI 0
Wellington Silva
26/10/2009
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.
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.
GOSTEI 0
Pjrm1470
26/10/2009
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.
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.
GOSTEI 0