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

13

Мне нужно определить, был ли доступ к определенному файлу за последние, скажем, 2 дня.

Это возможно на Windows Server 2008 R2?

javapowered
источник

Ответы:

7

После этого факта? Нет, я не верю в это, если контрольный список ACL не был унаследован от родителя или не задан непосредственно в файле для разрешения «чтение файла». Если вы ДЕЙСТВИТЕЛЬНО включаете аудит файловой системы, вы можете просмотреть журналы безопасности, чтобы найти эту информацию, которую большинство людей передадут или передадут в какой-то инструмент для анализа.

Вы также можете взглянуть на использование чего-то вроде Tripwire для поддержания целостности файлов, если это станет целью.

SpacemanSpiff
источник
можно ли сделать без использования сторонних утилит? Windows отслеживает время создания, время модификации, почему он не может отслеживать «время чтения»?
javapowered
@javapowered Да, это так. Как упомянул SpacemanSpiff. Используйте встроенный аудит. Прочитайте это: technet.microsoft.com/en-us/library/dd560628%28v=ws.10%29.aspx
Том
1
@javapowered - это на самом деле не намного сложнее, чем установка прав доступа к файлам. Если вы хотите сделать это только для одного файла или каталога, перейдите в этот каталог. Откройте диалоговое окно свойств файла / папки, перейдите на вкладку аудита. Добавьте группу «все» или «пользователи домена», если вы находитесь в домене, и установите флажок для разрешения «чтение». Это создаст запись в журнале событий безопасности каждый раз, когда кто-то обращается к файлу. Итак, начните просматривать журналы или выгрузите их в программу чтения журналов, чтобы найти этот файл / папку, которую нужно упомянуть.
SpacemanSpiff
1
и .... будьте осторожны, устанавливая аудит в корне диска, он, вероятно, будет каскадным, и ваш журнал станет безумным. FYI.
SpacemanSpiff
1
Откройте Инструменты администрирования, Просмотр событий и посмотрите журнал безопасности
SpacemanSpiff
8

На самом деле есть способ, но он был отключен по умолчанию с Vista / 2008, и я только что проверил, что он отключен по умолчанию в Win7 / 2008R2.

Параметр реестра, NtfsDisableLastAccessUpdateрасположенный в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemнастоящее время, по умолчанию равен 1 для повышения производительности. Если вы измените это значение на 0, NTFS обновит свойство LastAccessTime файла / папки.

Вы можете увидеть это значение, посмотрев на свойства файла / папки или вы можете получить информацию с помощью скрипта PowerShell. Сначала убедитесь, что вы тестируете, чтобы убедиться, что производительность не так уж плоха.

Также NTFS не всегда обновляет информацию немедленно. По словам Microsoft :

Файловая система NTFS задерживает обновление до последнего времени доступа к файлу до 1 часа после последнего доступа.

murisonc
источник
1
Приятно знать, хранит ли он, кто к нему также обращался?
SpacemanSpiff
1
Нет, только когда к нему обращались. Если вам нужно знать, кто вам нужен, вам нужно включить аудит, как упомянуто в другом ответе.
Murisonc
@murisonc, не мог ли злонамеренный пользователь просто использовать программу, которая восстанавливает дату последнего обращения к исходному значению после того, как он получил доступ к файлам?
Pacerier
@Pacerier, я уверен, что злоумышленник может найти способ подделать его. Чтобы поймать это, вам нужно включить аудит и убедиться, что эти записи аудита пересылаются на сервер сбора аудита.
Murisonc
Какое влияние на производительность оказывает включение NtfsDisableLastAccessUpdate?
Стевойсяк,
4

Как указал @murisonc , тома NTFS в Windows могут отслеживать время последнего доступа, по умолчанию они не отслеживаются, и его легко включить, установив ключ реестра.

Вы можете комбинировать это с инструментом мониторинга целостности файлов, таким как Verisys или Tripwire , который может обеспечивать автоматическое оповещение и отчетность.

Инструменты аудита файловой системы также могут быть опцией, хотя многие полагаются на включение аудита объектов, что может снизить производительность. Некоторые другие полагаются на драйверы фильтров файловой системы, но эти драйверы могут быть немного ненадежными.

Cocowalla
источник
0

В этом руководстве необходимо выполнить аудит для включения файла: http://www.discoveryourpc.net/2010/01/auditing-access-to-files-on-windows-7.html

Это для Windows 7, но почти идентично 2008 году.

Вы также можете использовать групповые политики для этого. Но, как вы заявили, что вы не профессиональный администратор, это не будет путь для вас.

Вам необходимо добавить пользователя или группу для аудита. Я рекомендую добавить ту же группу, которая имеет доступ к родительской папке.

Вы должны сообщить пользователям, что вы проверяете. В вашем случае «доступ к файлу». Если вы не сообщите им, аудит может быть незаконным.

Том
источник
Благодарю. я сделал именно так, как вы просили, и это сработало отлично! Единственная проблема в том, что журналы не отображаются до того, как я включил аудит. Как мне заставить это сделать?
Домен discoveryourpc.net больше не существует (не имеет записей DNS). Ссылка в ответе мертва.
Питер Хансен,