Может ли Samhain отслеживать файл, который не существует, но может появиться в будущем?

8

Я хотел бы Самайн контролировать файл, скажем , к примеру, /root/somefile. Этот файл в настоящее время не существует, но я хотел бы получить уведомление, если он будет создан в любой момент.

Я добавляю это к samhainrc:

[ReadOnly]
file = /root/somefile

Это заставляет Samhain выдавать следующие записи журнала:

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>

И если я создаю этот файл с echo test > /root/somefile, то я не регистрирую никаких нарушений политики - добавление этого файла было незамеченным.

Как я могу настроить Samhain так, чтобы он уведомлял меня о создании ранее несуществующего интересующего файла?


Опция IgnoreMissingконфигурации может показаться полезной, но это не так. С IgnoreMissing = /root/somefileв samhainrc, нет никаких изменений в поведении. Кажется, что эта опция предназначена для файлов, которые, как ожидается, пропадут позже - она ​​подавляет предупреждение, если файл раньше существовал, но теперь нет, например, если автоматизированный процесс удаляет файлы, которые устарели.


Хотя /root/somefileв этом случае очевидно, что он создан, пример того, как неожиданно начинает существовать несуществующий файл, - это если файл /home/someuser/.ssh/authorized_keysранее не существовал, а затем внезапно существует - это может быть злонамеренный пользователь, который воспользовался чем-то, чтобы удалить бэкдор, позволяющий их войти в систему как пользователь оболочки. Это то, о чем я хотел бы быть предупрежденным.

Можно использовать dir = /home/someuser/.sshдля отслеживания всех изменений в .sshпапке пользователя , но это бесполезно: если пользователь нормально использует SSH в своей учетной записи, его .ssh/known_hostsфайл может измениться, он может изменить свой ssh_configи т. Д., И я не хочу быть предупрежденным теми. Поэтому я не хочу отслеживать весь каталог, кроме некоторого файла из белого списка; Я хочу оставить каталог без контроля, кроме определенных критических файлов.

Ричард Даунер
источник
Вы можете обойти это, создав пустой файл. В случае authorized_keysэтого будет работать нормально.
Майкл Хэмптон
@MichaelHampton действительно, и это обходной путь, который я использовал. Это означает, что мне нужно сохранить мой установочный скрипт, создающий пустые файлы, синхронизированные с конфигом Samhain - не идеально, но это работает.
Ричард Даунер

Ответы:

0

Если я правильно понимаю, вам нужно отслеживать все файлы в dir, кроме некоторых файлов или подкаталогов:

Вы можете попробовать следующее:

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

Больше информации https://www.la-samhna.de/samhain/manual/all-except.html

Иван Гуржий
источник
«Если я правильно понимаю, вам нужно следить за всеми файлами в dir, кроме некоторых файлов или подкаталогов» - это не правильно. Я не хочу контролировать все файлы. Я хочу отслеживать один конкретный файл (или небольшое количество файлов) с известными конкретными именами и игнорировать все остальные. например, в домашнем каталоге пользователя, я хочу контролировать .bashrc. Я не хочу вносить в белый список все возможные файлы, которые пользователь может создать в своем домашнем каталоге. Проблема в том, что если .bashrcон не существует заранее, Samhain вообще не будет его отслеживать и не предупредит меня, если он будет создан позже с враждебным контентом.
Ричард Даунер