Descobrindo Auditoria no SQL Server 2008 – Parte 1

O post de hoje refere-se à auditoria em banco de dados, mas antes de abordamos ele esqueça sobre isso por um momento pense o que a palavra auditoria quer dizer para você? Onde você ouviu falar a primeira vez nessa palavra? Mas porque todas essas perguntas? O objetivo delas é demostrar que independente da área que a auditoria é implementada todas desejam um mecanismo para ajudar a descobrir algo sobre alguém, alguma coisa, alguma ação enfim…proteção de uma forma geral.
Qual DBA nunca se deparou com a seguinte situação que atire a primeira pedra: “Ahhhhhh alguém tirou as minhas permissões!” ou “Quero saber quem alterou a store procedure que eu fiz, semana passada tava funcionando” ou qualquer relação que necessitamos rastrear as alterações que foram feitas nos dados. Quem fez, quando fez e o que foi modificado. Dependendo da empresa será primordial ter uma auditoria implementada seja ela exigida pelo ramo do negócio ou por determinação da lei.
Antes do SQL Server 2008, você tinha que usar diversos recursos para fazer todo o conjunto de auditoria para uma instância. Usávamos as triggers DDL como o próprio nome diz faziam a auditoria de alterações DDL, as triggers DML faziam a auditoria dos dados modificados em tabelas ou views, tinha a opção de usar o SQL Trace fazia a auditoria de instruções SELECT ou ainda algumas ferramentas de terceiros.  O SQL Server 2008 possui uma ferramenta excelente o SQL Server Audit combina todos os recursos de auditoria.

Por que utilizar auditoria?

Você poderia esta se perguntando: Quais as vantagens de implementar auditoria do SQL Server no meu ambiente? SQL Server Audit possui várias características e benefícios dentre elas:
•    Auditoria a nível de instância e  banco de dados:
Quando for configurar uma auditoria, você terá a possibilidade de capturar eventos de auditoria no nível de instância ou nível de banco de dados. Quase sempre você irar optar em auditar ambos os níveis.
•    Auditoria de atividades diferentes:
SQL Server Audit inclui várias atividades predefinidas que você pode fazer auditoria, incluindo atividades DDL e DML.
•    Capacidade de capturar e exibir os resultados da auditoria:
Os resultados da auditoria podem ser capturados e armazenados em arquivos no disco ou no Event Logs do sistema operacional. Os dados que foram armazenados no disco podem ser  importados para o banco de dados afim de ser analisados posteriormente. No caso dos dados que foram salvos no Event Log, os mesmo s podes ser visualizados no Event Log Viewer.
•    Alta granularidade:
Declarações de SELECT, INSERT, UPDATE, DELETE, REFERENCES  e EXECUTE podem ser capturados  individualmente por usuário a nível de objeto, se assim desejar.
•    Leve e rápido:
SQL Server Audit utiliza Extended Events Engine para capturar os dados da auditoria, isso resulta em um rápido desempenho e sobrecarga mínima em comparação ao uso de SQL Trace para capturar esse tipo de atividade.
•    Facilidade de configurar e administrar:
O SQL Server Audit pode ser gerenciado e configurado através do SSMS (SQL Server Management Studio) ou usando T-SQL.

Como o SQL Server Audit trabalha?

Nesta seção, vamos ver uma visão geral de como funciona o SQL Server Audit. O fluxograma mostrado na Figura 01 deve fornecer uma visão ampla do que está envolvido na criação de auditoria:

Figura 01. Um fluxograma que mostra como criar uma nova auditoria de servidor SQL

A auditoria do SQL Server permite que você crie várias auditorias diferentes, atendendo a maior parte todas das atividades que ocorre dentro do SQL Server. Existem 04 principais objetos para se configurar a auditoria: Server Audit Object, Target, Server Audit Specification e o Database Audit Specification, vamos detalhar um pouco mais sobre cada item:
O primeiro passo ao criar uma nova auditoria em uma instancia do SQL Server 2008 é criar um SQL Server Audit Object, que é responsável por coletar e agrupar as ações que serão monitoradas. Quando você cria um novo SQL Server Audit Object, deve-se atribuir um nome, selecionar as opções de configuração, e dizer qual é o TARGET.  O TARGET é o local onde os dados de auditoria serão armazenados que pode ser um arquivo no disco (audit file), o log de aplicações do Windows (Application EVENT LOG) ou no log de segurança do Windows (Security EVENT LOG).

Se a forma de armazenamento escolhida for “audit file” você poderá escolher a pasta onde esses arquivos serão gerados, poderá especificar o tamanho máximo de um arquivo, Além disso, você pode alocar previamente espaço em disco para o log de auditoria, em vez de fazer o arquivo crescer à medida que as linhas de auditoria forem adicionadas.
Quando o Application ou o Security Log são especificados, as únicas opções disponíveis para configuração são:

Queue Delay: quantidade de tempo em milissegundos que os eventos são armazenados antes de serem armazenados. Para permitir que a entrega de eventos seja síncrona você deve preencher esse campo com “0”( QUEUE_DELAY = 0). O valor default é 1000 (1 segundo). Se especificar um tempo de atraso (em milissegundos) os registros de auditoria poderão ser acumulados, mas mesmo assim deverão ser gravados dentro do intervalo especificado.
Shutdown on Failure: A ação ON_FAILURE controla como a instância se comporta se os registros de auditoria não podem ser gravados. A opção default é CONTINUE, a qual permite que a instância continue a execução e processe as transações. Caso você altere o valor padrão para SHUTDOWN, a instância será encerrada se os eventos de auditoria não puderem ser escritos no target.

O segundo passo é criar o que é chamado de Audit Specification, mas  isso é assunto para o próximo post.

See ya! =)

Anúncios

Um comentário em “Descobrindo Auditoria no SQL Server 2008 – Parte 1

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s