A Importância de Gerar e Manter Logs

find-logs

Logs são registros de atividades gerados por programas e serviços de um computador. Eles podem ficar armazenados em arquivos, na memória do computador ou em bases de dados. São um conjunto de registros com marcação temporal, que suportam apenas inserção, e que representam eventos que aconteceram em um computador ou equipamento de rede. Os logs relacionados a incidentes de segurança, são normalmente gerados por firewalls ou por sistemas de detecção de intrusão.  De maneira geral é possível definir os mesmos como registros de eventos do sistema operacional, redes, aplicações e de sistemas informatizados específicos, capazes de prover informações vitais para a notificação de incidentes no ambiente computacional.

Os registros de log constituem uma fonte básica de informação tanto para a detecção, como para a resolução de problemas. Com a análise destas informações providas pelos logs é possível detectar o uso indevido do ambiente de TI, ataques, exploração de vulnerabilidades, rastrear (auditar) as ações executadas por um usuário e detectar problemas de hardware ou nos programas e serviços instalados no computador. Com base nestas informações é possível tomar medidas preventivas para tentar evitar que um problema maior ocorra ou, caso não seja possível, tentar reduzir os danos.

Geração de Arquivos de Logs

Geração de logs é o procedimento pelo qual um sistema operacional ou aplicativo registra eventos à medida que eles acontecem e preserva esses registros para posterior análise. Os registros de log fornecem a única evidência real de que um crime realmente aconteceu. Os arquivos de logs são essenciais para a notificação de incidentes, pois são capazes de armazenar diversas informações importantes, como a data e o horário em que uma determinada atividade ocorreu, o fuso horário, o endereço IP de origem da atividade, os dados completos que foram enviados, alterados ou excluídos e o resultado da atividade (se ela ocorreu com sucesso ou não).

A geração de logs é a geração de registros de eventos ou estatísticas para prover informações sobre a utilização e performance de um sistema, ou seja, são muito importantes para a administração segura de sistemas, pois possuem como premissa registrar informações sobre o seu funcionamento e sobre eventos por ele detectados. Na maioria das vezes, os logs são o único recurso que um administrador possui para descobrir as causas de um problema ou um comportamento anormal.

Os arquivos de logs se caracterizam por ser flexíveis, onde mediante configurações é possível registrar desde eventos críticos até praticamente todos os eventos de um sistema, desta forma, são considerados a principal fonte de informação sobre o funcionamento dos programas servindo como ferramenta para a correção de erros e verificações de rotina.

Qualquer registro de log gerado por um sistema pode ajudar a descobrir problemas na execução de softwares, problemas de hardwares, tentativas de invasão, acessos indevidos, entre outras coisas. Neste sentido, é importante manter estes registros seguros e intactos, pois em uma eventual auditoria de sistemas estes logs serão importantes. Portanto, a integridade e disponibilidade dos logs são fatores vitais para garantir a continuidade dos negócios. Neste cenário destacam-se as ferramentas que unificam a administração destes registros, pois possibilitam gerenciar redes e sistemas informatizados mais complexos.

Por meio dos arquivos de log é possível registrar ações dos usuários, o que os torna uma ótima fontes de informação para auditorias futuras. Os logs registram quem acessou os recursos computacionais, aplicativos, arquivos de dados e utilitários, quando foi feito o acesso e que tipo de operações foram efetuadas.

Desta forma, é possível identificar um invasor ou usuário não autorizado que realizou acesso a um determinado sistema, apagou ou alterou dados, acessou aplicativos, mudou configurações do sistema operacional com o intuito de prejudicar a organização e facilitar futuras invasões. Sem os registros de logs, estas ações não seriam identificadas fazendo com que o administrador sequer ficasse sabendo que houve uma invasão.

A Importância dos Logs

O tema logs para usuários, gerentes e analistas de segurança, técnicos de redes e especialistas voltados para a área de segurança, é estratégico para a segurança de suas arquiteturas e sistemas. Quando ocorrem incidentes de segurança como problema com desktop, parada de um servidor, ataque a uma rede, alterações em banco de dados entre outras situações de um ambiente tecnológico, os logs se tornam um ponto comum de informação. Desta forma, o registro, a coleta e análise de logs são procedimentos vitais em auditorias de segurança dentro de uma organização.

Uma auditoria de segurança bem sucedida depende da existência de registros de logs íntegros e confiáveis. Independente do quão seguro é um computador, uma rede ou um sistema, nunca será possível confiar totalmente nos registros de um sistema que foi comprometido, pois isso dificulta ou até mesmo impossibilita uma auditoria de sucesso. Quando os registros de auditoria estão seguros é possível aumentar as chances de sucesso ao se correlacionar e identificar padrões ou rever os incidentes de segurança ocorridos em um sistema. Para alcançar estes objetivos é recomendável estabelecer um sistema de logs centralizado e dedicado, ou seja, que tenha como função exclusiva a coleta, registro e análise de eventos de logs.

Devido ao fato de armazenar dados gerados pelo sistema, aplicações, rede, atividades dos usuários, entre outros, os logs fornecem inúmeras informações que se transformam em indicadores capazes de medir os níveis de segurança e de avaliar se medidas de segurança estão surtindo o efeito esperado e planejado. A melhor forma de verificar a extensão de um incidente de segurança, identificando que ativo foi violado e que a informação foi exposta é por meio dos registros de logs, por isso eles são vitais para a continuidade dos negócios de uma organização. Neste ponto, é importante ressaltar quanto ao uso correto dos softwares de analise de logs, pois estes registros são gerados de diversas formas e devem ser interpretados corretamente, possibilitando uma compactação e consolidação das informações no sentido de melhorar a extração do resultado final.

Caracterização e Padrões de Logs

Devido ao fato de existir uma grande quantidade de aplicações distintas, torna-se inviável haver um padrão único para todas as mensagens de logs. Cada aplicação específica possui um formato diferente para estes registros. Mesmo havendo estas particularidades, existem informações básicas que estão presente na maioria dos logs:

  • Marcação temporal (timestamp): contém a informação de data e hora que o registro de log foi gerado. É muito importante para que a pessoa possa comparar a ocorrência de um evento com outros registros de log no tempo e, assim, correlaciona-los;
  • Severidade: caracteriza a importância daquele registro de log tendo em vista a integridade do sistema. É determinada em escala gradativa contendo, no mínimo, cinco níveis:
    • Debug ou trace: informações sobre o fluxo de execução do sistema, muito utilizada na fase de desenvolvimento de um software;
    • Info ou notice: caracteriza um evento meramente informacional;
    • Warn: caracteriza um evento sobre o qual se deve ter uma maior atenção e, possivelmente, executar uma ação para prevenção de um erro;
    • Erro: caracteriza um evento de erro no sistema;
    • Fatal: caracteriza um erro grave, que pode causar danos ao sistema.

Quando existir um gerenciamento centralizado de logs, outra informação importante que deve estar presente nestes registros é a fonte que o originou. Esta informação vai identificar o servidor, ou aplicação, que gerou aquele evento de log.

Armazenamento de Logs

Os eventos de logs podem ser armazenados de duas formas: on-line e off-line. A forma on-line se refere à implantação de um loghost centralizado e dedicado à coleta e ao armazenamento de logs de outros sistemas em uma rede, este serve como um repositório redundante de logs. A grande vantagem desta forma de armazenamento é que um loghost centralizado facilita a análise dos logs e correlação de eventos ocorridos em sistemas distintos. Sempre que possível, o uso de loghosts centralizados é fortemente recomendado. A forma off-line se refere ao armazenamento de logs em dispositivos, tais como fita, HD externo, CD-R ou DVD-R. Na forma off-line é recomendável gerar um checksum criptográfico (tal como MD5 ou SHA-1) dos logs que são armazenado. Desta forma é possível verificar a integridade destes registros, no caso de eles serem alterados.

Sistema de Gerenciamento de Logs

Os logs possibilitam o acompanhamento do que acontece em um ambiente informatizado. Desta forma, é importante que eles sejam monitorados com frequência para possibilitar que eventuais problemas sejam identificados e solucionados. Neste sentido, o gerenciamento de logs envolve um amplo conjunto de atividades:

  • Análise Léxica e Transformação: processo que analisa as linhas de mensagens de log e produz uma saída formatada em um padrão mais adequado para futuro processamento;
  • Transmissão e Recepção: processo que transmite os eventos de log para um servidor central em conjunto com o processo que recebe as mensagens de log no servidor;
  • Análise Sobre Eventos de Log: processo, que por meio de algoritmos, regras ou consultas extrai as informações relevantes sobre mensagens de logs;
  • Compactação: processo que reduz o tamanho de uma informação por meio de algoritmos de compactação de texto;
  • Armazenamento: processo que compreende guardar os registros de logs por um tempo determinado;
  • Indexação e Busca: processo responsável por estruturar os registros de logs de forma que sejam posteriormente pesquisados;
  • Visualização: processo que permite a visualização dos registros de logs sejam eles em tempo real ou em registros já armazenados.

Este conjunto de atividades deu origem a uma nova classe de sistemas denominados de Sistemas de Gerenciamento de Log (Log Management Systems – LMS).  Estes sistemas implementam os procedimentos acima listados e normalmente consistem em utilizar a forma de armazenamento on-line, ou seja, um loghost centralizado para receber, indexar, analisar e visualizar os eventos de logs. Um LMS é capaz de suprir a necessidade de uma pequena aplicação até sistemas mais complexos com grande volume de acessos e distribuídos.

Referências

BRASIL. Núcleo de Informação e Coordenação do Ponto Br. Análise e Interpretação de Logs. 2003a. Disponível em: <http://www.cert.br/docs/palestras/nbso-gter15-tutorial2003.pdf>. Acesso em: 12 fev. 2013.

BRASIL. Núcleo de Informação e Coordenação do Ponto Br. Cartilha de Segurança para Internet. 2013b. Disponível em: <http://cartilha.cert.br/mecanismos/>. Acesso em: 12 fev. 2013.

BRASIL. Tribunal de Contas da União (TCU). S. Boas Práticas em Segurança da Informação. 2008. Disponível em: <http://portal2.tcu.gov.br/portal/pls/portal/docs/2059160.PDF>. Acesso em: 12 fev. 2013.

CABRAL, Bill Carlos. Rsyslog – Gerenciamento Centralizado de Logs. 2012. Disponível em: <http://www.vivaolinux.com.br/artigo/Rsyslog-Gerenciamento-centralizado-de-logs>. Acesso em: 12 fev. 2013.

CADERMAN, Alexandre. Segurança em Tecnologia das Informações: Log´s – Como interpretá-los?. Disponível em: <http://www.viaseg.com.br/artigos/seguranca_logs_alexandre.htm>. Acesso em: 12 fev. 2013.

CANSIAN, Adriano Mauro. Conceitos para perícia forense computacional. Anais VI Escola Regional de Informática da SBC, Instituto de Ciências Matemáticas e Computação de São Carlos, USP (ICMC/USP), São Carlos, SP, 30 de abril a 02 de maio de 2001. ISBN 85-87837-05-2, p.141-156, 2001.

CLEMENTE, Ricardo Gomes. Uma Arquitetura para Processamento de Eventos de Log em Tempo Real. 2008. 72 f. Tese (Mestrado) – Curso de Informática, Puc-rio – Pontifícia Universidade Católica Do Rio De Janeiro, Rio de Janeiro, RJ, 2008.

DALLMANN, Marciano D. Protótipo de Uma Ferramenta para Análise do Log de Eventos de Um Firewall. Universidade Regional de Blumenau – FURB. Centro de Ciências Exatas e Naturais. Curso de Pós-graduação em Tecnologias para o Desenvolvimento de Aplicações Web, 2005.

FONSECA, Fernando Sérgio Santos. Sistema de Tratamento de Arquivos de Logs. 2005. Disponível em: <http://segurancaobjetiva.files.wordpress.com/2010/10/mono-fernandofonseca.pdf>. Acesso em: 12 fev. 2013.