[firebase-br] RES: RES: RES: RES: RES: Segurança

Reinaldo Cesar diasmartins em gmail.com
Qua Ago 19 09:36:52 -03 2009


Quanto a Triggers e Procedures (Me corrijam se eu estiver errado), elas 
são compiladas dentro do Banco, podendo ser apagadas.

Para apagar o fonte das Stored Procedures, faça o seguinte;

UPDATE RDB$PROCEDURES
SET RDB$PROCEDURE_SOURCE = NULL
WHERE RDB$SYSTEM_FLAG = 0;


E para apagar o fonte das Triggers, faça o seguinte:

UPDATE RDB$TRIGGERS
SET RDB$TRIGGER_SOURCE = NULL
WHERE RDB$SYSTEM_FLAG IS NULL;


Isso tem um inconveniente, se vc precisar mexer no banco do cara, vc tem 
que levar a trigger ou procedure para compilar as modificações.

Reinaldo

Luis escreveu:
> 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-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org [mailto:lista-bounces-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org] 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-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org [mailto:lista-bounces-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org] 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-ytrvCdabblZfyO9Q7EP/yw em public.gmane.org>
>>
>>>>> 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