[firebase-br] RES: RES: RES: RES: RES: Segurança
Renato Bermudo
renato em eficazinformatica.com.br
Qua Ago 19 09:51:48 -03 2009
Olá Luis!
No próprio site firebase tem um artigo que ensina como ocultar os códigos
das
triggers e procedures.
Eu mesmo, sempre executo o script abaixo no banco do cliente:
UPDATE rdb$procedures
SET rdb$procedure_source = 'Protegido por lei de copyright. Minha empresa.'
WHERE ((rdb$system_flag = 0) OR (rdb$system_flag IS NULL));
UPDATE rdb$triggers
SET rdb$trigger_source = 'Protegido por lei de copyright. Minha Empresa.'
WHERE ((rdb$system_flag = 0) OR (rdb$system_flag IS NULL)) AND
(rdb$trigger_name NOT IN
(SELECT rdb$trigger_name FROM rdb$check_constraints));
Pra mim o cliente tem direito aos dados, mas não aos fontes, e no meu
conceito, scripts são fontes.
Um abraço!
----- Original Message -----
From: "Luis" <luisfirevb em gmail.com>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Wednesday, August 19, 2009 9:25 AM
Subject: [firebase-br] RES: RES: RES: RES: RES: Segurança
Acho que há dois pontos fundamentais no quesito segurança para banco de
dados:
1- Primeira - exatamente a quem pertencem os dados. Eu sempre deixo claro,
tanto a nível de proposta como de contrato, que o banco é do cliente e de
sua inteira responsabilidade em: Manter, proteger e realizar backups
periódicos, pois o banco é dele.
2- a parte tecnológica dos código contidos no banco: Triggers, Procedures,
etc... esse é um ponto que complica ao desenvolvedor, pois no FB, pelo que
já vi, não há como proteger isso e passar ao cliente, ele terá acesso. Por
esse motivo, em aplicações comerciais para múltiplas empresas, essa parte
acaba sendo interessante ficar no aplicativo e não no banco, apesar da perda
de performance.
Nota: Ainda não tenho conhecimento suficiente para saber se é possível no FB
passar uma procedure ou trigger como parâmetro, ou seja, a estrutura da
trigger ou procedure estaria no banco, mas os dados básicos seriam
fornecidos através de parâmetros por uma chamada do aplicativo?
Luis
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Felix
Enviada em: terça-feira, 18 de agosto de 2009 22:25
Para: 'FireBase'
Assunto: [firebase-br] RES: RES: RES: RES: Segurança
Segurança para base de dados é um assunto muito complexo.
Por exemplo, eu gostaria de proteger a base para impedir que um usuário
tivesse chance de adulterar os registros, excluir lançamentos de contas a
receber (e embolsar o dinheiro), mudar quantidades em estoque (e levar o
produto para casa), etc - sim, eu sei que o usuário teria que 'estudar' para
abrir uma base Firebird com flamerobin ou qq outra ferramenta.
MAS: se eu bloquear a base a empresa ficaria a minha mercê! Não poderia
migrar os dados (que são propriedade da empresa) sem minha autorização ou
consentimento!
Eu poderia 'chantagear' a empresa, cobrando um 'extra' para exportar a base.
Da maneira como é hoje: o cliente é o responsável pela segurança dos
arquivos de dados. Se ele quiser 100% de segurança basta colocar um servidor
numa sala trancada ou num rack com chave.
Basta deixar claro para o cliente o que ele DEVE fazer e o que nós PODEMOS
oferecer.
Fco. Felix
Desenvolvimento de Sistemas
www.soltecnologia.com.br
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Eduardo Jedliczka
Enviada em: terça-feira, 18 de agosto de 2009 22:04
Para: Carlos H. Cantu; FireBase
Assunto: Re: [firebase-br] RES: RES: RES: Segurança
além do mais, dá para se conectar com o outro usuário, com a mesma
fragilidade (eu já precisei abrir um banco com a role de sysdba e nao
perdi mais do que 10 minutos para descobrir o nome do owner da base)
e tem mais, uma ROLE com o nome SYSDBA não funciona no firebird 2.1
Abraço
Em Ter, 2009-08-18 às 16:04 -0300, Carlos H. Cantu escreveu:
> O problema dessa gambiarra eh que eh muito facil remover o role
> criado.
>
> Pesquise as mensagens antigas na lista que isto já foi discutido.
>
> []s
> Carlos H. Cantu
> www.FireBase.com.br - www.firebirdnews.org
> www.warmboot.com.br - blog.firebase.com.br
>
> HEP> A tempo pesquisei sobre este assunto, achei algo, que parece
interessante,
> HEP> era algo assim...
>
> HEP> Crie um usuário no security.fdb (ex: user: admin e senha: admin)
> HEP> gsec -user sysdba -pas masterkey -add admin -pw admin
>
> HEP> Crie uma Base de Dados com este usuário
>
> HEP> Logue na Base criada com este user e crie uma role com nome de Sysdba
>
> HEP> Assim qdo alguem copiar o banco para outro server que ele saiba a
senha
> HEP> do sysdba ira aparecer um erro e o Sysdba nao conecta. Nao fiz testes
> HEP> afundo...
> HEP> Ta ai a dica, a quem interessar poste os resultados depois.
>
>
> HEP> 2009/8/18 Rodolpho da Silva <nascimento em gko.com.br>
>
> >> > 100% confiável, 100% de performance, 100% mesmo? Somente servidor
> >> > fisicamente protegido...
> >>
> >> Disse tudo....
> >>
> >> Rodolpho da Silva
> >> www.essencialcode.com.br
> >>
> >>
> >>
> >> ----- Original Message -----
> >> From: Felix
> >> To: 'FireBase'
> >> Sent: Tuesday, August 18, 2009 2:41 PM
> >> Subject: [firebase-br] RES: RES: RES: Segurança
> >>
> >>
> >> Boas idéias... mas...
> >>
> >> 1. Perda de performance
> >> 2. Perda de performance
> >> 3. Chances de corrupção da base
> >>
> >> Eu tentei criar usuários, mudar senha, etc etc. Nada adiantaria.
Bastou
> >> copiar a base para outro micro com um Firebird 'limpo', criar o
usuário
> >> que
> >> existia no Firebird original e... acesso completo!
> >>
> >> 100% confiável, 100% de performance, 100% mesmo? Somente servidor
> >> fisicamente protegido...
> >>
> >>
> >>
> >>
----------------------------------------------------------------------------
--
> >>
> >>
> >>
> >> No virus found in this incoming message.
> >> Checked by AVG - www.avg.com
> >> Version: 8.5.392 / Virus Database: 270.13.60/2311 - Release Date:
08/18/09
> >> 06:03:00
> >> ______________________________________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >> http://www.firebase.com.br/fb/artigo.php?id=1107
> >> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista