RES: [oracle_br] Re: Como Desabilitar o Acesso ao meu Banco ?

2006-10-11 Por tôpico jlchiappa
Bem, é aquela tal negócio, normalmente necessidade de só acessar pela 
aplicação é causada por auditorias/regras de negócio sendo validadas 
na aplicação, no caso eu não sou favorável a isso pelas razões que 
direi abaixo, mas cada caso é um caso, e a aplicação é lá do cabal, 
se ele QUER trabalhar assim apesar dos pontos negativos que listarei, 
assim será...
 Quanto à v$session, é uma variação do "ter alguma coisa acessível ao 
banco alterada" que citei, sim esse "alguma coisa" pode ser uma 
coluna na v$session, só lembrando que :
 
 - NEM TODAS as linguagens/tools preenchem essa coluna
 - nos casos onde a coluna é preenchida, muitas vezes a 
linguagem/tool preenche com o nome do executável, assim bastaria o 
usuário renomear nomedoprogramaproibido.exe para 
nomedoprogramaqueépermitido.exe e tá lá dentro...
 
 Para enriquecer a thread, cito lá pro cabal que tendo 
auditorias/regras de negócio na aplicação ele :
 
 => perde algo em segurança : em as regras/auditoria/o que for 
estando na aplicação, cada tela, cada módulo que for "mexer" na 
tabela que precisa das regras TEM que chamar o código apropriado, 
basta o programador "esquecer" de fazer isso em UM ÚNICO módulo, uma 
ÚNICA tela entre as (talvez) centenas do seu sistema , que a 
integridade da regra de negócio/auditoria/o que for já era
 
 => perde em flexibilidade : em tudo estando no banco, a qualquer 
momento o DBA, autorizado por quem de direito, pode dropar, recriar, 
alterar em um estalo... Imagine que não foi feito assim e daí surge a 
necessidade da regra x de negócio ser alterada, TOCA a editar, 
alterar, compilar as n+1 telas/módulos onde a tal regra esteja...
 
e derivados


===
Participe do ENPO - Encontro de Profissionais Oracle 2006 ! 
Informações e inscrições em www.enpo-br.org
José Laurindo Chiappa, Palestrante ENPO-2006
===

--- Em oracle_br@yahoogrupos.com.br, "Anderson Haertel Rodrigues - 
FLN" <[EMAIL PROTECTED]> escreveu
>
> Tarde,
>  
> Eu penso um pouco diferente e tenho uma outra dica.
>  
> Buenas, 100% de segurança não vai existir, por que, mesmo sendo 
feita uma verificação via trigger de logon, este código está na mão do
(s) DBA(s) do Banco. Com isso, deve-se ter confiança na(s) pessoa(s) 
que administram (ou deveriam administrar) o Banco de Dados. Este 
ponto "resolvido", uma trigger de logon onde se testa o nome do 
programa que está se conectando (v$session.program) pode começar a 
garantir a tua segurança.
>  
> A dica, é pouco usado (no Oracle), mas Application Role é indicado 
para essa situação. Dê uma lida em: Security Overview.pdf e descubra 
o que está "feature" pode fazer para te ajudar.
>  
> Atenciosamente,
> 
> Anderson Haertel Rodrigues
> Administrador de Banco de Dados
> Florianópolis/SC - [EMAIL PROTECTED] 
> 
> -Mensagem original-
> De: oracle_br@yahoogrupos.com.br 
[mailto:[EMAIL PROTECTED] nome de jlchiappa
> Enviada em: quarta-feira, 11 de outubro de 2006 13:22
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] Re: Como Desabilitar o Acesso ao meu Banco ?
> 
> 
> Colega, seguinte : 100% garantido, de modo fácil e nativo, NÃO TEM 
> COMO fazer isso : como já dito n+1! vezes aqui no grupo mesmo, há 
> literalmente CENTENAS de linguagens/tools/aplicativos (inclusive 
> freewares!, inclusive aplicativos tipo Word/Excell) que podem 
> conectar no banco, isso torna BEM DIFÍCIL, absolutamente não dá pra 
> garantir um bloqueio desse tipo 100%. E ** MAIS **, numa aplicação 
> bem resolvida e bem-comportada, as regras de negócio, limites de 
uso 
> das tabelas, auditoria, etc, etc, etc, estão TODAS dentro do banco 
> (via triggers/profiles/auditoria Oracle, etc), então absolutamente  
> *** NÃO DEVERIA IMPORTAR *** com o que o usuário conecta, ok ? 
> Solicitações de bloqueio desse tipo TIPICAMENTE são feitas quando 
há 
> regra de negócio, auditoria, etc, sendo feita DENTRO DA APLICAÇÂO, 
o 
> que não é DE FORMA ALGUMA recomendável, é mesmo um "bug" isso, que 
> deveria ser é corrigido, imho...
> 
> Isto posto, a resposta : uma possibilidade comum é vc ter no 
programa 
> de entrada do seu sistema uma rotina que faz "alguma coisa" não-
> default (por exemplo, cria um arquivo, cria uma var.global, insere 
> numa tabela, o que for), num meio e local ACESSÍVEL AO BANCO, e ter 
> no banco uma trigger de LOGON, e nessa trigger vc checa se 
a "coisa" 
> está feita, se sim ok, se não aborta-se o logon. Outra 
possibilidade 
> é os usuários Oracle ** não ** terem privilégios de acesso a nada 
por 
> default e apenas o aplicativo , na primeira "tela" do sistema, dar 
> esse acesso, talvez com roles não-default e protegidas por s

RES: [oracle_br] Re: Como Desabilitar o Acesso ao meu Banco ?

2006-10-11 Por tôpico Anderson Haertel Rodrigues - FLN
Tarde,
 
São pontos de vistas diferentes, isto é fato. O problema é que não pensei no 
rename do .EXE, bem lembrado. De resto caímos no problema de confiança no DBA 
(que também citei, e falamos a mesma coisa).
 
Insisto ainda o colega ler com calma Application Role (.pdf citado, lá 
embaixo), é uma boa saída.
 
Atenciosamente,

Anderson Haertel Rodrigues
Administrador de Banco de Dados
Florianópolis/SC - [EMAIL PROTECTED] 

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de jlchiappa
Enviada em: quarta-feira, 11 de outubro de 2006 15:32
Para: oracle_br@yahoogrupos.com.br
Assunto: RES: [oracle_br] Re: Como Desabilitar o Acesso ao meu Banco ?


Bem, é aquela tal negócio, normalmente necessidade de só acessar pela 
aplicação é causada por auditorias/regras de negócio sendo validadas 
na aplicação, no caso eu não sou favorável a isso pelas razões que 
direi abaixo, mas cada caso é um caso, e a aplicação é lá do cabal, 
se ele QUER trabalhar assim apesar dos pontos negativos que listarei, 
assim será...
Quanto à v$session, é uma variação do "ter alguma coisa acessível ao 
banco alterada" que citei, sim esse "alguma coisa" pode ser uma 
coluna na v$session, só lembrando que :

- NEM TODAS as linguagens/tools preenchem essa coluna
- nos casos onde a coluna é preenchida, muitas vezes a 
linguagem/tool preenche com o nome do executável, assim bastaria o 
usuário renomear nomedoprogramaproibido.exe para 
nomedoprogramaqueépermitido.exe e tá lá dentro...

Para enriquecer a thread, cito lá pro cabal que tendo 
auditorias/regras de negócio na aplicação ele :

=> perde algo em segurança : em as regras/auditoria/o que for 
estando na aplicação, cada tela, cada módulo que for "mexer" na 
tabela que precisa das regras TEM que chamar o código apropriado, 
basta o programador "esquecer" de fazer isso em UM ÚNICO módulo, uma 
ÚNICA tela entre as (talvez) centenas do seu sistema , que a 
integridade da regra de negócio/auditoria/o que for já era

=> perde em flexibilidade : em tudo estando no banco, a qualquer 
momento o DBA, autorizado por quem de direito, pode dropar, recriar, 
alterar em um estalo... Imagine que não foi feito assim e daí surge a 
necessidade da regra x de negócio ser alterada, TOCA a editar, 
alterar, compilar as n+1 telas/módulos onde a tal regra esteja...

e derivados


===
Participe do ENPO - Encontro de Profissionais Oracle 2006 ! 
Informações e inscrições em www.enpo-br.org
José Laurindo Chiappa, Palestrante ENPO-2006
===

--- Em oracle_br@yahoogrupos.com.br, "Anderson Haertel Rodrigues - 
FLN" <[EMAIL PROTECTED]> escreveu
>
> Tarde,
>  
> Eu penso um pouco diferente e tenho uma outra dica.
>  
> Buenas, 100% de segurança não vai existir, por que, mesmo sendo 
feita uma verificação via trigger de logon, este código está na mão do
(s) DBA(s) do Banco. Com isso, deve-se ter confiança na(s) pessoa(s) 
que administram (ou deveriam administrar) o Banco de Dados. Este 
ponto "resolvido", uma trigger de logon onde se testa o nome do 
programa que está se conectando (v$session.program) pode começar a 
garantir a tua segurança.
>  
> A dica, é pouco usado (no Oracle), mas Application Role é indicado 
para essa situação. Dê uma lida em: Security Overview.pdf e descubra 
o que está "feature" pode fazer para te ajudar.
>  
> Atenciosamente,
> 
> Anderson Haertel Rodrigues
> Administrador de Banco de Dados
> Florianópolis/SC - [EMAIL PROTECTED] 
> 
> -Mensagem original-
> De: oracle_br@yahoogrupos.com.br 
[mailto:[EMAIL PROTECTED] nome de jlchiappa
> Enviada em: quarta-feira, 11 de outubro de 2006 13:22
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] Re: Como Desabilitar o Acesso ao meu Banco ?
> 
> 
> Colega, seguinte : 100% garantido, de modo fácil e nativo, NÃO TEM 
> COMO fazer isso : como já dito n+1! vezes aqui no grupo mesmo, há 
> literalmente CENTENAS de linguagens/tools/aplicativos (inclusive 
> freewares!, inclusive aplicativos tipo Word/Excell) que podem 
> conectar no banco, isso torna BEM DIFÍCIL, absolutamente não dá pra 
> garantir um bloqueio desse tipo 100%. E ** MAIS **, numa aplicação 
> bem resolvida e bem-comportada, as regras de negócio, limites de 
uso 
> das tabelas, auditoria, etc, etc, etc, estão TODAS dentro do banco 
> (via triggers/profiles/auditoria Oracle, etc), então absolutamente  
> *** NÃO DEVERIA IMPORTAR *** com o que o usuário conecta, ok ? 
> Solicitações de bloqueio desse tipo TIPICAMENTE são feitas quando 
há 
> regra de negócio, auditoria, etc, sendo feita DENTRO DA APLICAÇÂO, 
o 
> que não é DE FORMA ALGUMA recomendável, é mesmo um "bug" isso, que 
> deveria ser é corrigido, imho...
> 
> I

RES: [oracle_br] Re: Como Desabilitar o Acesso ao meu Banco ?

2006-10-11 Por tôpico Anderson Haertel Rodrigues - FLN
Tarde,
 
Eu penso um pouco diferente e tenho uma outra dica.
 
Buenas, 100% de segurança não vai existir, por que, mesmo sendo feita uma 
verificação via trigger de logon, este código está na mão do(s) DBA(s) do 
Banco. Com isso, deve-se ter confiança na(s) pessoa(s) que administram (ou 
deveriam administrar) o Banco de Dados. Este ponto "resolvido", uma trigger de 
logon onde se testa o nome do programa que está se conectando 
(v$session.program) pode começar a garantir a tua segurança.
 
A dica, é pouco usado (no Oracle), mas Application Role é indicado para essa 
situação. Dê uma lida em: Security Overview.pdf e descubra o que está "feature" 
pode fazer para te ajudar.
 
Atenciosamente,

Anderson Haertel Rodrigues
Administrador de Banco de Dados
Florianópolis/SC - [EMAIL PROTECTED] 

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de jlchiappa
Enviada em: quarta-feira, 11 de outubro de 2006 13:22
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Re: Como Desabilitar o Acesso ao meu Banco ?


Colega, seguinte : 100% garantido, de modo fácil e nativo, NÃO TEM 
COMO fazer isso : como já dito n+1! vezes aqui no grupo mesmo, há 
literalmente CENTENAS de linguagens/tools/aplicativos (inclusive 
freewares!, inclusive aplicativos tipo Word/Excell) que podem 
conectar no banco, isso torna BEM DIFÍCIL, absolutamente não dá pra 
garantir um bloqueio desse tipo 100%. E ** MAIS **, numa aplicação 
bem resolvida e bem-comportada, as regras de negócio, limites de uso 
das tabelas, auditoria, etc, etc, etc, estão TODAS dentro do banco 
(via triggers/profiles/auditoria Oracle, etc), então absolutamente  
*** NÃO DEVERIA IMPORTAR *** com o que o usuário conecta, ok ? 
Solicitações de bloqueio desse tipo TIPICAMENTE são feitas quando há 
regra de negócio, auditoria, etc, sendo feita DENTRO DA APLICAÇÂO, o 
que não é DE FORMA ALGUMA recomendável, é mesmo um "bug" isso, que 
deveria ser é corrigido, imho...

Isto posto, a resposta : uma possibilidade comum é vc ter no programa 
de entrada do seu sistema uma rotina que faz "alguma coisa" não-
default (por exemplo, cria um arquivo, cria uma var.global, insere 
numa tabela, o que for), num meio e local ACESSÍVEL AO BANCO, e ter 
no banco uma trigger de LOGON, e nessa trigger vc checa se a "coisa" 
está feita, se sim ok, se não aborta-se o logon. Outra possibilidade 
é os usuários Oracle ** não ** terem privilégios de acesso a nada por 
default e apenas o aplicativo , na primeira "tela" do sistema, dar 
esse acesso, talvez com roles não-default e protegidas por senha que 
a "tela" habilite.  ==> Mas é claro, NADA DISSO é 100% seguro, 
recomendável, não...


===
Participe do ENPO - Encontro de Profissionais Oracle 2006 ! 
Informações e inscrições em www.enpo-br.org
José Laurindo Chiappa, Palestrante ENPO-2006
===

--- Em oracle_br@yahoogrupos.com.br, "cabal_o" <[EMAIL PROTECTED]> escreveu
>
> Gostaria de saber como desabilitar o acesso ao meu banco da 
seguinte 
> forma:
> Só permitir o acesso ao banco caso seja através de um programa 
> específico(ex. programas de vendas).
> Se o usuário tentasse logar com o sqlplus ou outros desse, não 
fosse 
> liberado o acesso a ele.
> valeu galera.
>




 



[As partes desta mensagem que não continham texto foram removidas]



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__
Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 "Vagas Limitadas"
__
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




[oracle_br] Re: Como Desabilitar o Acesso ao meu Banco ?

2006-10-11 Por tôpico jlchiappa
Colega, seguinte : 100% garantido, de modo fácil e nativo, NÃO TEM 
COMO fazer isso : como já dito n+1! vezes aqui no grupo mesmo, há 
literalmente CENTENAS de linguagens/tools/aplicativos (inclusive 
freewares!, inclusive aplicativos tipo Word/Excell) que podem 
conectar no banco, isso torna BEM DIFÍCIL, absolutamente não dá pra 
garantir um bloqueio desse tipo 100%. E ** MAIS **, numa aplicação 
bem resolvida e bem-comportada, as regras de negócio, limites de uso 
das tabelas, auditoria, etc, etc, etc, estão TODAS dentro do banco 
(via triggers/profiles/auditoria Oracle, etc), então absolutamente  
*** NÃO DEVERIA IMPORTAR *** com o que o usuário conecta, ok ? 
Solicitações de bloqueio desse tipo TIPICAMENTE são feitas quando há 
regra de negócio, auditoria, etc, sendo feita DENTRO DA APLICAÇÂO, o 
que não é DE FORMA ALGUMA recomendável, é mesmo um "bug" isso, que 
deveria ser é corrigido, imho...

Isto posto, a resposta : uma possibilidade comum é vc ter no programa 
de entrada do seu sistema uma rotina que faz "alguma coisa" não-
default (por exemplo, cria um arquivo, cria uma var.global, insere 
numa tabela, o que for), num meio e local ACESSÍVEL AO BANCO, e ter 
no banco uma trigger de LOGON, e nessa trigger vc checa se a "coisa" 
está feita, se sim ok, se não aborta-se o logon. Outra possibilidade 
é os usuários Oracle ** não ** terem privilégios de acesso a nada por 
default e apenas o aplicativo , na primeira "tela" do sistema, dar 
esse acesso, talvez com roles não-default e protegidas por senha que 
a "tela" habilite.  ==> Mas é claro, NADA DISSO é 100% seguro, 
recomendável, não...


===
Participe do ENPO - Encontro de Profissionais Oracle 2006 ! 
Informações e inscrições em www.enpo-br.org
José Laurindo Chiappa, Palestrante ENPO-2006
===

--- Em oracle_br@yahoogrupos.com.br, "cabal_o" <[EMAIL PROTECTED]> escreveu
>
> Gostaria de saber como desabilitar o acesso ao meu banco da 
seguinte 
> forma:
> Só permitir o acesso ao banco caso seja através de um programa 
> específico(ex. programas de vendas).
> Se o usuário tentasse logar com o sqlplus ou outros desse, não 
fosse 
> liberado o acesso a ele.
> valeu galera.
>






--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__
Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 "Vagas Limitadas"
__
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html