Como auditar o processo Linux usando ‘autrace’ no CentOS/RHEL
Este artigo é nossa série contínua sobre auditoria Linux. Em nossos últimos três artigos explicamos como auditar sistemas Linux (CentOS e RHEL), consultar logs auditados usando ausearch e gerar relatórios usando o utilitário aureport.
Neste artigo, explicaremos como auditar um determinado processo usando o utilitário autrace, onde analisaremos um processo rastreando as chamadas de sistema que um processo faz.
Leia também: Como rastrear a execução de comandos em shell script com rastreamento de shell
O que é autrace?
autrace é um utilitário de linha de comando que executa um programa até ele sair, assim como strace; ele adiciona as regras de auditoria para rastrear um processo e salva as informações de auditoria no arquivo /var/www/audit/audit.log. Para que funcione (ou seja, antes de executar o programa selecionado), você deve primeiro excluir todas as regras de auditoria existentes.
A sintaxe para usar o autrace é mostrada abaixo e aceita apenas uma opção, -r
que limita as syscalls coletadas às necessárias para avaliar o uso de recursos do processo:
autrace -r program program-args
Atenção: Na página de manual do autrace, a sintaxe é a seguinte, o que na verdade é um erro de documentação. Porque ao usar este formulário, o programa que você executa assumirá que você está usando uma de suas opções internas, resultando em um erro ou executando a ação padrão habilitada pela opção.
autrace program -r program-args
Se você tiver alguma regra de auditoria presente, autrace mostrará o seguinte erro.
autrace /usr/bin/df
Primeiro exclua todas as regras auditd com o seguinte comando.
auditctl -D
Em seguida, execute o autrace com seu programa alvo. Neste exemplo, estamos rastreando a execução do comando df, que mostra o uso do sistema de arquivos.
autrace /usr/bin/df -h
Na captura de tela acima, você pode encontrar todas as entradas de log relacionadas ao rastreamento, no arquivo de log de auditoria usando o utilitário ausearch da seguinte maneira.
ausearch -i -p 2678
Onde a opção:
-i
– permite a interpretação de valores numéricos em texto.-p
– passa o ID do processo a ser pesquisado.
Para gerar um relatório sobre os detalhes do rastreamento, você pode criar uma linha de comando de ausearch e aureport como esta.
ausearch -p 2678 --raw | aureport -i -f
Onde :
--raw
– diz ao ausearch para entregar entrada bruta ao aureport.-f
– permite relatórios sobre arquivos e soquetes af_unix.-i
– permite a interpretação de valores numéricos em texto.
E usando o comando abaixo, estamos limitando as syscalls coletadas àquelas necessárias para analisar o uso de recursos do processo df.
autrace -r /usr/bin/df -h
Supondo que você tenha atualizado um programa na última semana; o que significa que há muitas informações despejadas nos logs de auditoria. Para produzir um relatório apenas para os registros de hoje, use o sinalizador -ts
ausearch para especificar a data/hora de início da pesquisa:
ausearch -ts today -p 2678 --raw | aureport -i -f
É isso! desta forma você pode rastrear e auditar processos específicos do Linux usando a ferramenta autrace. Para obter mais informações, verifique as páginas de manual.
Você também pode ler estes guias úteis e relacionados:
- Sysdig – uma poderosa ferramenta de monitoramento e solução de problemas de sistema para Linux
- BCC – Ferramentas de rastreamento dinâmico para monitoramento de desempenho do Linux, rede e muito mais
- 30 exemplos úteis de ‘comando ps’ para monitoramento de processos Linux
- CPUTool – Limite e controle a utilização da CPU de qualquer processo no Linux
- Encontre os principais processos em execução por maior uso de memória e CPU no Linux
É tudo por agora! Você pode fazer qualquer pergunta ou compartilhar ideias sobre este artigo por meio do comentário abaixo. No próximo artigo, descreveremos como configurar o PAM (Pluggable Authentication Module) para auditoria de entrada TTY para usuários especificados CentOS/RHEL.