O Samhain pode monitorar um arquivo que não existe, mas que pode existir no futuro?

8

Eu gostaria que o Samhain monitore um arquivo, por exemplo /root/somefile,. Este arquivo não existe atualmente, mas eu gostaria de ser notificado se ele for criado a qualquer momento.

Eu adiciono isso a samhainrc:

[ReadOnly]
file = /root/somefile

Isso faz com que o Samhain emita estas entradas de log:

Oct 18 22:54:04 ip-172-31-24-115 Samhain[17123]: CRIT   :  [2018-10-18T22:54:04+0000] interface=<lstat>, msg=<No such file or directory>, userid=<0>, path=</root/somefile>
Oct 18 22:54:04 ip-172-31-24-115 Samhain[17123]: CRIT   :  [2018-10-18T22:54:04+0000] msg=<POLICY MISSING>, path=</root/somefile>
Oct 18 22:54:19 ip-172-31-24-115 Samhain[17157]: INFO   :  [2018-10-18T22:54:19+0000] msg=<Checking       [ReadOnly]>, path=</root/somefile>
Oct 18 22:54:19 ip-172-31-24-115 Samhain[17157]: NOTICE :  [2018-10-18T22:54:19+0000] msg=<Check failed>, path=</root/somefile>

E se eu criar esse arquivo echo test > /root/somefile, não receberei nenhuma violação de política registrada - a adição desse arquivo passou despercebida.

Como posso configurar o Samhain para me notificar se um arquivo de interesse anteriormente inexistente for criado?


A IgnoreMissingopção de configuração parece à primeira vista útil, mas não é. Com IgnoreMissing = /root/somefilein samhainrc, não há mudança de comportamento. Parece que esta opção é destinada a arquivos que devem desaparecer posteriormente - suprime um alerta se um arquivo existia, mas agora não existe, por exemplo, se um processo automatizado excluir arquivos desatualizados.


Embora /root/somefileseja obviamente constituído nesse caso, um exemplo de onde um arquivo inexistente começa a existir repentinamente é se o arquivo /home/someuser/.ssh/authorized_keysnão existia anteriormente, mas existe repentinamente - esse poderia ser um usuário mal-intencionado que explorou algo para derrubar uma backdoor, permitindo para fazer logon como um usuário de shell. Gostaria de ser alertado sobre isso.

É possível usar dir = /home/someuser/.sshpara monitorar todas as alterações na .sshpasta do usuário , mas isso é inútil: se for normal o usuário usar SSH em sua conta, o .ssh/known_hostsarquivo pode mudar, ele pode mudar ssh_config, etc., e eu não quero para ser alertado por aqueles. Portanto, não quero monitorar o diretório inteiro, exceto um arquivo na lista de permissões; Quero deixar o diretório não monitorado, além de arquivos críticos e específicos.

Richard Downer
fonte
Você pode contornar isso criando um arquivo vazio. No caso authorized_keysdisso, funcionaria bem.
Michael Hampton
@ MichaelHampton, de fato, e esta é a solução alternativa que tenho usado. Isso significa que eu preciso manter meu script de instalação criando arquivos vazios sincronizados com a configuração do Samhain - abaixo do ideal, mas funciona.
Richard Downer

Respostas:

0

Se eu entendi corretamente, você precisa monitorar todos os arquivos no diretório, exceto alguns arquivos ou subdiretórios:

Você pode tentar a seguir:

[ReadOnly] 
    #
    dir=/home/someuser/.ssh 
    # 
    [Attributes] 
    # 
    # less restrictive policy for the directory file itself 
    # 
    file=/home/someuser/.ssh 
    # 
    [IgnoreAll] 
    # 
    # exclude these file and directories 
    #
    file=/home/someuser/.ssh/known_hosts
    #dir=-1/etc/calendar
    #

Mais Informações https://www.la-samhna.de/samhain/manual/all-except.html

Ivan Gurzhiy
fonte
"Se eu corrigir, você precisa monitorar todos os arquivos no diretório, exceto alguns arquivos ou subdiretórios" - isso não está correto. Não quero monitorar todos os arquivos. Quero monitorar um arquivo específico (ou um pequeno número de arquivos) com nomes conhecidos e específicos e ignorar todos os outros. por exemplo, no diretório pessoal de um usuário, quero monitorar .bashrc. Não quero ter na lista de permissões todos os arquivos possíveis que um usuário possa criar em seu diretório pessoal. O problema é que, se .bashrcnão existir com antecedência, o Samhain não o monitorará e nem me alertará se for criado posteriormente com conteúdo hostil.
Richard Downer