У нас есть Linux-сервер Ext4 и еще один Linux-сервер с ISCSI, где клиенты Windows имеют общие папки.
Я бы рекомендовал проверить audit
- http://people.redhat.com/sgrubb/audit/
Он может контролировать практически все, что происходит с ядром - вы определяете свои собственные правила, соответствующие типу активности системных вызовов, которую вы хотите проверять.
Если клиенты Windows монтируют общие ресурсы Samba / CIFS, вам следует проверить модуль full_audit.so для Samba.
Samba: ведение журнала активности пользователей
Ознакомьтесь с инструментами inotify или, если вы программист, можете создать свой собственный, который подходит. Это не так сложно сделать; самая сложная часть - это отслеживать все подкаталоги и иметь дело с добавлением / удалением / переименованием каталогов.
У меня есть программы на основе inotify, работающие на нескольких моих серверах. Например, на том, где хранятся мои отсканированные личные документы (счета, квитанции и др.), У меня есть программа, которая отслеживает новые файлы в дереве каталогов. Когда создается новый документ, он сразу же шифруется PGP (если, конечно, новый документ не зашифрован pgp). Другая, похожая программа отправляет любые изменения в определенном дереве на другой сервер, расположенный далеко.
Я мог видеть, как изменить один из них, чтобы просто записать в файл аудита, который затем можно было бы просмотреть при необходимости. Самая сложная часть, которую я вижу в этом, - убедиться, что файл аудита не становится слишком большим.
Я рассмотрю один из них, чтобы увидеть, готов ли он к публикации. Если это так, я найду, где им поделиться.
Использовать Linux :: Inotify2 Perl
модуль. Напиши Perl
скрипт и сохраните его как работающий демон.
В определенном каталоге вы можете следить за следующими событиями:
IN_ACCESS object was accessed
IN_MODIFY object was modified
IN_ATTRIB object metadata changed
IN_CLOSE_WRITE writable fd to file / to object was closed
IN_CLOSE_NOWRITE readonly fd to file / to object closed
IN_OPEN object was opened
IN_MOVED_FROM file was moved from this object (directory)
IN_MOVED_TO file was moved to this object (directory)
IN_CREATE file was created in this object (directory)
IN_DELETE file was deleted from this object (directory)
IN_DELETE_SELF object itself was deleted
IN_MOVE_SELF object itself was moved
IN_ALL_EVENTS all of the above events
IN_ONESHOT only send event once
IN_ONLYDIR only watch the path if it is a directory
IN_DONT_FOLLOW don't follow a sym link
IN_MASK_ADD not supported with the current version of this module
IN_CLOSE same as IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
IN_MOVE same as IN_MOVED_FROM | IN_MOVED_TO