[firebase-br] [Spam] Excluir SYSDBA

Kléber Caneva kdcc em terra.com.br
Ter Abr 11 15:43:29 -03 2006


Ainda prefiro inviabilizar o acesso ao arquivo FDB, atráves das diretivas do 
S.O.

[]´s

Kléber Caneva

----- Original Message ----- 
From: ".:. Enio Marconcini .:. 1010011010 .:." <eniorm em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, April 11, 2006 1:29 PM
Subject: [Spam] [firebase-br] Excluir SYSDBA


Interessante texto que rolou na lista Delphi-BR, resolvi encaminhar para
essa lista, talvez possa ser uma mão na roda em segurança de db para quem
talvez precise.


Para burla SYSDBA está também funciona..



Primeiro acesse o IBExpert ou qualquer outra ferramenta que preferir criamos
então um usuário qualquer exemplo: "PROTEGIDO" e coloque uma senha de sua
preferencia exemplo: "123456"

Logo após crie um banco de dados com o usuário "PROTEGIDO"
Exemplo: create database 'C:\\teste.gbd' page_size 1024 user 'PROTEGIDO'
password '123456';

Crie também um Role para SYSDBA.

CREATE ROLE SYSDBA;


Apatir daqui vamos garantir os direitos do usuário 'PROTEGIDO' e revogar
todos os direitos do usuário 'SYSDBA'.

Os comandos que devem ser executados são os seguintes:

GRANT ALL ON CLIENTES TO PROTEGIDO WITH GRANT OPTION;
REVOKE ALL ON CLIENTES FROM PUBLIC;
GRANT  ALL ON FORNEC TO PROTEGIDO WITH GRANT OPTION;
REVOKE ALL ON CLIENTES FROM PUBLIC;

Atenção !!!
Estes comando devem ser repetidos para cada tabela criada no seu banco de
dados, isso que vai garantir o seu acesso total as tabelas.

Feito isso vamos mais alem os direitos de cria qualquer coisa, como
SP,Trigger,Funçoes, indices, etc.
Para este banco também ficará restrito ao usuário 'PROTEGIDO'

Vejamos como:

GRANT ALL ON RDB$CHARACTER_SETS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$CHECK_CONSTRAINTS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$COLLATIONS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$DATABASE TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$DEPENDENCIES TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$EXCEPTIONS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$FIELDS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$FIELD_DIMENSIONS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$FILES TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$FILTERS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$FORMATS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$FUNCTIONS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$FUNCTION_ARGUMENTS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$GENERATORS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$INDEX_SEGMENTS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$INDICES TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$LOG_FILES TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$PAGES TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$PROCEDURES TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$PROCEDURE_PARAMETERS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$REF_CONSTRAINTS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$RELATIONS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$RELATION_CONSTRAINTS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$RELATION_FIELDS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$ROLES TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$SECURITY_CLASSES TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$TRANSACTIONS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$TRIGGERS TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$TRIGGER_MESSAGES TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$TYPES TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$USER_PRIVILEGES TO PROTEGIGO WITH GRANT OPTION;
GRANT ALL ON RDB$VIEW_RELATIONS TO PROTEGIGO WITH GRANT OPTION;

REVOKE ALL ON RDB$CHARACTER_SETS FROM PUBLIC;
REVOKE ALL ON RDB$CHECK_CONSTRAINTS FROM PUBLIC;
REVOKE ALL ON RDB$COLLATIONS FROM PUBLIC;
REVOKE ALL ON RDB$DATABASE FROM PUBLIC;
REVOKE ALL ON RDB$DEPENDENCIES FROM PUBLIC;
REVOKE ALL ON RDB$EXCEPTIONS FROM PUBLIC;
REVOKE ALL ON RDB$FIELDS FROM PUBLIC;
REVOKE ALL ON RDB$FIELD_DIMENSIONS FROM PUBLIC;
REVOKE ALL ON RDB$FILES FROM PUBLIC;
REVOKE ALL ON RDB$FILTERS FROM PUBLIC;
REVOKE ALL ON RDB$FORMATS FROM PUBLIC;
REVOKE ALL ON RDB$FUNCTIONS FROM PUBLIC;
REVOKE ALL ON RDB$FUNCTION_ARGUMENTS FROM PUBLIC;
REVOKE ALL ON RDB$GENERATORS FROM PUBLIC;
REVOKE ALL ON RDB$INDEX_SEGMENTS FROM PUBLIC;
REVOKE ALL ON RDB$INDICES FROM PUBLIC;
REVOKE ALL ON RDB$LOG_FILES FROM PUBLIC;
REVOKE ALL ON RDB$PAGES FROM PUBLIC;
REVOKE ALL ON RDB$PROCEDURES FROM PUBLIC;
REVOKE ALL ON RDB$PROCEDURE_PARAMETERS FROM PUBLIC;
REVOKE ALL ON RDB$REF_CONSTRAINTS FROM PUBLIC;
REVOKE ALL ON RDB$RELATIONS FROM PUBLIC;
REVOKE ALL ON RDB$RELATION_CONSTRAINTS FROM PUBLIC;
REVOKE ALL ON RDB$RELATION_FIELDS FROM PUBLIC;
REVOKE ALL ON RDB$ROLES FROM PUBLIC;
REVOKE ALL ON RDB$SECURITY_CLASSES FROM PUBLIC;
REVOKE ALL ON RDB$TRANSACTIONS FROM PUBLIC;
REVOKE ALL ON RDB$TRIGGERS FROM PUBLIC;
REVOKE ALL ON RDB$TRIGGER_MESSAGES FROM PUBLIC;
REVOKE ALL ON RDB$TYPES FROM PUBLIC;
REVOKE ALL ON RDB$USER_PRIVILEGES FROM PUBLIC;
REVOKE ALL ON RDB$VIEW_RELATIONS FROM PUBLIC;


Pronto está tudo feito, se o usuário SYSDBA tentar acessar o banco de dados
criado pelo usuário 'PROTEGIDO' o mesmo irá repudia-lo mesmo que se copie
este banco de dados para outro computador.

Mas como nem tudo é perfeito vamos ver uma pequena pedra de tropeço. Se
copiamos o banco para outro computador ele realmente não será aberto pelo
usuário 'SYSDBA' porem se eu criar o mesmo usuário chamado 'PROTEGIDO' e até
mesmo colocar uma senha diferente ele permitira que o mesmo seja aberto
tranqüilamente.

Portando nada disso feito valerá se você  falar qual foi usuário que você
usou para criar ou seu banco de dados ou até mesmo se tem vários usuários
que tem a sua senha 'SYSDBA' e possa ver qual usuário que você criou no seu
computador.

Espero que tenha ajudados vocês abraços !!!


Mario Lucio
Analista / Programador



--
ENIO RODRIGO MARCONCINI
.:. msnm: eniorm em gmail.com .:.
.:. skype: eniorm .:.
http://www.google.com/images/art.gif





















[ www.iot.org.br ]
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1144773535.527032.9015.vacoas.hst.terra.com.br,9074,20031127114101,20031127114101

Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 11/04/2006 / Versão: 
4.4.00/4738
Proteja o seu e-mail Terra: http://mail.terra.com.br/








Mais detalhes sobre a lista de discussão lista