Come posso sapere quando un file è stato letto o consultato l'ultima volta su Windows?


13

Devo determinare se è stato effettuato l'accesso a un determinato file negli ultimi, diciamo, 2 giorni.

È possibile su Windows Server 2008 R2?

Risposte:


7

Dopo quel fatto? No, non ci credo a meno che un ACL di controllo non sia stato ereditato da un genitore o impostato direttamente sul file per l'autorizzazione "Leggi file". Se abiliti il ​​controllo del file system, puoi quindi consultare i registri di sicurezza per trovare queste informazioni che la maggior parte delle persone invierà o trasferirà a un qualche tipo di strumento per l'analisi.

Puoi anche dare un'occhiata all'utilizzo di qualcosa come Tripwire per mantenere l'integrità dei file se questo diventa un obiettivo.


è possibile effettuare senza utilizzare utility di terze parti? windows tiene traccia del tempo di creazione, tempo di modifica, perché non è possibile tenere traccia del "tempo di lettura"?
javapowered il

@javapowered Sì, lo è. Come menzionato da SpacemanSpiff. Utilizzare il controllo integrato. Leggi questo: technet.microsoft.com/en-us/library/dd560628%28v=ws.10%29.aspx
Tom

1
@javapowered: in realtà non è molto più difficile che impostare le autorizzazioni per i file. Se vuoi farlo per un solo file o directory, vai a quella directory. Apri la finestra di dialogo delle proprietà del file / cartella, vai alla scheda di controllo. Aggiungi il gruppo "Everyone" o "utenti del dominio" se sei su un dominio e seleziona la casella per l'autorizzazione "lettura". Ciò creerà una voce del registro eventi di sicurezza ogni volta che qualcuno accede al file. Quindi iniziare a rivedere i registri o scaricarli su un lettore di registri alla ricerca di quel file / cartella da menzionare.
SpacemanSpiff

1
e .... fai attenzione a impostare il controllo alla radice di un'unità, probabilmente scenderà a cascata e il tuo registro diventerà pazzo. FYI.
SpacemanSpiff

1
Apri Strumenti di amministrazione, Visualizzatore eventi e guarda il registro di sicurezza
SpacemanSpiff

8

In realtà c'è un modo ma è stato disabilitato di default da Vista / 2008 e ho appena verificato che è disabilitato di default in Win7 / 2008R2.

L'impostazione del Registro di sistema che si NtfsDisableLastAccessUpdatetrova HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemora per impostazione predefinita è 1 ai fini delle prestazioni. Se lo cambi a 0, NTFS aggiornerà la proprietà LastAccessTime del file / cartella.

È possibile visualizzare questo valore osservando le proprietà del file / cartella oppure è possibile estrarre le informazioni con uno script di PowerShell. Assicurati di provare prima però per assicurarti che il colpo di performance non sia troppo male.

Inoltre NTFS non aggiornerà sempre immediatamente le informazioni. Secondo Microsoft :

Il file system NTFS ritarda gli aggiornamenti all'ultimo tempo di accesso per un file fino a 1 ora dopo l'ultimo accesso.


1
È bello sapere, memorizza anche chi ha avuto accesso?
SpacemanSpiff

1
No, proprio quando è stato effettuato l'accesso. Se devi sapere chi, dovrai abilitare il controllo come indicato in un'altra risposta.
Murisonc,

@murisonc, l'utente malintenzionato non potrebbe semplicemente utilizzare un programma che ripristina la data dell'ultimo accesso al valore originale dopo aver effettuato l'accesso ai file?
Pacerier,

@Pacerier, sono sicuro che un utente malintenzionato potrebbe trovare un modo per forgiarlo. Per capire che dovresti abilitare il controllo e assicurarti che le voci di controllo vengano inoltrate a un centro di raccolta di audit.
Murisonc,

Quanto di un impatto sulle prestazioni ha l'abilitazione NtfsDisableLastAccessUpdate?
Stevoisiak,

4

Come sottolineato da @murisonc , i volumi NTFS su Windows possono tenere traccia dell'ultimo tempo di accesso, semplicemente non lo fanno per impostazione predefinita ed è facilmente abilitato impostando una chiave di registro.

È possibile combinare questo con uno strumento di monitoraggio dell'integrità dei file, come Verisys o Tripwire , che può fornire avvisi e report automatici.

Anche gli strumenti di controllo del filesystem possono essere un'opzione, anche se molti si affidano all'abilitazione del controllo degli oggetti, che può compromettere le prestazioni. Alcuni altri si affidano invece ai driver di filtro del file system, ma questi driver possono essere un po 'instabili.


0

Questa guida dovrebbe fare il trucco per abilitare l'audit su un file: http://www.discoveryourpc.net/2010/01/auditing-access-to-files-on-windows-7.html

È per Windows 7 ma è quasi identico al 2008.

A tale scopo, è possibile utilizzare anche criteri di gruppo. Ma come hai affermato di non essere un amministratore professionale, questo non sarebbe il modo per te.

È necessario aggiungere un utente o un gruppo per l'audit. Consiglio di aggiungere lo stesso gruppo che ha accesso alla cartella principale.

Devi informare gli utenti su ciò che controlli. Nel tuo caso "accesso ai file". Se non li informi, l'auditing potrebbe essere illegale.


Grazie. ho fatto esattamente come hai chiesto e ha funzionato perfettamente! L'unico problema è che non mostra i registri prima che abilitassi l'accesso di controllo. Come faccio a farlo?

Il dominio discoveryourpc.net non esiste più (non ha voci DNS). Il link nella risposta è morto.
Peter Hansen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.