Задача отслеживать изменения(создание, удаление, изменение, переименование файлов) в определенном каталоге и кроме этого фиксировать кто делал эти изменения(user, machine). C первой частью все ясно, есть класс FileSystemWatcher. Не ясно как определить user, machine. Если это возможно только с помощью аудита папки и разгребания security event log, тогда много неясностей. В частности что в .NET отвечает за аудит(типа как System.Security.Permissions за разрешения)? И как собственно я должен ОДНОЗНАЧНО
сопоставлять файловые события с записями в security event log?
Здравствуйте gleb_rsdn, Вы писали:
GR>Собственно дискуссия по этому поводу уже велась.
GR>Задача отслеживать изменения(создание, удаление, изменение, переименование файлов) в определенном каталоге и кроме этого фиксировать кто делал эти изменения(user, machine). C первой частью все ясно, есть класс FileSystemWatcher. Не ясно как определить user, machine. Если это возможно только с помощью аудита папки и разгребания security event log, тогда много неясностей. В частности что в .NET отвечает за аудит(типа как System.Security.Permissions за разрешения)?
Ничто не отвечает. Также как System.Security.Permissions не связана с безопастностью в NT.
И как собственно я должен ОДНОЗНАЧНО GR>сопоставлять файловые события с записями в security event log?
В событии EventLogа есть имя файла.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
GR>>Задача отслеживать изменения(создание, удаление, изменение, переименование файлов) в определенном каталоге и кроме этого фиксировать кто делал эти изменения(user, machine). C первой частью все ясно, есть класс FileSystemWatcher. Не ясно как определить user, machine. Если это возможно только с помощью аудита папки и разгребания security event log, тогда много неясностей. В частности что в .NET отвечает за аудит(типа как System.Security.Permissions за разрешения)? TK>Ничто не отвечает. Также как System.Security.Permissions не связана с безопастностью в NT.
Ну скажем соответствует.
TK>И как собственно я должен ОДНОЗНАЧНО GR>>сопоставлять файловые события с записями в security event log? TK>В событии EventLogа есть имя файла.
Ну и что, а если с файлом произошло неск. событий?
Здравствуйте gleb_rsdn, Вы писали:
GR>Здравствуйте TK, Вы писали:
GR>>>Задача отслеживать изменения(создание, удаление, изменение, переименование файлов) в определенном каталоге и кроме этого фиксировать кто делал эти изменения(user, machine). C первой частью все ясно, есть класс FileSystemWatcher. Не ясно как определить user, machine. Если это возможно только с помощью аудита папки и разгребания security event log, тогда много неясностей. В частности что в .NET отвечает за аудит(типа как System.Security.Permissions за разрешения)? TK>>Ничто не отвечает. Также как System.Security.Permissions не связана с безопастностью в NT. GR>Ну скажем соответствует.
Соответствует только то, что там Security, что тут Security...
Но прямого отображения на безопасность WinNT нет. Запущенный процесс не обязательно имеет те-же права, что пользователь, который его запустил...
Так-же влияет то, откуда процесс был запущен... (локальный диск, сетевой ресурс и т.п.)
TK>>И как собственно я должен ОДНОЗНАЧНО GR>>>сопоставлять файловые события с записями в security event log? TK>>В событии EventLogа есть имя файла. GR>Ну и что, а если с файлом произошло неск. событий?
Может просто рассматривать EventLog как первоисточник, а FileSystemWatcher использовать просто как таймер, инициирующий просмотр EventLog
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте TK, Вы писали:
TK>>>Ничто не отвечает. Также как System.Security.Permissions не связана с безопастностью в NT. GR>>Ну скажем соответствует. TK>Соответствует только то, что там Security, что тут Security... TK>Но прямого отображения на безопасность WinNT нет. Запущенный процесс не обязательно имеет те-же права, что пользователь, который его запустил... TK>Так-же влияет то, откуда процесс был запущен... (локальный диск, сетевой ресурс и т.п.)
System.Security.Permissions определяет классы, контролирующие доступ(базирующийся на полиси) к опреациям и ресурсам.
А где классы, контролирующие аудит доступа к ресурсам?
В принципе это тоже относится к секьюрити.
TK>Может просто рассматривать EventLog как первоисточник, а FileSystemWatcher использовать просто как таймер, инициирующий просмотр EventLog
Просто не понятно как сопоставлять произошедшую файловую операцию с записью в эвент логе.
Да есть время, есть имя файла, но например на событие создания файла и на событие изменения файла, в лог пишутся одинаковые записи, и как понять что к чему относится если время совпадает?
Создание файла:
Открытие объекта:
Сервер объекта: Security
Тип объекта: File
Имя объекта: C:\Temp\CAD\Текстовый документ.txt
Новый код дескриптора: 1116
Код операции: {0,301840}
Код процесса: 960
Основной пользователь: gleb
Домен: GAS
Код входа: (0x0,0x9961)
Пользователь-клиент: —
Домен клиента: —
Код входа клиента: —
Доступ READ_CONTROL
SYNCHRONIZE
Чтение данных (или перечисление каталогов)
Запись данных (или добавление файла)
Добавление данных (или добавление подкаталогов, или создание копии канала)
ReadEA
WriteEA
ReadAttributes
WriteAttributes
Привилегии —
Изменение файла:
Открытие объекта:
Сервер объекта: Security
Тип объекта: File
Имя объекта: C:\Temp\CAD\Текстовый документ.txt
Новый код дескриптора: 108
Код операции: {0,305439}
Код процесса: 1284
Основной пользователь: gleb
Домен: GAS
Код входа: (0x0,0x9961)
Пользователь-клиент: —
Домен клиента: —
Код входа клиента: —
Доступ READ_CONTROL
SYNCHRONIZE
Чтение данных (или перечисление каталогов)
Запись данных (или добавление файла)
Добавление данных (или добавление подкаталогов, или создание копии канала)
ReadEA
WriteEA
ReadAttributes
WriteAttributes
Здравствуйте gleb_rsdn, Вы писали:
GR>Здравствуйте TK, Вы писали:
TK>>>>Ничто не отвечает. Также как System.Security.Permissions не связана с безопастностью в NT. GR>>>Ну скажем соответствует. TK>>Соответствует только то, что там Security, что тут Security... TK>>Но прямого отображения на безопасность WinNT нет. Запущенный процесс не обязательно имеет те-же права, что пользователь, который его запустил... TK>>Так-же влияет то, откуда процесс был запущен... (локальный диск, сетевой ресурс и т.п.)
GR>System.Security.Permissions определяет классы, контролирующие доступ(базирующийся на полиси) к опреациям и ресурсам. GR>А где классы, контролирующие аудит доступа к ресурсам? GR>В принципе это тоже относится к секьюрити.
Только это относится к операционной системе, а не к к.л. framework-у
TK>>Может просто рассматривать EventLog как первоисточник, а FileSystemWatcher использовать просто как таймер, инициирующий просмотр EventLog
GR>Просто не понятно как сопоставлять произошедшую файловую операцию с записью в эвент логе. GR>Да есть время, есть имя файла, но например на событие создания файла и на событие изменения файла, в лог пишутся одинаковые записи, и как понять что к чему относится если время совпадает?
Можно в одином из доп. потоков файла сохранить необходимую информацию.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.