Comment savoir quand un fichier a été lu ou consulté pour la dernière fois sous Windows?


13

Je dois déterminer si un fichier particulier a été consulté au cours des derniers, disons, 2 jours.

Est-ce possible sur Windows Server 2008 R2?

Réponses:


7

Après ce fait? Non, je ne le crois pas, sauf si une ACL d'audit a été héritée d'un parent ou définie directement dans le fichier pour l'autorisation de "lecture du fichier". Si vous activez l'audit du système de fichiers, vous pouvez ensuite consulter les journaux de sécurité pour trouver ces informations que la plupart des gens acheminent ou transfèrent vers une sorte d'outil d'analyse.

Vous pouvez également jeter un œil à l'utilisation de quelque chose comme Tripwire pour maintenir l'intégrité des fichiers si cela devient un objectif.


est-il possible de faire sans utiliser des utilitaires tiers? Windows suit le temps de création, le temps de modification, pourquoi il ne peut pas suivre le "temps de lecture"?
javapowered le

@javapowered Oui, c'est ça. Comme l'a mentionné SpacemanSpiff. Utilisez un audit intégré. Lisez ceci: technet.microsoft.com/en-us/library/dd560628%28v=ws.10%29.aspx
Tom

1
@javapowered - ce n'est vraiment pas beaucoup plus difficile que de définir des autorisations de fichier. Si vous souhaitez effectuer cette opération pour un seul fichier ou répertoire, accédez à ce répertoire. Ouvrez la boîte de dialogue des propriétés du fichier / dossier, accédez à l'onglet d'audit. Ajoutez le groupe "tout le monde" ou "utilisateurs du domaine" si vous êtes sur un domaine, et cochez la case pour l'autorisation "lecture". Cela créera une entrée de journal des événements de sécurité chaque fois que quelqu'un accède au fichier. Alors commencez à examiner les journaux ou à les vider dans un lecteur de journaux à la recherche de ce fichier / dossier à mentionner.
SpacemanSpiff

1
et ... soyez prudent en définissant l'audit à la racine d'un lecteur, il tombera probablement en cascade et votre journal deviendra fou. fyi.
SpacemanSpiff

1
Ouvrez les outils d'administration, l'Observateur d'événements et consultez le journal de sécurité
SpacemanSpiff

8

En fait, il existe un moyen, mais il est désactivé par défaut depuis Vista / 2008 et je viens de vérifier qu'il est désactivé par défaut dans Win7 / 2008R2.

Le paramètre de registre NtfsDisableLastAccessUpdatesitué dans par HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemdéfaut est désormais 1 pour des raisons de performances. Si vous changez cela en 0, NTFS mettra à jour la propriété LastAccessTime du fichier / dossier.

Vous pouvez voir cette valeur en regardant les propriétés du fichier / dossier ou vous pouvez extraire les informations avec un script PowerShell. Assurez-vous que vous testez d'abord pour vous assurer que les performances ne sont pas trop mauvaises.

De plus, NTFS ne mettra pas toujours à jour les informations immédiatement. Selon Microsoft :

Le système de fichiers NTFS retarde les mises à jour de la dernière heure d'accès d'un fichier jusqu'à 1 heure après le dernier accès.


1
C'est bon à savoir, cela stocke-t-il également qui y a accédé?
SpacemanSpiff

1
Non, juste au moment de l'accès. Si vous avez besoin de savoir qui, vous devrez activer l'audit comme mentionné dans une autre réponse.
murisonc

@murisonc, l'utilisateur malveillant ne pourrait-il pas simplement utiliser un programme qui restaure la dernière date d'accès à sa valeur d'origine après avoir accédé aux fichiers?
Pacerier

@Pacerier, je suis sûr qu'un utilisateur malveillant pourrait trouver un moyen de le forger. Pour détecter cela, vous devez activer l'audit et vous assurer que ces entrées d'audit sont transmises à un serveur de collecte d'audit.
murisonc

Quelle est l'incidence des performances sur l'activation NtfsDisableLastAccessUpdate?
Stevoisiak

4

Comme l'a souligné @murisonc , les volumes NTFS sous Windows peuvent suivre la dernière heure d'accès, ils ne le font tout simplement pas par défaut, et il est facilement activé en définissant une clé de registre.

Vous pouvez combiner cela avec un outil de surveillance de l'intégrité des fichiers, tel que Verisys ou Tripwire , qui peut fournir des alertes et des rapports automatisés.

Les outils d'audit de système de fichiers peuvent également être une option, bien que beaucoup reposent sur l'activation de l'audit d'objet, ce qui peut réduire les performances. Certains autres s'appuient sur des pilotes de filtre de système de fichiers à la place, mais ces pilotes peuvent être un peu flocons.


0

Ce guide devrait faire l'affaire pour activer l'audit sur un fichier: http://www.discoveryourpc.net/2010/01/auditing-access-to-files-on-windows-7.html

C'est pour Windows 7 mais est presque identique à 2008.

Vous pouvez également utiliser des stratégies de groupe pour cela. Mais comme vous l'avez dit, vous n'êtes pas un administrateur professionnel, ce ne serait pas la solution pour vous.

Vous devez ajouter un utilisateur ou un groupe à auditer. Je recommande d'ajouter le même groupe qui a accès au dossier parent.

Vous devez informer les utilisateurs de ce que vous auditez. Dans votre cas, "accès aux fichiers". Si vous ne les informez pas, l'audit peut être illégal.


Merci. j'ai fait exactement ce que vous avez demandé et cela a parfaitement fonctionné! Le seul problème est qu'il n'affiche pas les journaux avant d'activer l'accès à l'audit. Comment puis-je le faire?

Le domaine discoveryourpc.net n'existe plus (n'a pas d'entrées DNS). Le lien dans la réponse est mort.
Peter Hansen
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.