A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Nilton Pinheiro Microsoft MVP | MCITP | MCSE | MCDBA | MCTS

Apresentações semelhantes


Apresentação em tema: "Nilton Pinheiro Microsoft MVP | MCITP | MCSE | MCDBA | MCTS"— Transcrição da apresentação:

1 Nilton Pinheiro Microsoft MVP | MCITP | MCSE | MCDBA | MCTS (niltonpinheiro é pirata :) ) Herleson Pontes MCT | MCITP | MCSA | MCTS Auditoria de um ambiente SQL Server 2008 R2 CÓDIGO DA SESSÃO: DBP302

2 2 Agenda Visão Geral Auditoria nas versões anteriores Auditando Dados com Tabela Espelho Cláusula OUTPUT Default Trace (Profiler) DDL Triggers Event Notification Auditoria no SQL Server 2008 R2 Change Tracking Change Data Capture SQL Audit

3 3 Visão Geral Porque auditar uma solução de dados? Auditar modificações de schema Auditar modificações de dados Analisar as atividades realizadas no seu banco e detectar possíveis falhas na segurança (Quem acessou seu dados e quando?) Diagnosticar falhas ocasionadas por alterações na configuração do servidor (Quando a configuração mudou?) Entender a utilização dos dados da sua base por parte dos usuários do sistema Atender a requisitos de auditoria SOX

4 4 Auditoria nas versões anteriores Auditando Dados com Tabela Espelho Técnica bastante utilizada nas auditorias de dados SQL Server 2000 ou anteriores Auditoria de Operações DML Consiste em ter tabelas idênticas com triggers monitorando as operações A tabela espelho armazena os dados afetados pelas operações Fácil introdução de erros no processo Requer alteração no modelo lógico Impacto na performance (cuidado com as triggers!!)

5 5 Exemplo

6 6 Auditoria nas versões anteriores Auditando dados com a cláusula OUTPUT Auditoria de Dados no SQL Server 2005 SQL Server 2005 e superiores Auditoria de Operações DML Ainda requer a utilização de tabela espelho A tabela espelho armazena os dados afetados pelas operações Requer alteração de código das operações Impacto em performance é praticamente zero Não requer uso de triggers !!

7 7 Exemplo OUTPUT

8 8 Exemplo INSERT

9 9 Exemplo UPDATE

10 10 Exemplo DELETE

11 11 Auditoria nas versões anteriores Default Trace Auditoria de operações DDL e eventos de trace Disponível a partir do SQL Server 2005 ON por default e controlado pela sp_configure default trace enable Armazenado no mesmo caminho que o Error Log Caminho pode ser alterado pelo parâmetro de inicialização -e utilizando o SSCM Captura principalmente eventos relacionados a auditoria A função fn_trace_gettable foi melhorada para permitir ler o arquivo ainda em execução

12 12 Exemplo Default Trace

13 13 Auditoria nas versões anteriores DDL Triggers Utilizada para auditar operações DDL Disponível no SQL Server 2005 e superiores São disparadas em resposta aos eventos DDL Atua no nível servidor ou banco de dados (Ex. ALTER TABLE, DROP TABLE, ALTER LOGIN, DROP LOGIN) Ao invés da tabelas Inserted e Deleted, utiliza-se a funcão EVENTDATA() para capturar informações sobre os eventos (em formato XML) Possibilita impedir a execução de operações DDL Permite monitorar as alterações de schemas É síncrono !!!

14 14 Exemplo DDL Triggers

15 15 Auditoria nas versões anteriores DDL Triggers Eventos de nível servidor e banco de dados

16 16 DDL Triggers

17 17 Auditoria nas versões anteriores Event Notification Auditoria de operações DDL e eventos Disponível no SQL Server 2005 e superiores Sistema de envio de mensagens utilizando a infraestrutura do Service Broker Atua capturando eventos que ocorrem no nível servidor ou banco de dados Além dos eventos DDL disponíveis nas DDL Triggers, o Event Notification também permite a captura de eventos de trace como: Audit_Login, Audit_Login_Failed, Lock_Deadlock, Data_File_Auto_Grow, Blocked_Process_Report É assíncrono !!!

18 18 Auditoria nas versões anteriores Event Notification Criação de um Event Notification Criar uma FILA (QUEUE) Criar um SERVIÇO (SERVICE) em uma FILA Criar uma ROTA (ROUTE) para o SERVIÇO Criar um EVENT NOTIFICATION para um SERVIÇO Criar um SERVICE PROGRAM para processar as notificações existentes na FILA Para a auditoria de eventos de nível servidor, usuário guest deve ter acesso ao msdb EXEC('use msdb CREATE USER guest') DENY EXECUTE,SELECT,INSERT,UPDATE,DELETE ON DATABASE::msdb to guest

19 19 Event Notification

20 20 Agenda Visão Geral Auditoria nas versões anteriores Auditando Dados com Tabela Espelho Cláusula OUTPUT Default Trace (Profiler) DDL Triggers Event Notification Auditoria no SQL Server 2008 R2 Change Tracking Change Data Capture SQL Audit

21 21 Auditoria no SQL Server 2008 R2 Novos recursos para auditoria O SQL Server 2008 R2 trás três tecnologias distintas de auditoria Cada uma responde a diferentes questões sobre as modificações realizadas Estas tecnologias permitem o desenvolvimento de uma solução robusta de dados Integração com o Windows Server 2008 R2

22 22 Change Tracking Visão geral do recurso Recurso que armazena informações sobre as modificações feitas nos registros de uma tabela O rastreamento das alterações se dá através do número da versão de um registro Disponível em todas as edições (inclusive Express) Exibe as mudanças feitas nos registros da tabela Os dados sobre as modificações são armazenados em tabelas do sistema do próprio banco O administrador define quais tabelas terão suas alterações gerenciadas por este recurso

23 23 Change Tracking Principais características Permite visualizar quais registros foram afetados, as colunas envolvidas neste processo e as operações que modificaram esses registros Dados sobre as modificações são vinculadas aos registros da tabela através da chave primária Entretanto, este recurso não exibe como os dados foram alterados e nem o usuário que os alterou As alterações são gravadas de acordo com a execução das transações A tabela é populada de forma síncrona

24 24 Change Tracking Arquitetura interna Database Commit Table xact_id: Identificador da transação commit_ts: Horário da gravação Database Commit Table xact_id: Identificador da transação commit_ts: Horário da gravação Tabela Base xact_id: Identificador da última transação que modificou o registro (campo oculto) Tabela Base xact_id: Identificador da última transação que modificou o registro (campo oculto) Change Table xact_id xact_sequence xact_operation PK do registro modificado Change Table xact_id xact_sequence xact_operation PK do registro modificado

25 25 Change Tracking Etapas durante a execução de transações Quando uma transação é iniciada, o atributo xact_id é gerado Em seguida, quando os registros da tabela base são modificados, o xact_id da transação é utilizado pelas tabela base e modificação Por fim, quando a transação faz o commit, o atributo commit_ts é então gerado

26 26 Change Tracking Configuração Nível Banco de Dados ALTER DATABASE AdventureWorks SET CHANGE_TRACKING = ON; Ativa o banco de dados para registrar as alterações Recomendado ativar o SNAPSHOT ISOLATION Nível de tabela ALTER TABLE HumanResources.Employee ENABLE CHANGE_TRACKING; Diz ao QE para monitorar as mudanças na tabela Permite identificar quais colunas foram referenciadas em um UPDATE

27 27 Change Tracking

28 28 Change Data Capture Visão geral do recurso Recurso que armazena informações sobre as modificações nos registros de uma tabela e mostra como os dados foram alterados O rastreamento das alterações se dá através do acesso ao log de transações do banco de dados Os dados sobre as modificações são copiados para tabelas pertencentes a um esquema chamado cdc, localizado no banco de dados auditado Disponível apenas nas edições Enterprise, Developer e Datacenter

29 29 Change Data Capture Principais características Permite visualizar o histórico das alterações efetuadas nos registros de uma tabela Exibe como os valores de um registro foram alterados dentro de um intervalo de LSN Este recurso não exibe o usuário que realizou as modificações O SQL Server fornece funções que permitem ao administrador resgatar o intervalo LSN desejado a partir do arquivo de log de transações

30 30 Change Data Capture Processo de gerenciamento das modificações As alterações são gravadas em intervalos de tempo após a execução das transações Utiliza o agente log reader (Replicação) Cria duas tarefas no SQL Server Agent Uma para iniciar o agente de leitura do log Outro para remover alterações expiradas

31 31 Change Data Capture Configuração Nível Banco de Dados EXEC sys.sp_cdc_enable_db Ativa o CDC no metadado Cria um database schema chamado cdc Cria tabelas no schema Cria dois jobs: Um para disparar o log reader Um para expurgar dados históricoss Nível de tabela EXEC sys.sp_cdc_enable_table Ativa o CDC para uma dada tabela Cria uma tabela e duas funções no schema cdc

32 32 Change Data Capture

33 33 SQL Audit Visão geral do recurso Recurso que armazena informações sobre eventos realizados no servidor e os seus respectivos usuários Realiza auditoria granular de eventos executados nos níveis de servidor e banco de dados Permite salvar as informações do rastreamento em arquivo, no log de segurança e no log de aplicações Disponível somente nas edições Enterprise, Developer e Datacenter

34 34 SQL Audit Principais características Armazena informações detalhadas sobre a execução de diversos eventos, com seus respectivos usuários Cada evento é chamado de action, e pode ser classificado em três categorias: Servidor, Banco de Dados e Auditoria Este recurso não exibe o estado dos objetos e dados antes das modificações Eventos envolvendo vários registros possuem uma coluna que mostra a sequência da execução dos eventos

35 35 SQL Audit Arquitetura Alvo (Destino) Alvo (Destino) Auditoria no Servidor Auditoria no Banco de Dados

36 36 SQL Audit

37 37

38 38 Conteúdo relacionado DBP308 Sincronizando dados com a nuvem através do SQL Azure Data Sync e Sync Framework 2.0 DBP304 Distribuição e gerenciamento de aplicações data-tier dentro do SQL Server 2008 R2 Daniel Camilo DBP303 Boas práticas para upgrade do Microsoft SQL Server R2 DBP305 Estratégias para otimizar a concorrência dentro do Microsoft SQL Server 2008 R2

39 © 2008 Microsoft Corporation. Todos os direitos reservados. Microsoft, Windows, Windows Vista e outros nomes de produtos s ã o ou podem ser marcas registradas e/ou marcas comerciais nos EUA e/ou outros pa í ses. Este documento é meramente informativo e representa a vis ã o atual da Microsoft Corporation a partir da data desta apresenta çã o. Como a Microsoft deve atender a condi çõ es de mercado em constante altera çã o, este documento n ã o deve ser interpretado como um compromisso por parte da Microsoft, e a Microsoft n ã o pode garantir a precis ã o de qualquer informa çã o fornecida ap ó s a data desta apresenta çã o. A MICROSOFT N Ã O D Á QUALQUER GARANTIA, SEJA ELA EXPRESSA, IMPL Í CITA OU ESTATUT Á RIA, REFERENTE À S INFORMA ÇÕ ES DESTA APRESENTA ÇÃ O.

40 Por favor preencha a avaliação


Carregar ppt "Nilton Pinheiro Microsoft MVP | MCITP | MCSE | MCDBA | MCTS"

Apresentações semelhantes


Anúncios Google