SQL Server Auditing Parte 2



Clique em “Object Types...” para selecionar o que vai ser auditado, por exemplo: Usuários.





Clique agora em “Browse...” para selecionar qual objeto sera alvo da auditoria, irei selecionar um usuário qualquer:




Confirme o que foi selecionado e clique em “OK”:





Com tudo pronto você devera visualizar uma tela parecida com a abaixo:




Confirme os dados e clique em “OK”.



6º Perceba que o conjunto de especificações do que será auditado foi criado, e por padrão, também fica desabilitado, vamos clicar nele com o direito e habilita-lo selecionando “Enable Database Audit Specification” 




7º Pronto! Agora a auditoria está no ar, para testa-la basta efetuar um login na instância com o usuário sendo auditado e disparar um comando que esteja sendo auditado no objeto que esta sendo auditado dentro da base que está sendo auditada. No meu exemplo, irei me logar no servidor com o usuário OPERADOR, e disparar um “SELECT” na tabela “ADMCONFIG“ presente na base “xxx”:


select * from xxx..ADMCONFIG


8º Utilizando a query abaixo contra o diretório onde está sendo armazenada a auditoria você poderá visualizar as informações:


SELECT * FROM fn_get_audit_file('x:\xxx\xxx\*', default, default)




Obs.: Cortei a imagem para mostrar só a coluna que audita o comando disparado.



Configurando a auditoria via Script:


/****** CRIANDO A AUDITORIA NA INSTANCIA ******/



USE [master]

GO



CREATE SERVER AUDIT [teste]

TO FILE

(     FILEPATH = N'x:\xxx\xxx\'

      ,MAXSIZE = 2 MB

      ,MAX_ROLLOVER_FILES = 5

      ,RESERVE_DISK_SPACE = OFF

)

WITH

(     QUEUE_DELAY = 1000

      ,ON_FAILURE = CONTINUE

)

GO





/****** CRIANDO O CONJUNTO DE ESPECIFICAÇÕES PARA A AUDITORIA NA BASE DE DADOS ******/



USE [xxx]

GO



CREATE DATABASE AUDIT SPECIFICATION [teste_xxx]

FOR SERVER AUDIT [teste]

ADD (SELECT ON OBJECT::[dbo].[ADMCONFIG] BY [OPERADOR])

WITH (STATE = ON)

GO





Habilitando via script:



-- Habilita auditoria na instancia

USE master

ALTER SERVER AUDIT teste WITH (STATE=ON)



-- Habilita conjunto de especificações da auditoria na base

USE xxx

ALTER DATABASE AUDIT SPECIFICATION teste_xxx WITH (STATE=ON)



Considerações:


A auditoria se mal configurada pode gerar logs muito pesados, além de degradar a performance do ambiente em alguns casos.


Você deve sempre informar qual usuário deseja auditar, o que complica um pouco em ambientes com muitos usuários dentro das bases de dados. 


Para apagar os logs da auditoria você deve desabilitar tudo, não existe uma limpeza com ela “no ar”.


A auditoria que expliquei acima é chamada de “database level auditing” contudo existe também a “server level auditing”



Link de referência utilizado para escrever este guia:


Nenhum comentário:

Postar um comentário