Pesquisa de site

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:

  1. Sysdig – uma poderosa ferramenta de monitoramento e solução de problemas de sistema para Linux
  2. BCC – Ferramentas de rastreamento dinâmico para monitoramento de desempenho do Linux, rede e muito mais
  3. 30 exemplos úteis de ‘comando ps’ para monitoramento de processos Linux
  4. CPUTool – Limite e controle a utilização da CPU de qualquer processo no Linux
  5. 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.