[oracle_br] Re: Bloquear objetos do banco

2013-10-31 Por tôpico J. Laurindo Chiappa
  E só para deixar Claro, o ponto de atenção reportado é para os usuários DBAs 
- claro que para os usuários comuns vc simplesmente não dá/remove os 
privilégios ANY e remove os privilégios de CREATE e DROP nos objetos do schema 
a proteger e pronto, eles não mais serão capazes de alterar os objetos do 
schema a proteger
  
   []s
   
 Chiappa

--- Em oracle_br@yahoogrupos.com.br, "J. Laurindo Chiappa"  
escreveu
>
>   Neca : por definição um DBA tem diversos privilégio CREATE ANY (ANY TABLE, 
> ANY PROCEDURE, etc, etc) que lhe permite alterar qualquer Objeto de qualquer 
> schema... Nesse cenário, vc tem que :
> 
>  1. afaik a Única maneira 100% garantida de proibir alterações em objetos 
> programáticos é adquirir e instalar/configurar uma solução externa ao 
> database, que permita um lockdown : a Oracle fornece o Oracle database Vault, 
> veja mais dets em 
> http://www.oracle.com/technetwork/database/options/database-vault/index-085211.html,
>  e outros parceiros também tem as suas..
>  O ponto é que TODAS elas custam $$ extra...
>  
>  2. ao invés de impossibilitar, vc pode proibir alterações contratualmente ** 
> E ** :
>  
>a. Auditar o DBA e todo mundo, e aplicar uma Multa se a Auditoria 
> encontrar alterações
>
>e/ou
>
>b. se detectar alterações, bloquear a Aplicação : por exemplo, manter numa 
> tabela/arquivo da aplicação (provavelmente encriptado, com DBMS_CRYPTO ou 
> semelhante) a lista de propriedades dos objetos da Aplicação E a aplicação na 
> hora do startup consulta a DBA_OBJECTS e compara os dados da DBA_OBJECTS 
> contra essa tabela/arquivo - se houver diferenças na data de criação, 
> tamanho, ou seja o que for, É Evidência que alteraram os objetos da 
> Aplicaçãod, aí a Aplicação aborta/dá uma mensdagem pro usuário, coisa assim
>
>e/ou
>
>c. vc pode DIFICULTAR a alteração dos objetos, encriptando-os com WRAP : 
> isso não é Absolutamente e Completamente 100% seguro, mas é um bom começo - 
> não é algo simples vc alterar objetos wrapped e/ou os desencriptar ...
>
>  ==> A Oracle mesmo nos objetos internos dela (os do schema SYS) usa técnicas 
> derivadas das 3 alternativas acima, a, b e c 
> 
>   []s
> 
>Chiappa 
> 
> --- Em oracle_br@yahoogrupos.com.br, "Marcos"  escreveu
> >
> > Boa tarde
> > 
> > Srs tem como bloquear os objetos de um usuário pra que outros usuários não 
> > alterem?
> > 
> > Ex: tenho um usuário X (com triggers, packages etc) não gostaria que outro 
> > usuário tivesse acesso a esses objetos, inclusive o sys. o sistema é 
> > instalado no cliente e ele como dba, pode alterar algum objeto do meu 
> > sistema.
> > 
> > Não gostaria de usar o utilitário wrap.
> > 
> > Alguma sugestão?
> > 
> > Oracle 10g.
> > 
> > Marcos
> >
>




[oracle_br] Re: Bloquear objetos do banco

2013-10-31 Por tôpico J. Laurindo Chiappa
  Neca : por definição um DBA tem diversos privilégio CREATE ANY (ANY TABLE, 
ANY PROCEDURE, etc, etc) que lhe permite alterar qualquer Objeto de qualquer 
schema... Nesse cenário, vc tem que :

 1. afaik a Única maneira 100% garantida de proibir alterações em objetos 
programáticos é adquirir e instalar/configurar uma solução externa ao database, 
que permita um lockdown : a Oracle fornece o Oracle database Vault, veja mais 
dets em 
http://www.oracle.com/technetwork/database/options/database-vault/index-085211.html,
 e outros parceiros também tem as suas..
 O ponto é que TODAS elas custam $$ extra...
 
 2. ao invés de impossibilitar, vc pode proibir alterações contratualmente ** E 
** :
 
   a. Auditar o DBA e todo mundo, e aplicar uma Multa se a Auditoria encontrar 
alterações
   
   e/ou
   
   b. se detectar alterações, bloquear a Aplicação : por exemplo, manter numa 
tabela/arquivo da aplicação (provavelmente encriptado, com DBMS_CRYPTO ou 
semelhante) a lista de propriedades dos objetos da Aplicação E a aplicação na 
hora do startup consulta a DBA_OBJECTS e compara os dados da DBA_OBJECTS contra 
essa tabela/arquivo - se houver diferenças na data de criação, tamanho, ou seja 
o que for, É Evidência que alteraram os objetos da Aplicaçãod, aí a Aplicação 
aborta/dá uma mensdagem pro usuário, coisa assim
   
   e/ou
   
   c. vc pode DIFICULTAR a alteração dos objetos, encriptando-os com WRAP : 
isso não é Absolutamente e Completamente 100% seguro, mas é um bom começo - não 
é algo simples vc alterar objetos wrapped e/ou os desencriptar ...
   
 ==> A Oracle mesmo nos objetos internos dela (os do schema SYS) usa técnicas 
derivadas das 3 alternativas acima, a, b e c 

  []s

   Chiappa 

--- Em oracle_br@yahoogrupos.com.br, "Marcos"  escreveu
>
> Boa tarde
> 
> Srs tem como bloquear os objetos de um usuário pra que outros usuários não 
> alterem?
> 
> Ex: tenho um usuário X (com triggers, packages etc) não gostaria que outro 
> usuário tivesse acesso a esses objetos, inclusive o sys. o sistema é 
> instalado no cliente e ele como dba, pode alterar algum objeto do meu sistema.
> 
> Não gostaria de usar o utilitário wrap.
> 
> Alguma sugestão?
> 
> Oracle 10g.
> 
> Marcos
>