J'aimerais que Samhain surveille un fichier, par exemple /root/somefile
,. Ce fichier n'existe pas actuellement, mais j'aimerais être informé s'il est créé à tout moment.
J'ajoute ceci à samhainrc
:
[ReadOnly]
file = /root/somefile
Cela provoque Samhain à émettre ces entrées de journal:
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>
Et si je crée ce fichier avec echo test > /root/somefile
, alors je ne pas obtenir toute violation de la politique Connectée - l'ajout de ce fichier a été inaperçu.
Comment puis-je configurer Samhain pour m'avertir si un fichier d'intérêt auparavant inexistant est créé?
L' IgnoreMissing
option de configuration semble à première vue utile, mais elle ne l'est pas. Avec IgnoreMissing = /root/somefile
in samhainrc
, il n'y a pas de changement de comportement. Il semble que cette option soit destinée aux fichiers qui devraient disparaître plus tard - elle supprime une alerte si un fichier existait auparavant, mais ne le fait plus, par exemple si un processus automatisé supprime les fichiers obsolètes.
Bien que cela /root/somefile
soit évidemment constitué dans ce cas, un exemple de cas où un fichier inexistant commence soudainement à exister est si le fichier /home/someuser/.ssh/authorized_keys
n'existait pas auparavant mais existe soudainement - cela pourrait être un utilisateur malveillant qui a exploité quelque chose pour supprimer une porte dérobée permettant pour qu'ils se connectent en tant qu'utilisateur shell. C'est quelque chose dont je voudrais être alerté.
Il est possible d'utiliser dir = /home/someuser/.ssh
pour surveiller toutes les modifications dans le .ssh
dossier de l'utilisateur , mais cela ne sert à rien: s'il est normal que l'utilisateur utilise SSH dans son compte, son .ssh/known_hosts
fichier peut changer, il peut changer son ssh_config
, etc., et je ne veux pas d'être alerté par ceux-là. Par conséquent, je ne veux pas surveiller l'intégralité du répertoire à l'exception d'un fichier sur liste blanche; Je souhaite laisser le répertoire sans surveillance, à l'exception des fichiers critiques spécifiques.
authorized_keys
cela fonctionnerait bien.