Ich möchte, dass Samhain beispielsweise eine Datei überwacht /root/somefile
. Diese Datei existiert derzeit nicht, aber ich möchte benachrichtigt werden, wenn sie zu irgendeinem Zeitpunkt erstellt wird.
Ich füge dies hinzu zu samhainrc
:
[ReadOnly]
file = /root/somefile
Dies führt dazu, dass Samhain folgende Protokolleinträge ausgibt:
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>
Und wenn ich diese Datei mit erstellen echo test > /root/somefile
, dann ich nicht bekommen keine Richtlinienverletzungen protokolliert - die Zugabe dieser Datei unbemerkt wurde.
Wie kann ich Samhain so konfigurieren, dass ich benachrichtigt werde, wenn eine zuvor nicht vorhandene Datei von Interesse erstellt wird?
Die IgnoreMissing
Konfigurationsoption erscheint auf den ersten Blick nützlich, ist es aber nicht. Mit IgnoreMissing = /root/somefile
in samhainrc
gibt es keine Verhaltensänderung. Es scheint, dass diese Option für Dateien gedacht ist, von denen erwartet wird, dass sie später verloren gehen. Sie unterdrückt eine Warnung, wenn eine Datei vorhanden war, jetzt jedoch nicht, beispielsweise wenn ein automatisierter Prozess veraltete Dateien löscht.
Obwohl /root/somefile
dies in diesem Fall offensichtlich erfunden ist, ist ein Beispiel dafür, wo eine nicht existierende Datei plötzlich zu existieren beginnt, wenn die Datei /home/someuser/.ssh/authorized_keys
vorher nicht existierte, dann aber plötzlich existiert - dies könnte ein böswilliger Benutzer sein, der etwas ausnutzte, um eine Hintertür fallen zu lassen, die dies zulässt sie, um sich als Shell-Benutzer anzumelden. Dies ist etwas, worüber ich benachrichtigt werden möchte.
Es ist möglich, alle Änderungen im Ordner des Benutzers dir = /home/someuser/.ssh
zu überwachen , aber dies ist nicht hilfreich: Wenn es normal ist, dass der Benutzer SSH in seinem Konto verwendet, kann sich seine Datei ändern, sie können ihre ändern usw., und ich möchte nicht von denen alarmiert werden. Daher möchte ich nicht das gesamte Verzeichnis außer einer Whitelist-Datei überwachen. Ich möchte das Verzeichnis abgesehen von bestimmten, kritischen Dateien nicht überwachen..ssh
.ssh/known_hosts
ssh_config
authorized_keys
würde gut funktionieren.