¿Cómo puedo saber cuándo se leyó o accedió por última vez a un archivo en Windows?

13

Necesito determinar si se accedió a un archivo en particular en los últimos 2 días.

¿Es esto posible en Windows Server 2008 R2?

javapowered
fuente

Respuestas:

7

¿Después de ese hecho? No, no lo creo a menos que se haya heredado una ACL de auditoría de un padre o se haya configurado directamente en el archivo para obtener el permiso "leer archivo". Si habilita la auditoría del sistema de archivos, puede mirar los registros de seguridad para encontrar esta información que la mayoría de las personas canalizará o transferirá a algún tipo de herramienta para analizar.

También puede echar un vistazo al uso de algo como Tripwire para mantener la integridad del archivo si eso se convierte en un objetivo.

SpacemanSpiff
fuente
¿Es posible hacer sin utilizar utilidades de terceros? Windows rastrea el tiempo de creación, el tiempo de modificación, ¿por qué no puede rastrear el "tiempo de lectura"?
Desarrollado en Java el
@javapowered Sí, lo es. Como mencionó SpacemanSpiff. Uso integrado en auditoría. Lea esto: technet.microsoft.com/en-us/library/dd560628%28v=ws.10%29.aspx
Tom
1
@javapowered: en realidad no es mucho más difícil que establecer permisos de archivo. Si desea hacer esto para un solo archivo o directorio, vaya a ese directorio. Abra el cuadro de diálogo de propiedades del archivo / carpeta, vaya a la pestaña de auditoría. Agregue el grupo "todos" o "usuarios de dominio" si está en un dominio, y marque la casilla para el permiso "leer". Esto creará una entrada de registro de eventos de seguridad cada vez que alguien acceda al archivo. Entonces, comience a revisar los registros o volcarlos en un lector de registros en busca de ese archivo / carpeta para mencionar.
SpacemanSpiff
1
y ... tenga cuidado al configurar la auditoría en la raíz de una unidad, es probable que se caiga en cascada y su registro se vuelva loco. FYI.
SpacemanSpiff
1
Abra las herramientas administrativas, el Visor de eventos y mire el registro de seguridad
SpacemanSpiff
8

En realidad, hay una forma, pero se ha desactivado de forma predeterminada desde Vista / 2008 y acabo de verificar que está desactivado de forma predeterminada en Win7 / 2008R2.

La configuración del registro que se NtfsDisableLastAccessUpdateencuentra HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemahora en el valor predeterminado es 1 para fines de rendimiento. Si cambia eso a 0, NTFS actualizará la propiedad LastAccessTime del archivo / carpeta.

Puede ver este valor mirando las propiedades del archivo / carpeta o puede extraer la información con un script de PowerShell. Sin embargo, asegúrese de probar primero para asegurarse de que el rendimiento no sea tan malo.

Además, NTFS no siempre actualizará la información de inmediato. De acuerdo con Microsoft :

El sistema de archivos NTFS retrasa las actualizaciones del último tiempo de acceso para un archivo hasta 1 hora después del último acceso.

murisonc
fuente
1
Es bueno saberlo, ¿también almacena quién accedió a él?
SpacemanSpiff
1
No, justo cuando se accedió. Si necesita saber quién, entonces deberá habilitar la auditoría como se menciona en otra respuesta.
murisonc
@murisonc, ¿No podría el usuario malintencionado simplemente usar un programa que restaura la última fecha de acceso al valor original después de haber accedido a los archivos?
Pacerier
@Pacerier, estoy seguro de que un usuario malintencionado podría encontrar una manera de falsificarlo. Para detectarlo, debe habilitar la auditoría y asegurarse de que esas entradas de auditoría se envíen a un servidor de recopilación de auditoría.
murisonc
¿Qué impacto de rendimiento tiene la habilitación NtfsDisableLastAccessUpdate?
Stevoisiak
4

Como señaló @murisonc , los volúmenes NTFS en Windows pueden rastrear el último tiempo de acceso, simplemente no lo hacen de manera predeterminada, y se habilita fácilmente configurando una clave de registro.

Puede combinar esto con una herramienta de monitoreo de integridad de archivos, como Verisys o Tripwire , que puede proporcionar alertas e informes automáticos.

Las herramientas de auditoría del sistema de archivos también pueden ser una opción, aunque muchas confían en habilitar la auditoría de objetos, lo que puede afectar el rendimiento. Algunos otros confían en los controladores de filtro del sistema de archivos, pero estos controladores pueden ser un poco inestables.

Cocowalla
fuente
0

Esta Guía debe hacer el truco para permitir la auditoría en un archivo: http://www.discoveryourpc.net/2010/01/auditing-access-to-files-on-windows-7.html

Es para Windows 7 pero es casi idéntico al 2008.

También puede usar políticas de grupo para esto. Pero como usted dijo que no es un administrador profesional, este no sería el camino para usted.

Debe agregar un usuario o grupo para auditar. Recomiendo agregar el mismo grupo que tiene acceso en la carpeta principal.

Debe informar a los usuarios lo que audita. En su caso "acceso a archivos". Si no les informa, la auditoría podría ser ilegal.

Tom
fuente
Gracias. Hice exactamente lo que me pediste y funcionó perfectamente. El único problema es que no muestra los registros antes de habilitar el acceso de auditoría. ¿Cómo consigo que haga eso?
El dominio discoveryourpc.net ya no existe (no tiene entradas DNS). El enlace en la respuesta está muerto.
Peter Hansen