Vorrei che Samhain monitorasse un file, per esempio /root/somefile
,. Questo file non esiste attualmente, ma vorrei essere avvisato se viene creato in qualsiasi momento.
Aggiungo questo a samhainrc
:
[ReadOnly]
file = /root/somefile
Questo fa sì che Samhain emetta queste voci di registro:
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 creo questo file con echo test > /root/somefile
, allora non ottengo alcuna violazione delle politiche registrata - l'aggiunta di questo file è stata notata.
Come posso configurare Samhain per avvisarmi se viene creato un file di interesse inesistente in precedenza?
L' IgnoreMissing
opzione di configurazione sembrerebbe a prima vista utile, ma non lo è. Con IgnoreMissing = /root/somefile
in samhainrc
, non vi è alcun cambiamento nel comportamento. Sembra che questa opzione sia pensata per i file che dovrebbero scomparire in un secondo momento - elimina un avviso se un file esisteva, ma ora non lo fa, ad esempio se un processo automatizzato elimina i file non aggiornati.
Sebbene /root/somefile
sia ovviamente inventato in questo caso, un esempio di dove un file inesistente inizia improvvisamente a esistere è se il file /home/someuser/.ssh/authorized_keys
non esisteva in precedenza ma poi improvvisamente esiste - questo potrebbe essere un utente malintenzionato che ha sfruttato qualcosa per rilasciare una backdoor permettendo per accedere come utente shell. Questo è qualcosa di cui vorrei essere avvisato.
È possibile utilizzare dir = /home/someuser/.ssh
per monitorare tutte le modifiche nella .ssh
cartella dell'utente, ma ciò non è utile: se è normale che l'utente utilizzi SSH nel proprio account, il loro .ssh/known_hosts
file potrebbe cambiare, potrebbero cambiare il loro ssh_config
, ecc. E non voglio essere avvisato da quelli. Pertanto non voglio monitorare l'intera directory a parte alcuni file nella whitelist; Voglio lasciare la directory non monitorata a parte file specifici e critici.
authorized_keys
funzionerebbe benissimo.