¿Cómo puedo determinar qué proceso está moviendo un archivo?

¿Cómo puedo determinar qué proceso está moviendo un archivo?

Tenemos un sitio web que produce archivos, que se colocan en una carpeta y se recogen mediante otro proceso que copia los archivos a otro servidor (no es mi diseño).

En nuestro entorno de producción, el movimiento se realiza mediante una tarea programada que se activa cada minuto, que llama a un archivo por lotes, que llama a un script de PowerShell que realmente mueve los archivos (nuevamente, no es mi diseño).

Ahora la pregunta:

El sitio web está configurado de manera idéntica en nuestro entorno UAT. Los archivos se colocan en una carpeta y luego se mueven. Pero no hay ninguna tarea programada en ese cuadro y me está costando muchísimo determinar qué proceso está moviendo realmente los archivos.

Es posible que ni siquiera se esté ejecutando en la misma máquina que la carpeta. ¿Alguna idea de cómo puedo determinar qué proceso está moviendo los archivos, o al menos qué máquina lo está haciendo?

Respuesta1

Puede utilizar el monitor de procesos SysInternals y filtrar las entradas del sistema de archivos con la ruta o el nombre de los archivos movidos. Si es un proceso local, esto debería revelarlo. Si no es un proceso local, verá que los archivos se mueven mediante "Sistema" o algo así.

Desafortunadamente, debe estar ejecutando el monitor de procesos en el momento en que se realiza el movimiento, y el monitor de procesos es algo pesado, por lo que todo el servidor puede verse afectado mientras soluciona el problema.

Si los archivos están siendo movidos por un proceso remoto, puede usar SysInternals PsFile o alguna utilidad similar para averiguar quién accede a ellos.

Inicio de SysInternals:https://technet.microsoft.com/en-us/sysinternals/default

Respuesta2

Puede hacer esto iniciando una auditoría de seguridad en el archivo y en los directorios ("carpetas") en cuestión.

Primero, ejecute la Política de grupo ( gpedit.msc) como administrador. En el panel izquierdo, navegue hasta Configuración del equipo | Configuración de Windows | Configuración de seguridad | Políticas locales | Política de Auditoría. En el panel derecho, configure "Auditar acceso a objetos" y "Auditar seguimiento de procesos" para habilitarlos en Éxito. (¡No tiene mucho sentido realizar una auditoría en caso de error, ya que los intentos de acceso fallidos no resultarán en el movimiento de un archivo!)

O bien, si está ejecutando Windows 7 o posterior, puede optar por hacerlo de esta manera: en el panel izquierdo, navegue hasta Configuración del equipo | Configuración de Windows | Configuración de seguridad | Política de auditoría avanzada | Políticas de auditoría del sistema. En "Seguimiento detallado", habilite "Creación de proceso de auditoría" para lograr el éxito. En "Acceso a objetos", habilite "Auditar sistema de archivos" para tener éxito. Este método generará algo menos de entradas falsas en su registro de eventos. NOTA: Si algo está configurado en algo distinto de "No configurado" en "Política de auditoría avanzada", es mejor realizar cambios posteriores aquí también, como realizar configuraciones tanto aquí como en la "Política de auditoría" menos detallada que se describe. en el párrafo anterior puede producir resultados extraños.

Siguiente: En Explorer, vaya al directorio de origen del movimiento. Haga clic derecho en un directorio, seleccione Propiedades, luego la pestaña Seguridad, luego haga clic en "Avanzado" (casi todo lo que vale la pena siempre está en una pestaña o botón "Avanzado"...). Haga clic en la pestaña "Auditoría", luego en "Continuar" y luego en "Agregar". El cuadro de diálogo resultante será similar al de agregar una entrada a una "lista de permisos", pero en este caso, las entradas que cree determinarán que las operaciones indicadas deben ser auditadas, es decir, se crearán entradas de registro de auditoría. para ellos.

Para un "Director", utilice el grupo "Todos". Para "Tipo", probablemente solo desee "éxito" (nuevamente, los intentos fallidos obviamente no moverán ningún archivo). "Se aplica a:" seleccione "Esta carpeta, subarchivos y archivos". Seleccione todos los "permisos avanzados".

Repita para el directorio de destino.

Si el archivo en cuestión ya existe en el directorio de origen, puede habilitar la auditoría solo para ese archivo en lugar del directorio en el que se encuentra (pero habilítela también para el directorio de destino).

Todos los intentos exitosos de acceder a los directorios, o al archivo si habilitó la auditoría en ese nivel, ahora se reflejarán en el registro de seguridad.

Para ver las entradas de auditoría, vaya a Administración de computadoras, Herramientas del sistema | Visor de eventos, Registros de Windows y seleccione el registro de seguridad. Correlacione las entradas del registro para el acceso al archivo/directorio con las entradas de creación del proceso.

Las entradas de auditoría suelen tardar uno o dos minutos en aparecer en el Visor de eventos. No tengas miedo de usar Actualizar varias veces.

nb: Las entradas del registro de auditoría de seguridad para "acceso a objetos" (incluidos archivos) indican sólo las veces que los objetos fueronabrióde acceso, no las horas en las que efectivamente fueron intervenidos ni las operaciones concretas.

Por ejemplo: si alguien abre un archivo para acceso de lectura y escritura, eso genera una entrada de auditoría. Las lecturas y escrituras reales posteriores en el archivo nonogenerar entradas de auditoría. Y será imposible saber a partir del registro de auditoría si realmente se escribió en el archivo, sólo que se abrió de tal manera que permitiera la escritura. Para obtener esos detalles, deberá utilizar Process Monitor como lo describe Mike Nakis.

información relacionada