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

8

Eu gostaria que o Samhain monitorasse 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 o Samhain emitir essas 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 este arquivo com echo test > /root/somefile , então não receberei qualquer 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 opção de configuração IgnoreMissing parece, à primeira vista, ser útil, mas não é. Com IgnoreMissing = /root/somefile em samhainrc , não há mudança no comportamento. Parece que essa opção é destinada a arquivos que devem desaparecer mais tarde - ela suprime um alerta se um arquivo existia, mas agora não, por exemplo, se um processo automatizado excluir arquivos que estão desatualizados.

Embora /root/somefile seja obviamente criado neste caso, um exemplo de onde um arquivo inexistente de repente começa a existir é se o arquivo /home/someuser/.ssh/authorized_keys não existia anteriormente mas, de repente, existe - isso pode ser um malware usuário que explorou algo para soltar um backdoor permitindo que eles fizessem logon como um usuário do shell. Isso é algo que eu gostaria de ser alertado.

É possível usar dir = /home/someuser/.ssh para monitorar todas as alterações na pasta .ssh do usuário, mas isso é inútil: se é normal para o usuário usar o SSH em sua conta, sua% O arquivo.ssh/known_hosts pode mudar, eles podem alterar seus ssh_config , etc., e eu não quero ser alertado por eles. Portanto, não quero monitorar todo o diretório além de algum arquivo na lista de permissões; Eu quero deixar o diretório não monitorado além de arquivos críticos específicos.

    
por Richard Downer 19.10.2018 / 01:09

1 resposta

0

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

Você pode tentar em seguida:

[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

    
por 26.10.2018 / 10:44