Compartilhando conhecimento com o mundo

Com tecnologia do Blogger.

Pesquisa

Download

Blogger Tricks

Blogger Themes

Visitas

Assuntos

6/09/2014

Usuários com acesso no banco Informix mais sem Cadastro no S.O


Depois de anos cadastrando/retirando acesso dos usuários no banco informix a equipe Informix resolveu fazer uma faxina geral das permissões nos bancos Informix, foi criado um script que faz a comparação entre o banco Informix e o Sistema Operacional, primeiro no banco Informix gera um arquivo das permissões dos usuários com CONNECT (dbschema) e compara com os usuários cadastrados no sistema operacional, no final temos dois relatórios que mostra as permissões (grants) e os (revokes) dos usuários com acesso no banco mais que não estão cadastrados no sistema operacional.

Download do Script Completo - Clique Aqui

Rodando o Script

Primeiro vamos rodar um script que checa no banco aa01055 os usuários com a permissão de CONNECT e que não tem estão cadastrados no Sistema Operacional;
[c099:informix]$/export/home/informix> ./remover_acesso_do_banco.sql 
Informando um Banco

Digito o nome do banco de dados;
-------------------------------------------------------------------------------------------------
09/06/2014                      ***** INFORMIX BASIC SERVICES *****                      14:12:33
-------------------------------------------------------------------------------------------------


Digite o NOME DO BANCO DE DADOS ..........:  aa01055 

Vamos aguardar alguns segundos;
-------------------------------------------------------------------------------------------------
09/06/2014                      ***** INFORMIX BASIC SERVICES *****                      14:14:01
-------------------------------------------------------------------------------------------------


                    +---------------------------------------------------------+
                    |                                                         |
                    |                 aguarde alguns segundos ...             |
                    |                                                         |
                    +---------------------------------------------------------+

Rodou com Sucesso

Feito, gerou os dois arquivos com os GRANTS e os REVOKES
-------------------------------------------------------------------------------------------------
09/06/2014                      ***** INFORMIX BASIC SERVICES *****                      14:15:19
-------------------------------------------------------------------------------------------------
                                       Database aa01055


     +---------------------------------------------------------------------------------------+
     |                                                                                       |
     |   Usuarios com acesso no banco mais sem usuario cadatrado no Sistema Operacional.     |
     |                                                                                       |
     +---------------------------------------------------------------------------------------+

                    +---------------------------------------------------------+
                    |                                                         |
                    | Arquivo do GRANTS  - GRANTS_09_06_2014_14:12:33.sql     |
                    |                                                         |
                    | Arquivo do REVOKES - REVOKE_09_06_2014_14:12:33.sql     |
                    |                                                         |
                    +---------------------------------------------------------+


[c099:informix]$/export/home/informix> 
Arquivo das Permissões - Grants

Verificando o arquivo dos grants dos usuários que não estão cadastrados no sistema operacional (e que tem permissão de connect no banco);
[c099:informix]$/export/home/informix> cat GRANTS_09_06_2014_14:23:30.sql
grant connect to "sehac";
grant connect to "semed";
grant update on "dba".guia_almoxarifado_cancelada_tmp to "sehac" as "dba";
grant insert on "dba".guia_almoxarifado_cancelada_tmp to "sehac" as "dba";
grant delete on "dba".guia_almoxarifado_cancelada_tmp to "sehac" as "dba";
grant update on "dba".guia_almoxarifado_cancelada to "sehac" as "dba";
grant insert on "dba".guia_almoxarifado_cancelada to "sehac" as "dba";
---- corte ---- 
Arquivo das Permissões - Revokes

O arquivo com os comandos revoke, este vou rodar no dbaccess para retirar os acessos;
[c099:informix]$/export/home/informix> cat REVOKE_09_06_2014_14:23:30.sql
revoke connect from "sehac";
revoke connect from "semed";
revoke update on "dba".guia_almoxarifado_cancelada_tmp from "sehac" as "dba";
revoke insert on "dba".guia_almoxarifado_cancelada_tmp from "sehac" as "dba";
revoke delete on "dba".guia_almoxarifado_cancelada_tmp from "sehac" as "dba";
revoke update on "dba".guia_almoxarifado_cancelada from "sehac" as "dba";
revoke insert on "dba".guia_almoxarifado_cancelada from "sehac" as "dba";
---- corte ---- 
Checando os Usuários

Só confirmando, esses dois usuários não estão cadastrados no sistema operacional do servidor;
[c099:informix]$/export/home/informix> finger sehac
finger: sehac: no such user.
[c099:informix]$/export/home/informix> finger semed
finger: semed: no such user.   
Rodando o Revoke

Vamos acessar o dbaccess do banco aa01055 e rodar o arquivo de REVOKE que vai remover as permissões dos usuários;
 [c099:informix]$/export/home/informix> dbaccess aa01055 
Acesso as opçoes > Query-language > Choose > seleciono o REVOKE_09_06_2014_14:12:33.sql
 CHOOSE >>
Choose a command file with the Arrow Keys, or enter a name, then press Return.

----------------------- aa01055@teste --------- Press CTRL-W for Help --------

 GRANTS_09_06_2014+  revoke

 REVOKE_09_06_2014+  tbl_sel

 
Enter em Run para rodar;
SQL:   New  Run  Modify  Use-editor  Output  Choose  Save  Info  Drop  Exit
Run the current SQL statements.

-- 1 to 52 of 3519 ---- aa01055@teste --------- Press CTRL-W for Help --------

revoke connect from "sehac";
revoke connect from "semed";
revoke update on "dba".guia_almoxarifado_cancelada_tmp from "sehac" as "dba";
revoke insert on "dba".guia_almoxarifado_cancelada_tmp from "sehac" as "dba";
revoke delete on "dba".guia_almoxarifado_cancelada_tmp from "sehac" as "dba";
revoke update on "dba".guia_almoxarifado_cancelada from "sehac" as "dba";
revoke insert on "dba".guia_almoxarifado_cancelada from "sehac" as "dba";
---- corte ---- 
Feito, retirado os acessos dos usuários; Observação

1 - Se no arquivo de revoke aparecer esta mensagem:
 [c099:informix]$/export/home/informix> cat REVOKE_09_06_2014_14:55:28.sql
    -p      permissions granted from user name
    -r      create and grant of the role  
Deve ter um connect em branco ou com um simbolo não valido - no meu caso foi um grant em branco que deu esta mensagem;
 grant connect to "";
2 - Neste servidor não usamos o PAM, que é um mecanismo para integrar múltiplos esquemas de autenticação de baixo nível no Informix (um bom exemplo de autenticação de PAM é habilitar a autenticação dos usuários via AD (da Microsoft), neste teste os usuários tem que estar cadastrado no sistema operacional para poder acessar o banco Informix;

0 comentários:

Enviar um comentário