Eu sei como usar inotify
para monitorar eventos do sistema de arquivos no linux. Gostaria de saber se existe algum utilitário semelhante ao inotify
qual possa ser usado para monitorar eventos que não sejam do sistema de arquivos.
Por exemplo, eu gostaria de registrar manipuladores de eventos que podem ser acionados por coisas como a inicialização ou desligamento de certos executáveis, o recebimento de conexões ou desconexões de outros hosts, montagens ou desmontagens de sistemas de arquivos, login ou logout de determinados usuários, etc.
O syslog
recurso não é suficiente para esse propósito, porque (por exemplo) o início e a interrupção de executáveis arbitrários não são registrados em nenhum lugar. O mesmo vale para montagens e desmontagens arbitrárias.
Eu sei que posso escrever programas para ler informações do sistema de /proc
arquivos e executar código com base nas condições encontradas. Também sei que posso escrever programas para monitorar wtmp
e outros recursos semelhantes e executar código semelhante com base no que for encontrado. No entanto, estou querendo saber se existe algum tipo de recurso como inotify
o que poderia ser usado para encapsular esses tipos de tarefas de monitoramento que não são do sistema de arquivos sob uma interface padrão.
Obrigado por quaisquer sugestões.
Acredito que você possa fazer pelo menos um pouco do que procura com o Sysdig
Chisels
. Sysdig é uma ferramenta de código aberto que permite monitorar chamadas do sistema Linux. Os cinzéis permitem que você escreva scripts para executar ações com base nas chamadas de sistema observadas.Dê uma olhada no guia do usuário
Você também pode dar uma olhada no subsistema de auditoria Linux, bons documentos para RHEL estão em https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security_guide/chap-system_auditing .
Você pode adicionar regras que registram eventos no log de auditoria e analisar o log de auditoria para fazer o que quiser com ele.