Я хотел бы Самайн контролировать файл, скажем , к примеру, /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
этого будет работать нормально.