auditoria no sgbd microsoft sql server...

16
AUDITORIA NO SGBD MICROSOFT SQL SERVER 2008 R2 WADSON DUARTE MONTEIRO 1 IREMAR NUNES DE LIMA 2 Resumo: Este artigo discute o processo de auditoria no Sistema Gerenciador de Banco de Dados SQL Server 2008 R2 e como iniciar uma auditoria em nível de Banco de Dados e Servidor numa instância SQL Server. Palavras-chave: Banco de Dados, Microsoft SQL Server 2008 R2, Auditoria. 1.0 INTRODUÇÃO Com o grande crescimento do volume de dados sigilosos e sensíveis dentro de uma empresa, torna-se imprescindível que haja um controle rigoroso sobre eles. Torna-se imprescindível que as instituições assegurem a integridade dos dados a fim de evitar transtornos através do uso do mecanismo de auditoria. Estas auditorias muitas vezes são previstas em lei ou fazem parte da política da empresa. De acordo com a MICROSOFT, auditoria é o conjunto de diversos elementos em um único pacote de um grupo específico de servidor ou ações de banco de dados, o qual quando combinadas produzem uma saída conhecida como auditoria. 1 Especialista em Banco de Dados e Business Intelligence ([email protected]). 2 DBA, Mestre em Banco de Dados e Professor do Centro Universitário Newton Paiva ([email protected]).

Upload: voquynh

Post on 26-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

AUDITORIA NO SGBD MICROSOFT SQL SERVER 2008 R2

WADSON DUARTE MONTEIRO 1

IREMAR NUNES DE LIMA 2

Resumo: Este artigo discute o processo de auditoria no Sistema Gerenciador de

Banco de Dados SQL Server 2008 R2 e como iniciar uma auditoria em nível de

Banco de Dados e Servidor numa instância SQL Server.

Palavras-chave: Banco de Dados, Microsoft SQL Server 2008 R2, Auditoria.

1.0 INTRODUÇÃO

Com o grande crescimento do volume de dados sigilosos e sensíveis dentro de uma

empresa, torna-se imprescindível que haja um controle rigoroso sobre eles. Torna-se

imprescindível que as instituições assegurem a integridade dos dados a fim de evitar

transtornos através do uso do mecanismo de auditoria. Estas auditorias muitas vezes são

previstas em lei ou fazem parte da política da empresa.

De acordo com a MICROSOFT, auditoria é o conjunto de diversos elementos em um único

pacote de um grupo específico de servidor ou ações de banco de dados, o qual quando

combinadas produzem uma saída conhecida como auditoria.

1 Especialista em Banco de Dados e Business Intelligence ([email protected]). 2 DBA, Mestre em Banco de Dados e Professor do Centro Universitário Newton Paiva ([email protected]).

Page 2: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

2

Com o uso do recurso de auditoria do SQL Server 2008 os DBAs (Database

Administrators) são capazes de monitorar o que se passa no banco de dados tornando

possível identificar as ações que um determinado usuário fez num dado e como as

informações foram acessadas.

Em algumas instituições o uso da auditoria é obrigatório ou recomendado através de leis

e/ou regulamentações como, por exemplo:

1. Lei Sarbanes-Oxley (SOXX): legislação americana que tem como principal objetivo

recuperar a credibilidade de mercado de capitais.

2. Health Insurance Portability and Accountability Act (HIPAA): regulamentação

americana que tem como principal objetivo assegurar a confidencialidade de dados na

área de saúde, relativo aos pacientes.

Na prática, tem sido muito difícil a utilização da auditoria, com necessidades de tempo

maior e emprego de recursos, mas com o novo recurso de auditoria do Microsoft SQL

Server 2008 é possível fazer uma auditoria mais integrada, padronizada e automatizada,

assim aumentando a confiabilidade de auditoria com redução da sobrecarga do sistema

global (LEITER, 2009).

A versão do Microsoft SQL Server 2008 disponibiliza um novo recurso de auditoria que é

exclusivo para esta necessidade e que faz um uso mais racional dos recursos. Nas versões

anteriores eram utilizados os recursos de traces, triggers ou ferramenta de terceiros que

poderiam ter um impacto negativo. Uma grande vantagem no uso do SQL Server audit é

que ele permite fazer as configurações através do SQL Server Manager ou através de

comandos Transact SQL (T-SQL). Existem diversas outras soluções que podem ser usados

na auditoria do SQL Server 2008, possibilitando identificar pontos vulneráveis e de

Page 3: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

3

alterações e monitoramento de acesso aos dados, como por exemplo: DDL trigger,

profiler, trace, c2 audit mode.

2.0 COMPONENTES DE AUDITORIA NO SQL SERVER

Com a ferramenta SQL Server Audit é possível criar especificações de auditoria granular,

o qual é composto de 03 componentes (KLINE, 2010):

1. O objeto auditoria do SQL Server especifica o local de saída (aplicativo, arquivo ou

log de eventos de segurança), com a opção para desligar o SQL Server se não puder ser

escrita e um cenário que especifica a quantidade de milissegundos que pode passar

antes das ações de auditoria serem processadas. Na tabela 1 estão descritos os grupos

de ações de auditoria no nível da auditoria

Tabela 01 - Grupos de Ações de Auditoria no Nível da Auditoria

Nome do grupo de ação Descrição

AUDIT_ CHANGE_GROUP Esse evento é gerado sempre que um dos comandos a seguir é emitido:

1. CREATE SERVER AUDIT

2. ALTER SERVER AUDIT

3. DROP SERVER AUDIT

4. CREATE SERVER AUDIT SPECIFICATION

5. ALTER SERVER AUDIT SPECIFICATION

6. DROP SERVER AUDIT SPECIFICATION

7. CREATE DATABASE AUDIT SPECIFICATION

8. ALTER DATABASE AUDIT SPECIFICATION

Page 4: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

4

9. DROP DATABASE AUDIT SPECIFICATION

Fonte: http://msdn.microsoft.com/pt-br/library/cc280663.aspx

2. O objeto especificação da auditoria do servidor contém as definições de eventos como

logins do servidor. Na tabela 02 estão descritos os grupos de ação da auditoria do

servidor.

Tabela 02 – Grupos de Ação de Auditoria do Servidor

Nome do grupo de ação

SUCCESSFUL_LOGIN_GROUP

LOGOUT_GROUP

FAILED_LOGIN_GROUP

LOGIN_CHANGE_PASSWORD_GROUP

APPLICATION_ROLE_CHANGE_PASSWORD_GROUP

SERVER_ROLE_MEMBER_CHANGE_GROUP

DATABASE_ROLE_MEMBER_CHANGE_GROUP

BACKUP_RESTORE_GROUP

DBCC_GROUP

SERVER_OPERATION_GROUP

Page 5: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

5

DATABASE_OPERATION_GROUP

AUDIT_ CHANGE_GROUP

SERVER_STATE_CHANGE_GROUP

SERVER_OBJECT_CHANGE_GROUP

SERVER_PRINCIPAL_CHANGE_GROUP

DATABASE_CHANGE_GROUP

DATABASE_OBJECT_CHANGE_GROUP

DATABASE_PRINCIPAL_CHANGE_GROUP

SCHEMA_OBJECT_CHANGE_GROUP

SERVER_PRINCIPAL_IMPERSONATION_GROUP

DATABASE_PRINCIPAL_IMPERSONATION_GROUP

SERVER_OBJECT_OWNERSHIP_CHANGE_GROUP

DATABASE_OWNERSHIP_CHANGE_GROUP

DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP

SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP

SERVER_PERMISSION_CHANGE_GROUP

Page 6: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

6

SERVER_OBJECT_PERMISSION_CHANGE_GROUP

DATABASE_PERMISSION_CHANGE_GROUP

DATABASE_OBJECT_PERMISSION_CHANGE_GROUP

SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP

DATABASE_OBJECT_ACCESS_GROUP

SCHEMA_OBJECT_ACCESS_GROUP

BROKER_LOGIN_GROUP

DATABASE_MIRRORING_LOGIN_GROUP

TRACE_CHANGE_GROUP

Fonte: http://msdn.microsoft.com/pt-br/library/cc280663.aspx

3. O objeto especificação de auditoria de banco de dados contém definições do evento em

nível de banco de dados, tais como modificações de esquema, criação de objetos e

outras ações. Na tabela 03 estão descritos os grupos de ação da Auditoria de Banco de

Dados.

Tabela 03 – Grupo de Auditoria de Banco de Dados

Nome do grupo de ação

DATABASE_ROLE_MEMBER_CHANGE_GROUP

Page 7: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

7

DATABASE_OPERATION_GROUP

DATABASE_CHANGE_GROUP

DATABASE_OBJECT_CHANGE_GROUP

DATABASE_PRINCIPAL_CHANGE_GROUP

SCHEMA_OBJECT_CHANGE_GROUP

DATABASE_PRINCIPAL_IMPERSONATION_GROUP

DATABASE_OWNERSHIP_CHANGE_GROUP

DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP

SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP

DATABASE_PERMISSION_CHANGE_GROUP

DATABASE_OBJECT_PERMISSION_CHANGE_GROUP

SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP

DATABASE_OBJECT_ACCESS_GROUP

SCHEMA_OBJECT_ACCESS_GROUP

Fonte: http://msdn.microsoft.com/pt-br/library/cc280663.aspx

Ações no nível de banco de dados oferecem suporte à auditoria de ações específicas

conforme citadas na tabela 04.

Page 8: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

8

Tabela 04 – Ações de Auditoria no Banco de dados

Ação Descrição

SELECT Esse evento é gerado sempre que SELECT é emitido.

UPDATE Esse evento é gerado sempre que UPDATE é emitido.

INSERT Esse evento é gerado sempre que INSERT é emitido.

DELETE Esse evento é gerado sempre que DELETE é emitido.

EXECUTE Esse evento é gerado sempre que EXECUTE é emitido.

RECEIVE Esse evento é gerado sempre que RECEIVE é emitido.

REFERENCES Esse evento é gerado sempre que uma permissão REFERENCES é verificada.

Fonte: http://msdn.microsoft.com/pt-br/library/cc280663.aspx

Ao ser feita auditoria os resultados são gerados no destino que podem ser arquivo, log de

eventos de segurança do Windows ou o log de eventos de aplicativo do Windows, sendo de

extrema importância verificar constantemente se o disco tem espaço suficiente, pois o SQL

Server Audit grava constantemente nas logs. Segundo a MICROSOFT (2011) ao gravar no

log de segurança do Windows é necessário que a conta de serviço do SQL Server seja

adicionada à política gerar auditorias de segurança, entre os quais Sistema Local, Serviço

Local e Serviço de Rede. Para impedir que um arquivo com informações de auditoria seja

Page 9: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

9

falsificado é recomendado que seja restringido o acesso ao local do arquivo das seguintes

maneiras (MICRSOFT, 2011)3:

1. A conta de Serviço SQL Server deve ter permissão de leitura e gravação.

2. Os Administradores de Auditoria geralmente requerem permissão de leitura de

gravação, então é presumido que os Administradores de Auditoria sejam contas do

Windows para a administração de arquivos de auditoria.

3. Os leitores de Auditoria que são autorizados a ler os arquivos de auditoria precisam ter

permissão de leitura.

Importante destacar que as operações de leitura não são bloqueadas pelo mecanismo de

Banco de Dados e a gravação no log de segurança não está disponível no Windows XP.

2. FAZENDO AUDITORIA PELO MANAGMENT STUDIO

Para criação de um SQL Server Audit pode-se fazer pelo Managment Studio ou pelo

Transact SQL. O primeiro passo é criar o objeto responsável em coletar os dados e ações

do servidor ou banco de dados, no segundo passo é feita a associação de um Audit

Specification determinando onde armazenar as informações podendo ser do tipo Server ou

Database e o terceiro passo é definir o local onde os eventos serão escritos (Arquivo, Log

de Segurança, Log de Aplicação).

3.1. Criação do Sql Server Audit

Para criar o SQL Server Audit no SSMS (SQL Server Managment Studio), na janela

Object Explorer deve-se clicar no item Security e em seguida no item Audit, então clica

3 http://msdn.microsoft.com/pt-br/library/cc280386.aspx

Page 10: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

10

com o botão direito do mouse e seleciona a opção New Audit conforme mostrado na Figura

01.

Figura 01: Criação da Server Audit

Fonte: Próprio autor

Conforme Figura 02, dentro da janela create Audit, no campo Audit Name deve ser

preenchido o nome da Auditoria. No campo Queue Delay é informado o valor que indica

de quanto em quanto tempo será descarregado antes das ações de auditoria serem

processadas. No campo Maximum Rollover é informado o número de arquivos que vão ser

gerados e em Maximum File Size é informado a quantidade de espaço em disco reservado

para cada arquivo gerado para a auditoria. No campo File Path é informado o local onde os

arquivos serão gerados. Se a opção Shut Down Server on Audit Log Failure for

selecionada, caso haja tentativa de escrever no arquivo de auditoria e ocorrer uma falha ele

vai parar o serviço, evitando assim falhas de auditoria.

Page 11: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

11

Figura 02: Configuração da Server Audit

Fonte: Próprio autor

Por Default o Audit é criado desabilitado, tornando-se necessário habilitá-lo. Para isto

deve-se clicar com o botão direito sobre a Audit criada e escolher a opção Enable Audit,

conforme Figura 03.

Page 12: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

12

Figura 03: Habilitando o Audit

Fonte: Próprio autor

3.2. Criação da Audit Especification

Para que saiba onde armazenar as informações é necessário que um Audit Especification

seja associado a um objeto SQL Server Audit que pode ser do tipo Server ou Database.

3.2.1. Criando um SQL Server Audit do Tipo Database

Para criar um SQL Server Audit do tipo Database deve-se selecionar o banco de dados que

deseja auditar, expandir o nó Security e clicando com o botão direito do mouse sobre

Database Audit Especification, e selecionando a opção New Database Audit

Especification. Na janela Create Database Audit Especification deve ser informado o nome

para o Database Especification e no campo Audit selecionar a auditoria (Figura 04).

Figura 04: Especificando o nome e a auditoria para o Audit Especification

Fonte: Próprio autor

Na seção Actions no item Audit Action Type deve ser selecionado qual ação deve ser

auditada. No item Object Class seleciona a classe do objeto. No item Object Name

seleciona qual Database será editado. No item Principal Name seleciona quem será

editado, tendo as opções de selecionar roles e usuários (Figura 05).

Page 13: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

13

Figura 05: Editando os itens da Seção Actions

Fonte: Próprio autor

Após a criação de todos os filtros necessários para a auditoria do banco de dados é

necessário habilitar o Database Specification, o qual deve ser habilitado através da janela

Object Explorer clicando com o botão direito do mouse sobre a opção

DatabaseAuditEspecification e selecionando a opção Enable Database Audit

Especification.

3.2.2. Criando um SQL Server Audit do Tipo Database

Para criar um SQL Server Audit do tipo Server deve-se clicar com o botão direito no item

Server Audit Especification que está dentro do nó Security e escolher a opção New Server

Audit Especification (Figura 06).

Figura 06: Criando um Server Audit do tipo Server

Fonte: Próprio autor

Page 14: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

14

Na janela Create Server Audit Especification, no campo Name deve-se informar o nome

do Server Audit Especification e no campo Audit escolher qual Server Audit ele deve-se

associar. Na Seção Actions no item Audit Action Type deve-se selecionar qual ação deve

ser auditada com ações a nível do Servidor. Os outros itens deve seguir o mesmo

procedimento utilizado na criação do Server Audit tipo Database (Figura 07).

Figura 07: Editando itens para o Server Audit Especification

Fonte: Próprio autor

Segundo Kline (KLINE, 2010) uma característica importante da auditoria no SQL Server

2008 é que a auditoria do nível de banco de especificações estão definidas no próprio

banco de dados, pois se o banco de dados é movido a partir de um servidor para outro, a

especificação de auditoria de nível de banco de dados será mover para o novo servidor.

4.0 CONCLUSÃO

O uso de auditoria em banco de dados é de extrema importância, pois diversas regras e

regulamentações são impostas tornando-se cada vez mais importante o uso desta técnica

para assegurar como o banco de dados está sendo utilizado pelos seus usuários tornando

transparentes as alterações e modificações feitas sobre ele. E para suprir a necessidade do

Page 15: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

15

uso desta técnica, o novo recurso de Auditoria no SQL Server 2008 R2 permite que o

banco de dados seja auditado de forma limpa, com bom desempenho, o que não ocorria nas

anteriores que utilizavam recurso de triggers, traces ou ferramentas de terceiros.

Page 16: AUDITORIA NO SGBD MICROSOFT SQL SERVER …blog.newtonpaiva.br/pos/wp-content/uploads/2013/02/E4-SI32.pdf · ... mas com o novo recurso de auditoria do Microsoft SQL Server 2008 é

16

REFERÊNCIAS

KLINE, Kevin. SQL Server 2008 Administration in Action. Greenwick: Manning,

2010. 466 p.

LEITER, Chris et al. Beginning Microsoft Sql Server 2008 Administration.

Indianapolis: Wiley Publishing, 2009. 781 p.

MAGALHÃES, Vladimir Michel Bacurau. Auditoria no Sql Server 2008.

Disponível em: <http://www.devmedia.com.br/post-15220-Auditoria-no-SQL-

Server-2008.html> Acesso em: 11 fev. de 2011.

SIMMONS, Ken; Carstarphen, Sylvester. Pro Sql Server 2008 Administration.

New York: Jonathan Gennick, 2009. 593 p.

SQL MAGAZINE. Devmedia. Disponível em: <http://www.devmedia.com.br>

Acesso em: 11 nov. de 2010.

BIBLIOTECA MSDN. Criptografia do SQL Server. Disponível em <

http://msdn.microsoft.com/pt-br/library/bb510663.aspx> Acesso em: 11 nov. de

2010.