Skip to main content

Buscando eventos e Criando Relatórios



Filtro de Buscas com ausearch


O ausearch é uma ferramenta poderosa para pesquisar eventos específicos nos arquivos de log de auditoria, facilitando a análise de segurança e o rastreamento de atividades. Por padrão, o ausearch realiza buscas no arquivo /var/log/audit/audit.log, mas é possível especificar outro arquivo com a opção -if <nome_do_arquivo>.


Ao combinar diferentes opções em um único comando ausearch, ele aplica o operador AND entre tipos diferentes de campos e o operador OR entre múltiplas instâncias do mesmo campo, proporcionando maior flexibilidade na criação de filtros.



Exemplos de uso do ausearch para Consultas em Logs de Auditoria


Para localizar tentativas de login que falharam:

$ ausearch --message USER_LOGIN --success no --interpret

Para buscar tentativas de login que deram certo:

$ ausearch --message USER_LOGIN --success yes --interpret
type=USER_LOGIN msg=audit(10/25/2024 00:29:58.896:121) : pid=836 uid=root auid=vagrant ses=2 subj=unconfined msg='op=login id=vagrant exe=/usr/sbin/sshd hostname=192.168.121.1 addr=192.168.121.1 terminal=/dev/pts/0 res=success'

Para listar eventos de criação, exclusão e modificação em contas de usuários e grupos:

$ ausearch -m ADD_USER -m DEL_USER -m ADD_GROUP -m USER_CHAUTHTOK -m DEL_GROUP -m CHGRP_ID -m ROLE_ASSIGN -m ROLE_REMOVE -i

Para localizar todas as ações realizadas por um usuário específico, utilizando seu ID de autenticação (AUID):

$ ausearch -ua 1000 -i

Para encontrar chamadas de sistema que falharam entre ontem e agora:

$ ausearch --start yesterday --end now -m SYSCALL -sv no -i


Explicação das Principais Opções


Abaixo vejos algumas explicações dos parâmetros usamos nos exemplos acima.

  • --message ou -m: Filtra os eventos pelo tipo de mensagem (ex.: USER_LOGIN, ADD_USER).
  • --success ou -sv: Filtra eventos pelo sucesso (yes) ou falha (no) da operação.
  • --interpret ou -i: Exibe os dados em formato legível, substituindo IDs por nomes.
  • --start e --end: Especifica o intervalo de tempo da busca, como yesterday (ontem) e now (agora).
  • -ua: Filtra ações pelo ID de autenticação (auid) do usuário.

Esses comandos permitem consultas flexíveis e detalhadas nos logs de auditoria, sendo úteis para auditorias e investigações específicas.



Relatórios com aureport


O aureport é uma ferramenta que gera relatórios estruturados dos eventos de auditoria. Por padrão, ele consulta todos os arquivos audit.log no diretório /var/log/audit/, mas você pode especificar um arquivo diferente com a opção -if <nome_do_arquivo>. O aureport é ideal para obter uma visão resumida e organizada dos eventos registrados, facilitando a análise e investigação.



Exemplos de Uso do aureport para Relatórios de Auditoria


Para gerar um relatório dos eventos dos três dias anteriores (excluindo o dia atual):

$ aureport --start 04/08/2013 00:00:00 --end 04/11/2013 00:00:00

Para listar eventos relacionados a arquivos executáveis:

$ aureport -x

Para um resumo desses eventos:

$ aureport -x --summary
Executable Summary Report
=================================
total file
=================================
654 /usr/sbin/cron
638 /usr/lib/systemd/systemd

Para ver um resumo de eventos com falha para cada usuário:

$ aureport -u --failed --summary -i
Failed User Summary Report
===========================
total auid
===========================
1 vagrant

Para gerar um resumo de tentativas de login com falha agrupadas por usuário:

$ aureport --login --summary -i

Combinando ausearch e aureport, você pode listar os eventos de acesso a arquivos realizados por um usuário com UID 1000:

$ ausearch --start today --loginuid 1000 --raw | aureport -f --summary

Para listar todos os arquivos de auditoria e o intervalo de eventos contidos neles:

$ aureport -t


Explicação das Principais Opções


Abaixo vejos algumas explicações dos parâmetros usamos nos exemplos acima.

  • --start e --end: Define o intervalo de tempo para consulta dos eventos.
  • -x: Foca em eventos que envolvem arquivos executáveis.
  • --summary: Gera um resumo dos eventos, listando apenas dados agregados.
  • --failed: Filtra para incluir somente os eventos de falha.
  • -u: Agrupa o relatório por usuário.
  • --login: Foca em eventos de login.
  • -i: Exibe os dados em um formato legível para humanos, substituindo IDs por nomes.

Essas opções tornam o aureport uma ferramenta flexível para gerar relatórios específicos e sumarizados, facilitando o monitoramento da segurança e conformidade do sistema.