Kann Samhain nach einer Datei suchen, die nicht existiert, aber möglicherweise in Zukunft?

8

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 IgnoreMissingKonfigurationsoption erscheint auf den ersten Blick nützlich, ist es aber nicht. Mit IgnoreMissing = /root/somefilein samhainrcgibt 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/somefiledies 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_keysvorher 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/.sshzu ü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_hostsssh_config

Richard Downer
quelle
Sie können dies umgehen, indem Sie eine leere Datei erstellen. In diesem Fall authorized_keyswürde gut funktionieren.
Michael Hampton
@ MichaelHampton in der Tat, und dies ist die Problemumgehung, die ich verwendet habe. Es bedeutet, dass ich mein Setup-Skript beibehalten muss, um leere Dateien zu erstellen, die mit der Samhain-Konfiguration synchronisiert sind - weniger als ideal, aber es funktioniert.
Richard Downer

Antworten:

0

Wenn ich das richtig verstehe, müssen Sie alle Dateien im Verzeichnis überwachen, mit Ausnahme einiger Dateien oder Unterverzeichnisse:

Sie können als nächstes versuchen:

[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
    #

Mehr Informationen https://www.la-samhna.de/samhain/manual/all-except.html

Ivan Gurzhiy
quelle
"Wenn ich das richtig verstehe, müssen Sie alle Dateien im Verzeichnis überwachen, mit Ausnahme einiger Dateien oder Unterverzeichnisse" - dies ist nicht korrekt. Ich möchte nicht alle Dateien überwachen. Ich möchte eine bestimmte Datei (oder eine kleine Anzahl von Dateien) mit bekannten, spezifischen Namen überwachen und alle anderen ignorieren. zB im Home-Verzeichnis eines Benutzers möchte ich überwachen .bashrc. Ich möchte nicht jede mögliche Datei, die ein Benutzer in seinem Home-Verzeichnis erstellen könnte, auf die Whitelist setzen müssen. Das Problem ist, dass .bashrcSamhain , wenn es nicht im Voraus existiert, es überhaupt nicht überwacht und mich nicht benachrichtigt, wenn es später mit feindlichen Inhalten erstellt wird.
Richard Downer