Sie sind auf Seite 1von 10

REVISTA DE CINCIAS EXATAS E TECNOLOGIA

AUDITORIA EM BANCO DE DADOS COM UTILIZAO DE REGRAS

Eder Pazinatto Faculdade Anhanguera de Passo Fundo

RESUMO: A busca por mecanismos que implementam segurana nos sistemas e


aplicaes que envolvem banco de dados cada vez maior. Um das formas de prover
essa segurana e controle dos dados atravs da auditoria de banco de dados. Os
Sistemas Gerenciadores de Banco de Dados(SGBDs) possuem recursos para a
implementao de tcnicas de auditoria. O PostgreSQL implementa rules (regras) que
possibilitam auditar o banco de dados registrando alteraes (ou tentativas) feitas nos
dados, informao de quem o alterou e quando este dado foi alterado. No PostgreSQL
uma regra de auditoria sobre uma tabela facilmente criada atravs de comandos
SQL(Structured Query Language). Depois de criada, a regra passa a auditar de forma
automtica (sem interveno humana) as operaes realizadas sobre os dados. As rules
do PostgreSQL representam um recurso simples e eficiente que os administradores de
banco de dados podem utilizar para fazer auditaria em banco de dados.

PALAVRAS-CHAVE:
banco de dados; auditoria; regras;
segurana

KEYWORDS:
database; audit; rules; security

ABSTRACT: The search for mechanisms that implement security in the systems and
applications that involve database is every time more important. One of the ways
of providing that security and control of the data is through the database audit. The
Database Management System (DBMS) has resources for the implementation of audit
techniques. PostgreSQL implements rules that make it possible to audit the database
registering changes (or tries) done in the data, information about who changed it and
when it was changed. In PostgreSQL an audit rule on a table is easily created through
commands SQL(Structured Query Language). After being created, the rule starts
auditing the operations accomplished on the data in an automatic way (without human
intervention). The rules of PostgreSQL represent a simple and efficient resource that
the database administrators can use to audit database

Artigo Original
Recebido em:23/10/2009
Avaliado em: 14/12/2010
Publicado em: 22/04/2014
Publicao
Anhanguera Educacional Ltda.
Coordenao
Instituto de Pesquisas Aplicadas e
Desenvolvimento Educacional - IPADE
Correspondncia
rc.ipade@anhanguera.com
v.5 n.5 2010 p.91-100

Auditoria em banco de dados com utilizao de regras

1. INTRODUO
Atualmente nas empresas a informao torna-se cada vez mais importante, e o volume de
dados que geram a informao aumentam de forma exponencial a cada ano. No processo de
gesto e gerenciamento de informaes, vrias tecnologias so usadas com adoo de banco
de dados.
O uso das informaes, facilitado pelo avano da Tecnologia de Informao e
Comunicao (TIC), passa a ter papel fundamental nas organizaes, possibilitando melhor
percepo das mudanas, maior flexibilidade e agilidade nas operaes (FERREIRA;
ASSUMPO, 2005). No gerenciamento dessas informaes com a TIC, vrios elementos
so envolvidos na estrutura dos dados.
A utilizao de banco de dados fundamental para que o processo de gerao de
informaes seja mantido de forma ntegra. O armazenamento e a recuperao de informaes
precisam ser feitas de forma gil e eficiente (LAUDON; LAUDON, 2007). Nesse processo,
a gesto dos dados e a segurana da informao devem ser vistos como componentes de
um sistema mais amplo que objetiva suportar o crescimento organizado das empresas, a
definio de estratgia e o fomento da governana corporativa.
A informao um ativo muito valioso para as empresas, sujeita a um volume enorme
de ameaas que pode colocar em risco a continuidade do negcio (OLIVEIRA, 2006).
Portanto, as empresas esto cada vez mais sujeitas a agentes que podem provocar vazamento
de conhecimento, indisponibilidade de servios, de documentos ou informao relevante.
As empresas enfrentam um mercado altamente competitivo, globalizado e turbulento
(FRANCO, 2009). Essa situao pode gerar necessidades de adequao e ajustes dentro de
suas operaes e processos do cotidiano, levando em considerao carncias dos processos
internos e/ou externas em que esto inseridas. Nesse sentido, as organizaes precisam de
segurana nos dados, para que informaes e conhecimentos possam auxiliar com segurana
os processos decisrios e sua gesto.
No processo de organizao, gerenciamento e segurana de dados para o processo de
gesto, existem vrias tecnologias e ferramentas de banco de dados que podem executar
esse papel. Contudo, essas tecnologias precisam ser implementadas e bem gerenciadas para
que possam fornecer o resultado esperado.
O objetivo desse artigo apresentar uma abordagem para auditoria da base de dados,
representada em forma de tabelas estruturadas no banco de dados. Para isso, apresentada
uma explanao geral sobre as ferramentas e tcnicas disponveis para realizao da
auditoria de servios e operaes realizadas na base de dados.

92

Revista de Cincias Exatas e Tecnologia

Eder Pazinatto

2. BANCO DE DADOS
Um banco de dados uma coleo de dados relacionados (ELMASRI, 2005). Podemos
considerar que os dados so fatos que podem ser gravados e possuem um significado
para determinado fim (e/ou aplicao). Os dados so armazenados de forma estruturada,
facilitando sua organizao e posteriormente sua recuperao.
A organizao de um banco de dados est conforme seu modelo de dados. Um modelo de
dados fornece detalhes de armazenamento dos dados (SILBERSCHATZ; KORTH, 2005). No
modelo de dados esto descritos os tipos de dados, relacionamentos e estruturas que devem
suportar os dados.
Para implementao, h uma coleo de programas que permitem os usurios criar e
manter um banco de dados, esse programas so conhecidos como Sistemas Gerenciadores
de Banco de Dados (SGBDs). O SGBD um sistema de software de propsito geral que
facilita os processo de definio, construo, manipulao e compartilhamento de banco de
dados entre vrios usurios e aplicaes (ELMASRI, 2005).
Os Sistemas Gerenciadores de Banco de Dados proporcionam uma camada de
software para trabalhar diretamente com os dados no banco de dados. Essa camada facilita
o gerenciamento, definio das funcionalidades e criao de usurios com diferentes
permisses de acesso e modificao de dados. Esses diferentes nveis de usurios
proporcionam segurana e facilitam o gerenciamento e auditoria sobre a base de dados.
Dentre esses usurios destaca-se a figura do Administrador do Banco de Dados(DBA),
usurio que possui todas as permisses de acesso ao banco de dados.
A segurana em banco de dados uma rea bastante ampla que se refere a muitas
questes (ELMASRI, 2005). Essas questes podem ser: legais ou ticas referentes ao acesso
a certas informaes; questes polticas com a definio de quais informaes no podem
ser tornadas pblicas; e questes relacionadas a sistemas, com definio de quais nveis do
sistema as funes de segurana devem ser implementadas. O DBA o responsvel pela
segurana geral do sistema de banco de dados. Aes como criao de usurios/contas,
concesso de privilgios e atribuio de nveis de segurana so de responsabilidade direta do
DBA.Conforme a metodologia aplicada, tm-se modelos diferentes para definir a estrutura
do modelo de dados. Entre esses modelos, encontram-se o relacional, em rede, hierrquico,
Objeto-Relacional e orientado a objetos (SILBERSCHATZ; KORTH, 2005). Para cada modelo
existem caractersticas especficas de modelagem e softwares de Sistemas Gerenciadores de
Banco de Dados usados para implementao.
Com pesquisas e descobertas de novas tecnologias as empresas desenvolvedoras ou
comunidades que mantm Sistemas Gerenciadores de Banco de Dados esto avanando
com solues inovadoras e maiores possibilidades no processo de gerenciamentos de banco
de dados. Hoje, h vrias opes de sistemas de gerenciamento que necessitam de licenas
v.5 n.5 2010 p.91-100

93

Auditoria em banco de dados com utilizao de regras

para uso tais como Oracle, IBM DB2, Microsoft SQL Server ou gratuitas como MySQL ou
PostgreSQL.
Independente do sistema gerenciador de banco de dados, todos apresentam vrias
tecnologias e funes para melhorar gerenciar e auditar os dados e usurios. As solues
livres, como o PostgreSQL, apresentam alternativas suficientes para implementar recursos
para a melhor gesto dos dados. Dentre as funes implementadas pelos SGBDs, a auditoria
usada para gerenciamento e controle de operaes no banco de dados.

2.1 Auditoria
A auditoria um processo de exame, sistemtico e independente das atividades desenvolvidas
com o objetivo de averiguar se elas esto de acordo com as disposies planejadas e/ou
estabelecidas previamente (PADOVEZE, 2004). Na computao, especificamente na rea
de banco de dados, a auditoria est relacionada ao processo de identificao e proteo do
banco contra pessoas que no esto autorizadas a acessar determinadas partes ou todo o
bando de dados.
A atividade de auditoria do banco de dados realizada geralmente pelo DBA. Dentre
as vrias atividades desenvolvidas pelo administrador uma das mais importantes o
diagnstico de problemas de execuo do SGBD e o monitoramente das operaes realizadas
pelos usurios do banco de dados (MEDEIROS, 2006).
O SGBD deve prover mecanismos que permitam o DBA auditar o banco de dados.
Dentre esses mecanismos o DBA deve ter acesso aos comandos que foram executados, com a
finalidade de diagnosticar eventuais excluses e alteraes indevidas nos dados. Conforme
o nvel de segurana, tambm deve ser possvel identificar tentativas de alteraes na base
de dados.
Uma soluo simples de auditoria a implementao de Logs que gravam as operaes
realizadas no servidor de banco de dados em arquivos, permitindo posteriormente a
visualizao de todas as atividades no servidor. O Log uma seqncia de registros que
mantm um arquivo atualizado das atividades no banco de dados (SILBERSCHATZ;
KORTH, 2005).
Outra forma para realizao de auditoria atravs de regras (ELMASRI, 2005). As
regras podem ser criadas (ou acionadas) no SGBD e ento os registros de auditoria podem ser
gravados em uma tabela fsica no banco de dados, criada especialmente para essa finalidade.
Esse tipo de auditoria pode ser usado com comando de manipulao do banco de dados
(DML Data Manipulation Language, como Insert, Update e Delete) ou comandos de definio
do banco de dados (DDL- Data Definition Language, como Create, Drop e Alter). A auditoria
com comandos DDL tambm conhecida como auditoria de mudanas de estrutura.
As regras so implementadas por vrios SGBDs, com algumas especificidades

94

Revista de Cincias Exatas e Tecnologia

Eder Pazinatto

particulares a cada SGBD. No PostgreSQL h um sistema de regras (rule system) que oferece
recursos e a possibilidade de implementar determinadas regras (Rules) de negcio para a
aplicao.

3. UTILIZAO DE RULES PARA AUDITORIA EM BANCO DE DADOS


Atualmente as organizaes possuem a necessidade de que todas operaes (ou grande
parte delas), executadas no banco de dados, sejam auditadas posteriormente. Prticas de
auditoria so comuns e muito teis no processo de segurana, identificao de discrepncias
na base ou no processo de correo de problemas, s vezes gerados por bugs na aplicao.
No PostgreSQL na verso 8.3, as rules assim como os triggers(gatilhos), so chamadas
de regras e so acionadas quando um determinado evento ocorrer em uma tabela do
banco de dados. Apesar de desempenharem funes semelhantes rules e triggers possuem
diferenas fundamentais (GUEDES, 2005). Por exemplo: com a realizao de um comando
uma rule executada uma nica vez, ao contrrio dos triggers que so executados para cada
linha afetada pelo comando que o disparou.
O trigger um recurso de programao presente na maioria dos SGBDs. Ele utilizado
para associar um procedimento a um evento do banco de dados (incluso, excluso,
atualizao, etc..) de modo qu e o procedimento seja executado automaticamente sempre
que o evento associado ocorrer (BUENO; SILVA, 2006).
A auditoria de um banco de dados pode ser implementada com a utilizao de uma
rule, por exemplo, com a regra que registre todas as operaes de alteraes (ou tentativas)
do campo salrio da tabela de funcionrios de uma empresa. Assim que o usurio do banco
de dados tentar atualizar a tabela com o novo valor de salrio, uma rule disparada e
todas as informaes deste processo so registradas no banco de dados em uma tabela de
auditoria, sem que a alterao seja efetivada na tabela de funcionrios e de forma oculta ao
usurio que realizou a ao de atualizao.
Na implementao da auditoria com rules, foi considerada como base uma tabela
simples, chamada Funcionrio (Tabela 1), com a finalidade de armazenar os dados dos
funcionrios de uma empresa.
Tabela 1 Estrutura da tabela Funcionrio

Funcionrio
id_func
nome
data_adm
cargo
salario

integer
varchar(40)
date
varchar(20)
numeric

v.5 n.5 2010 p.91-100

95

Auditoria em banco de dados com utilizao de regras

A implementao do processo de auditoria foi realizada com uso de SGBD PostgreSQL


- verso 8.3 e com a ferramenta de administrao PgAdmin III verso 1.8.4, conforme
apresentado na Figura1.

Figura 1 Tabela Funcionario implementada no PostgreSQL

A tabela Funcionario possui cinco campos: identificao do funcionrio(id_func);


nome; data de admisso(data_adm); cargo e salrio.
O prximo passo foi criar uma tabela de auditoria Func_auditoria (Tabela 2), que
armazena as informaes da auditoria de acessos aos dados, alteraes ou tentativas de
usurios sem permisso. Essa tabela possui os seguintes campos: nmero de identificao
do funcionrio, o valor do salrio que foi atribudo a esse funcionrio, o usurio de banco
de dados que fez ou tentou fazer a alterao, a data e a hora que a tentativa de alterao
ocorreu.
Tabela 2 Estrutura da tabela Func_auditoria

Func_auditoria
id_func
integer
novo_salario
numeric
usuario
varchar(30)
datahora
timestamp
Na Figura 2, est representada a tabela Func_auditoria.

96


Figura 2 tabela Func_auditoria implementada no PostgreSQL

Revista de Cincias Exatas e Tecnologia

Eder Pazinatto

Depois de criada as duas tabelas, foi necessrio criar a rule de auditoria sobre a tabela
Funcionario, para que funcione como uma regra. A rule foi criada atravs do comando
Create Rule, sobre a tabela Funcionario, pois ela que pode sofrer a tentativa de alterao.
Na criao da rule precisa-se seguir a sintaxe do PostgreSQL para utilizao de rules:
Nome da Rule: nome da regra;
Evento: indica qual evento(insert, delete, update, select) est associado a regra;
Tabela: tabela a qual a regra est associada;
Condio: uma condio que acione a regra;
Ao: especifica a ao que ser executada com o acionamento da regra.
O comando de criao da rule est apresentado na Tabela
Tabela 3- Comando de criao da rule
Linha

Comando

CREATE OR REPLACE RULE func_aud_rule AS ON UPDATE TO "Funcionario"

WHERE

NEW.salario <> OLD.salario

DO INSTEAD INSERT INTO "Func_auditoria" VALUES ( NEW.id_func,

New.salario, current_user, current_timestamp);

A seguir est a explicao do comando de criao da rule (Tabela 3):


Linha 1- cria a rule com o nome func_aud_rule, sobre a tabela Funcionario, na
ao de atualizao desta tabela;
Linha 2- A rule acionada quando houver uma atualizao de salrio, desde que o
valor informado para o salrio seja diferente do valor do salrio atual (tabela Funcionrio);
Linhas 3 e 4-Se o valor do salrio for diferente, insere as informaes (id_func, novo
salrio, usurio e data e hora) na tabela Func_auditoria. O comando INSTEAD, faz com
que a alterao (novo valor de salrio) no seja efetivada/gravada na tabela Funcionario.
Na recuperao das informaes do usurio conectado ao banco de dados, com a data
e a hora da tentativa de alterao so usadas respectivamente as funes current_user e
current_timestamp, implementadas pelo SGBD PostgreSQL (v. 8.3).
Antes da rule ser acionada, foi abastecida a tabela Funcionario com algumas
informaes, conforme apresentado na Figura 3.

Figura 3- Informaes armazenadas na tabela Funcionario


v.5 n.5 2010 p.91-100

97

Auditoria em banco de dados com utilizao de regras

Conforme a definio da rule (tabela 3), a regra acionada de forma automtica no


momento que houver uma tentativa de alterao do campo salrio da tabela Funcionario.
O script SQL (Structured Query Language) de atualizao do quadro 1, demonstra o exemplo
de um processo de atualizao na tabela funcionrio:
Conforme a definio da rule (tabela 3), a regra acionada de forma automtica no
momento que houver uma tentativa de alterao do campo salrio da tabela Funcionario.
O script SQL (Structured Query Language) de atualizao do quadro 1, demonstra o exemplo
de um processo de atualizao na tabela funcionrio:
Quadro 1- Comando de atualizao da tabela Funcionario

UPDATE

Funcionario

SET

salrio = 1010.35

WHERE

id_func = 1011;

A execuo do script SQL do quadro 1, faz o acionamento automtico da rule, pois


o salrio do funcionrio com nmero de identificao 1011 (da tabela Funcionario)
diferente do valor do salrio atribudo no momento da atualizao.
Com o acionamento da regra os dados n_emp, salario, current_user(usurio logado no
BD), current_timestamp(data e hora atual do sistema), sero inseridos na tabela de auditoria,
conforme apresentado nos registro 1 da tabela Func_auditoria na Figura 4.

Figura 4- Informaes adicionadas na tabela Func_auditoria

Conforme apresentando na tabela Func_auditoria (usada para fazer a auditoria


da tabela Funcionario) o usurio prod_1, tentou alterar duas vezes o valor do salrio
da tabela Funcionario, em datas diferentes (05-08-2009 e 03-09-2009) e valores de salrio
diferentes (1010.35 e 1000.84). A tabela de auditoria tambm registrou que outro usurio lobo, tambm tentou alterar o valor do salrio para o valor 950.89. No campo datahora,
esto registradas a data e a hora da tentativa de alterao.
No momento da criao da rule func_aud_rule foi definido que comandos de
atualizao do campo salrio no so gravados/efetivados na tabela Funcionario e sim,
apenas a tentativa de alterao com suas informaes (dados), na tabela de auditoria. Na
criao de rules podem ser criadas outras definies, depende da finalidade e informaes
que se deseja auditar.
Para desfazer uma rule ou deixar que a auditoria seja executada preciso excluir a
regra sobre a tabela do banco de dados que ela foi criada. A rule no pode ser desabilitada,
apenas excluda com o comando SQL drop.

98

Revista de Cincias Exatas e Tecnologia

Eder Pazinatto

4. CONSIDERAES FINAIS
Atendendo a busca cada vez maior por segurana na base de dados, solues com auditoria
do banco de dados podem ser feitas de vrias formas. A implementao de regras com a
utilizao de rules do PostgreSQL uma forma eficiente e simples de auditoria que pode
ser facilmente adicionada em qualquer aplicao, pois executada de forma automtica
exclusivamente pelo sistema gerenciador de banco de dados com baixo custo de
processamento.
As rules podem ser usadas no banco de dados como complemento da utilizao de
triggers, que so mais conhecidas e por isso, mais usadas. A implementao feita apenas
com comandos SQL, facilitando a implementao e tornando o cdigo de fcil compreenso.
A auditoria com rules pode ser explorada com regras mais completas, condies
diferenciadas e aes diferentes na sua execuo, conforme a finalidade da auditoria. H
uma srie de opes que podem ser adicionadas as rules tornando a regra mais abrangente.
Nesse artigo foi usado um exemplo simples, apenas para auditar tentativas de alterao de
um campo de uma tabela por usurio no habilitados para esse fim.
O uso da auditoria para registrar tentativas ou alteraes na base dados til para o
aumento da segurana, com o registro automtico das alteraes realizadas e com informaes
de quando, como, onde e que alterao ou tentativa de modificao foi realizada. A auditoria
tambm pode ser usada como meio de fornecer um histrico de alteraes na base de dados
com relao aos dados e a prpria estrutura do banco de dados.

REFERNCIAS BIBLIOGRFICAS
BUENO, Guimares M. C.; SILVA Corra O. da; Auditoria de sistemas. SQL Magazine.
ed. 38, Rio de Janeiro, 2006
ELMASRI, Navathe. Sistema de Banco de Dados. Ed. 4 Pearson, So Paulo, 2005
FERREIRA, K. A.; ASSUMPO, M.R. Logstica e troca eletrnica de informao em
empresas automobilsticas e alimentcias. Produo (So Paulo), So Paulo, v. 15, n. 3, p.
434-447, 2005.
GUEDES, Bartz G.; Usando rules no PostgreSQL. SQL Magazine. ed. 21, Rio de Janeiro,
2005
LAUDON, Kenneth; LAUDON, Jane P.. Sistemas de Informao Gerenciais. ed. 7. So
Paulo: Prentice Hall Brasil, 2007.
MEDEIROS, M. Banco de Dados para Sistemas de Informao Ed. 1, Rio de Janeiro,
Visual Books, 2006

v.5 n.5 2010 p.91-100

99

Auditoria em banco de dados com utilizao de regras

OLIVEIRA, de F. Bayma(organizadora). Tecnologia da Informao e Comunicao:


desafios e propostas estratgicas para o desenvolvimento dos negcios. Fundao
Getlio Vargas, Pearson Prentice Hall:So Paulo, 2006
PADOVEZE, Clovis Luis. Sistemas de Informaes Contbeis: fundamentos e anlise. 4.
Ed. So Paulo: Atlas, 2004.
SILBERSCHATZ, A.; KORTH, H., F. Sistemas de Banco de Dados Ed.4, Rio de Janeiro
LTC, 2005

100

Revista de Cincias Exatas e Tecnologia

Das könnte Ihnen auch gefallen