Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior



Documentos relacionados
GUIA INTEGRA SERVICES E STATUS MONITOR

Procedimentos para Reinstalação do Sisloc

Manual de configuração do sistema

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

MANUAL DO INSTAR-MAIL 1.0. Pagina de login e senha do Instar-Mail

Usar o Office 365 no iphone ou ipad

- Acessar o sistema. Para acessar o sistema digite o endereço eletronico e clique em login na barra de menus.

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

QUALIDATA Soluções em Informática. Módulo CIEE com convênio empresas

3 SCS: Sistema de Componentes de Software

Sistema de Chamados Protega

02 - Usando o SiteMaster - Informações importantes

Manual Captura S_Line

NESSE MANUAL VÃO SER SOLUCIONADAS AS SEGUINTES DÚVIDAS DE USO:

2 de maio de Remote Scan

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client

ÍNDICE. 1. Introdução O que é o Sistema Mo Porã Como acessar o Site Mo Porã Cadastro do Sistema Mo Porã...

Tutorial para envio de comunicados e SMS

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

Manual Administrador - Mídia System

MANUAL C R M ÍNDICE. Sobre o módulo de CRM Definindo a Campanha... 3

NetEye Guia de Instalação

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

AVG Admin 2012 SQL Server 2005 Express

Gravação da quantidade de expostos por grupo homogêneo

Manual SAGe Versão 1.2 (a partir da versão )

Bem vindo! Esta é a tela inicial do Webmail da Universidade federal de Juiz de Fora. O link de acesso é:

BEM-VINDO AO dhl PROVIEW

Manual de Administração DPS Printer 2.1 NDDigital S/A - Software

PAINEL GERENCIADOR DE S

Principais Novidades Abril/2013 a Junho/2013

Manual do usuário. Softcall Java. versão 1.0.5

URL para teste

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

MANUAL DE REFERÊNCIA DO CLIENTE S

Introdução a Java. Hélder Nunes

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Manual do Usuário Certificação

TRANSMISSOR ECF. Sistema de transmissão de arquivos Nota Fiscal Paulista. Manual de Utilização

CODE IGNITER INSTALAÇÃO & BANCO DE DADOS

Guia do usuário para utilização do sistema WCRC3 Central de Informações do Registro Civil da Arpen SP Gravação e envio dos registros

VVS Sistemas (21)

Manual do Google agenda. criação e compartilhamento de agendas

Parte I. Demoiselle Mail

O primeiro passo é verificar se a pasta Junk está disponível entre as pastas IMAP do usuário:

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO. Motor Periférico Versão 8.0

Instalando software MÉDICO Online no servidor

Procedimentos para Instalação do Sisloc

TUTORIAL INSTALAÇÃO DA ROTINA 2075 FRENTE DE CAIXA

NewAgent enterprise-brain

Passo a Passo do Checkout no SIGLA Digital

SPARK - Comunicador Instantâneo MANUAL DO USUÁRIO

Orientação a Objetos

GUIA DE ORIENTAÇÕES ROTEIRO DE CONFIGURAÇÃO DO SOFTWARE CRM PROFESSIONAL ANEXO III ROTEIRO DE CONFIGURAÇÃO - CRM PROFESSIONAL

SUAP Módulo Protocolo Manual do Usuário DTI DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SEÇÃO DE PROJETOS, SISTEMAS E PROCESSOS DE NEGÓCIO

Manual Sistema de Autorização Online GW

CONSTRUÇÃO DE BLOG COM O BLOGGER

Esta melhoria depende de execução do update de base updtmk58 e atualização do TOTVS CTI LINK conforme Procedimentos para Implementação.

Serviço Público Federal Universidade Federal do Pará - UFPA Centro de Tecnologia da Informação e Comunicação - CTIC S I E

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

Objetivo. Este documento tem como objetivo demonstrar o conceito, o processo de instalação e o funcionamento do SITEF (Tef dedicado).

3 Dicas MATADORAS Para Escrever s Que VENDEM Imóveis

DIRF 2013 Ano calendário DIRF Fase I - Geração dos Valores referentes a Plano de Saúde

Manual de Utilização ZENDESK. Instruções Básicas

MANUAL DE UTILIZAÇÃO DE SISTEMA HELP-DESK

SERVICE DESK MANAGER SDM. Manual do Sistema - DPOI

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Prefeitura Municipal de São Luís Manual de uso dos serviços da SEMFAZ. Prefeitura Municipal de São Luís Manual de uso dos serviços da SEMFAZ

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. Rodrigo Hjort. Robson Ximenes

Guia de criação de conta do agente de viagem. Este documento fornece orientações sobre o preenchimento do formulário de registro do ASK Travelport.

Entendendo como funciona o NAT

Sistema de Controle de Cheques GOLD

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Procedimentos para configurar o Motion Detection no D-ViewCam 1 Para configurar o Motion Detection no D-ViewCam, é necessário que a câmera IP esteja

O que devo fazer para configurar a NFe para utilização no novo Sistema Pharmacie?

Print Audit 6 - Instalação do SQL Server 2008 express R2

Tutorial para envio de comunicados

Primeiros Passos para o Simulador de Ações do FinanceDesktop. Parte A INICIANDO E CONFIGURANDO (5 passos)

e-nota C Consulta de Nota Fiscal eletrônica

Guia de boas práticas para realização de Backup

Manual de operação. BS Ponto Versão 5.1

SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS. MÓDULO DO CERTIFICADOR MANUAL DE OPERAÇÃO Versão 2.4.6

Tutorial do módulo Carteira Nacional de Militante

Procedimentos de Implantação ireport x Protheus

MANUAL DE UTILIZAÇÃO DA CENTRAL DE ATENDIMENTO PAIVA PIOVESAN

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

NetEye Guia de Instalação

Orientação a Objetos

Software. Gerenciamento de Manutenção

Comunidade Virtual de Disseminação e Aprendizagem-(ComViD@)

Manual Software Controle de Jukebox. Manual. Software Controle de Jukebox

MANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de ]

Moodle - CEAD Manual do Estudante

BEM-VINDO AO dhl PROVIEW GUIA RÁPIDO DE USO

Transcrição:

Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior

Demoiselle Audit... v 1. Auditor... 1 1.1. Auditor de Persistência... 1 1.2. Auditor de Visão... 1 1.3. Criando seu próprio Auditor... 1 2. Processor... 3 2.1. Processor REST... 3 2.2. Processor MONGO... 3 2.3. Criando seu próprio Processor... 4 3. Configurações do Audit... 5 3.1. Instação no Projeto... 5 3.2. Configurações do Sistema... 5 3.2.1. PersistenceAuditor... 6 3.3. Dashboard... 6 3.3.1. Como instalar o Dashboard... 7 4. Exemplo... 9 5. Recomendações... 11 6. Release Notes... 13 iii

iv

Demoiselle Audit O Demoiselle Audit foi criado para suprir uma necessidade que a comunidade tinha de uma forma de historiar os eventos das aplicações desenvolvidas com o Framework Demoiselle. Desde o inicio ainda na concepção do componente buscamos as tecnologias, referências literárias e em padrões de mercado, as boas práticas e o que informações seriam capazes de registrar um momento e torná-lo um insumo para uma possível auditoria. Utilizamos duas fontes principais de referência o COBIT e o NIST. Sugerimos que essas fontes sejam usadas como base para a implantação eficaz de um processo consistente para que em caso de auditoria a mesma seja válida. O Demoiselle Audit é apenas uma peça no conjunto de procedimentos que garantem uma boa auditoria, apenas o uso do componente não é suficiente em casos de ações judiciais, a confiabialidade e invioalabilidade devem ser garantidas para que essas informações sejam consideradas relevantes. O Demoiselle Audit é dividido em três módulos e uma implementação de um dashboard para auxilio no desenvolvimento. 1. Core Principal módulo do sistema funicona com um agregador para suportar a plugabilidade dos Auditores e Processadores e tem mecanismo de tolerância a falha. 2. Auditores O módulo responsável por observar e capturar as informações da aplicação e enviar para o Core. A implementação de referência do Auditor fará a captura na camada de persistência da aplicação funcionando em conjunto com o JPA coletando os dados logo após a operação de CRUD ter sido concluída. 3. Processadores O módulo responsável pela conclusão do procedimento, ou seja ele tem a tarefa de persistir o elemento trilha. A implementação de referência do Processador envia para um serviço REST, mas podem haver implementações onde são enviados para um banco NoSQL, o mesmo banco da aplicação ou até mesmo um serviço de mensageria. 4. Dashboard Esta implementação não faz parte do mecanismo de funcionamento do Demoiselle Audit, mas serve como ferramenta de apoio à implantação e desenvolvimento do componente, ela consiste em quatro formas de visualizações dos dados persistidos pelo Demoiselle Audit e contém um serviço REST que recebe a trilha gerada pela implementação de referência do Processador, servindo de apoio à implantação do componente. NIST v

Demoiselle Audit Arquitetura da ferramenta Demoisele Audit. Funcionamento da ferramenta Demoisele Audit. vi

Auditor O objetivo dos Auditors é estabelecer a camada que será auditada, atualmente exste dois Auditors: camada de Persistência chamada PersistenceAuditor e para Visão chamado ViewAuditor. Um Auditor tem como objetivo executar a coleta de dados, preenchimento do objeto Trail com dados e disparar evento para o Processors. Os dados coletados pelos Auditor são: Quem fez a operação? Horário da operação? IP de origem Nome do Sistema O que foi realizado? Qual objeto foi manipulado? Quais foram os dados atingidos pela operação? 1.1. Auditor de Persistência Para utilizar esse Auditor é necessário adicionar no pom.xml do seu projeto o seguinte trecho: <dependency> <groupid>br.gov.frameworkdemoiselle.component.audit</groupid> <artifactid>demoiselle-audit-auditors-persistence</artifactid> <version>1.0.0-snapshot</version> </dependency> 1.2. Auditor de Visão Para utilizar esse Auditor é necessário adicionar no pom.xml do seu projeto o seguinte trecho: <dependency> <groupid>br.gov.frameworkdemoiselle.component.audit</groupid> <artifactid>demoiselle-audit-auditors-view</artifactid> <version>1.0.0-snapshot</version> </dependency> 1.3. Criando seu próprio Auditor Se você tiver interesse em auditar outra camada da sua aplicação você deverá: 1. Criar um projeto Maven e utilizar o parent no seu pom.xml 1

Capítulo 1. Auditor <parent> <groupid>br.gov.frameworkdemoiselle.component.audit</groupid> <artifactid>demoiselle-audit-parent</artifactid> <version>1.0.0-snapshot</version> </parent> 2. Criar uma classe que extenda de br.gov.frameworkdemoiselle.component.audit.implementation.auditors.abstractauditor; 3. Implementar os métodos que irão interceptar o ciclo de vida da camada; 4. Criar um objeto do tipo Trail e preencher seus dados básicos; 5. Chamar o método da consume([objeto Trail]); 6. Caso seu Processor precise ser configurado, você deverá criar uma Classe que utilize a funcionalidade @Configuration do Demoiselle Demoiselle Configuration [http://demoiselle.sourceforge.net/docs/ framework/reference/2.4.0/html/configuracao.html], como exemplo você poderá se basear na classe impl/ processors/rest/src/main/java/br/gov/frameworkdemoiselle/component/audit/processors/rest/restconfig.java Apartir desse momento o componente estará apto a repassar esse objeto para os Processors definidos no pom.xml do seu projeto. Na sua implementação do seu sistema você deverá informar as seguintes informações: Tabela 1.1. Configurações Dado Profile Where UserName Local de Preenchimento user.setattribute("profile", [Profile/Perfil do usuário no sistema]) user.setattribute("ip", [IP do usuário no sistema]) user.setattribute("name", [Login/Nome/Identificador do usuário no sistema]) Maiores informações no link Demoiselle Security [http://demoiselle.sourceforge.net/docs/framework/ reference/2.4.0/html/security.html] Um exemplo de um Auditor esta na classe impl/auditors/persistence/src/main/java/br/gov/frameworkdemoiselle/ component/audit/auditors/persistence/persistenceauditor.java 2

Processor Um Processor tem como finalidade dar um destino que você deseja para o objeto que representa a trilha de auditoria. Atualmente estamos disponibilizando um Processor de REST para atender a questão de ser multi-sistema e outro Processor para MONGO. 2.1. Processor REST Para utilizar esse Processor é necessário adicionar no pom.xml do seu projeto o seguinte trecho: <dependency> <groupid>br.gov.frameworkdemoiselle.component.audit</groupid> <artifactid>demoiselle-audit-processors-rest</artifactid> <version>1.0.0-snapshot</version> </dependency> Para o correto funcionamento é necessário adicionar no demoiselle.properties as seguintes configurações: Tabela 2.1. Configuração demoiselle.properties Chave frameworkdemoiselle.audit.processor.rest.server.url Descrição URL do serviço REST para o envio das trilhas. 2.2. Processor MONGO Para utilizar esse Processor é necessário adicionar no pom.xml do seu projeto o seguinte trecho: <dependency> <groupid>br.gov.frameworkdemoiselle.component.audit</groupid> <artifactid>demoiselle-audit-processors-mongo</artifactid> <version>1.0.0-snapshot</version> </dependency> Para o correto funcionamento é necessário adicionar no demoiselle.properties as seguintes configurações: Tabela 2.2. Configuração demoiselle.properties Chave Descrição frameworkdemoiselle.audit.processor.mongo.server.url URL do servidor onde se encontra o MongoDB frameworkdemoiselle.audit.processor.mongo.database.name URL do servidor onde se encontra o MongoDB frameworkdemoiselle.audit.processor.mongo.collection.name frameworkdemoiselle.audit.processor.mongo.database.user frameworkdemoiselle.audit.processor.mongo.database.password Nome da coleção Usuário (se necessário) Senha 3

Capítulo 2. Processor 2.3. Criando seu próprio Processor Você poderá criar o seu próprio ponto de extensão, podendo ser um JMS, FTP, Banco de Dados NoSql, você tem a liberdade de criar, para que isso sejá possível você deve criar um projeto Maven e utilizar o parent no seu pom.xml: 1. Criar um projeto Maven e utilizar o parent no seu pom.xml <parent> <groupid>br.gov.frameworkdemoiselle.component.audit</groupid> <artifactid>demoiselle-audit-parent</artifactid> <version>1.0.0-snapshot</version> </parent> 2. Criar uma classe que extenda de br.gov.frameworkdemoiselle.component.audit.implementation.processor.abstractprocessor e implementar o método public void execute(@observes @AuditProcessor Trail trail) 3. É dentro do bloco de código você implementará o destino que você deseja dar ao objeto Trail. 4. Para o bom funcionamento do seu Processor você deverá seguir as seguintes recomendações: 5. Antes de implementar seu código é necessário chamar o método super.execute(trail) para que o componente possa saber qual é a classe do Processor que esta sendo processada, isso é necessário para a situação de falha na execução do seu Processor e o componente possa reprocessar novamente no futuro; Quando houver algum tratamento de exceção no seu código como blocos try e catch você deverá além de realizar seu próprio tratamento a chamada do método fail([string com a mensagem de Erro], [Objeto Trail]); para que o componente possa reprocessar novamente no futuro; 4

Configurações do Audit O Demoseille Audit possui como base 3 módulos (Core, Processors e Auditors). O Core orquestra a integração entre os Processadores e os Auditores, que são implementações de cada projeto. 3.1. Instação no Projeto Em seu projeto que você deseja auditar, você deve adicionar no seu pom.xml no campo de dependências do projeto as seguintes linhas: <dependencies> <dependency> <groupid>br.gov.frameworkdemoiselle.component.audit</groupid> <artifactid>demoiselle-audit-auditors-persistence</artifactid> <version>1.0.0-snapshot</version> </dependency> <dependency> <groupid>br.gov.frameworkdemoiselle.component.audit</groupid> <artifactid>demoiselle-audit-auditors-view</artifactid> <version>1.0.0-snapshot</version> </dependency> <dependency> <groupid>br.gov.frameworkdemoiselle.component.audit</groupid> <artifactid>demoiselle-audit-processors-rest</artifactid> <version>1.0.0-snapshot</version> </dependency> <dependency> <groupid>br.gov.frameworkdemoiselle.component.audit</groupid> <artifactid>demoiselle-audit-processors-mongo</artifactid> <version>1.0.0-snapshot</version> </dependency> </dependencies> No código acima estamos utilizando o Auditor para a camada de Persistência e para a camada de Visão e o Processor para REST e o Processor para MONGO, você poderá adicionar quantos Processors e quantos Auditors você quiser. 3.2. Configurações do Sistema No seu arquivo demoiselle.properties você precisará adicionar as seguintes linhas: Tabela 3.1. Configuração demoiselle.properties Chave frameworkdemoiselle.audit.system Descrição Nome do seu Sistema frameworkdemoiselle.audit.scheduler.repeat.interval Intervalo de tempo em milisegundos para o reprocessamento das trilhas frameworkdemoiselle.audit.scheduler.start.time Tempo em milisegundos de quando será executado o primeiro reprocessamento após o inicio da aplicação 5

Capítulo 3. Configurações do... Chave frameworkdemoiselle.audit.folder.fail.objects Descrição Pasta onde a aplicação terá direito de escrita e leitura para o armazenamento das trilhas que apresentaram problemas no processamento Para o Processor de REST você deverá adicionar a seguinte linha: Tabela 3.2. Configuração demoiselle.properties Chave frameworkdemoiselle.audit.processor.rest.server.url Descrição Endereço do Serviço REST (Ex.: http://localhost:8080/ dash) Para o Processor de MONGO você deverá adicionar a seguinte linha: Tabela 3.3. Configuração demoiselle.properties Chave frameworkdemoiselle.audit.processor.mongo.server.url frameworkdemoiselle.audit.processor.mongo.database.name frameworkdemoiselle.audit.processor.mongo.collection.name frameworkdemoiselle.audit.processor.mongo.database.user frameworkdemoiselle.audit.processor.mongo.database.password Descrição Endereço do MongoDB Nome do Database Nome da Coleção Usuário (se necessário) Senha 3.2.1. PersistenceAuditor Você poderá escolher quais serão suas Entidades JPA que serão auditadas na camada de persistência, para isso adicione a anotação do JPA @EntityListeners com o valor de PersistenceAuditor.class. Exemplo : @Entity @EntityListeners(value = PersistenceAuditor.class) public class Bookmark implements Serializable {... } 3.3. Dashboard Para facilitar a busca de informações do que foi feito no sistema contruímos um Dashboard que traz 4 visões diferentes dos mesmos dados: Visão de Sistema que se aprofunda em Pessoa e a Funcionalidade executada; Visão da Pessoa que se aprofunda no Sistema e a Funcionalidade executada; Visão de Funcionalidade que se aprofunda no Sistema e a Pessoa que executou; Visão de Rastreamento que através de filtros como Sistema, Objeto e Identificador do Objeto mostrar o histórico de operações realizadas no Objeto; 6

Como instalar o Dashboard O Dashboard também fornece um serviço de REST para o Processor RESTProcessor, caso você utilize este processor no seu projeto e não queira implementar seu próprio serviço de REST você poderá utilizar o Dashboard para essa finalidade. 3.3.1. Como instalar o Dashboard Faça um clone do projeto e acesse a pasta demoiselle-audit/impl/dashboard, você precisará alterar o arquivo persistence.xml de acordo com as configurações do seu banco de dados onde serão armazenados as trilhas de auditoria, após feito essa configuração abra um terminal na pasta do "dashboard" e execute o comando maven: $mvn clean compile package Esse comando irá gerar um arquivo chamado demoiselle-audit-dashboard.war na pasta target. Agora que você já tem o arquivo.war você poderá fazer o deploy no seu servidor. 7

8

Exemplo Você encontrará no link para o projeto BookmarkAudit [https://github.com/demoiselle/laboratory/tree/master/ examples/bookmark-audit] que utiliza o componente de auditoria; 9

10

Recomendações Por se tratar de um componente de auditoria alguns pontos devem ser observados: O servidor onde serão armazenadas as trilhas de auditoria deverá ser blindado e com acesso restrito para que seja garantida a confiabilidade das informações armazenadas; Seguir as recomendações do NIST no link [http://csrc.nist.gov/publications/nistpubs/800-92/sp800-92.pdf] 11

12

Release Notes Dica Para reportar problemas, abrir discussões ou perguntar algo utilize as Issues do GitHub no endereço https://github.com/demoiselle/audit/issues. Versão 1.0.0 13

14