Cómo auditar el acceso a una carpeta compartida en Windows y conocer el equipo origen

Cuando varias personas comparten un recurso en la red, saber exactamente desde qué equipo se abre una carpeta resulta esencial para detectar accesos no autorizados, investigar incidentes y cumplir normativas. A continuación encontrarás una guía exhaustiva —paso a paso, práctica y sin rodeos— para habilitar la auditoría de Windows de modo que quede constancia no solo del usuario que toca los archivos, sino también del nombre o dirección IP del cliente.

Índice

Conceptos que conviene tener claros antes de empezar

La “auditoría de acceso a objetos” de Windows registra cualquier intento de lectura, escritura o eliminación sobre ficheros, carpetas, impresoras o claves del Registro. Sin embargo, por sí sola no guarda el nombre del equipo remoto: ese dato vive en otros eventos (5140 y 4624). El procedimiento consistirá, por tanto, en:

  • activarla a nivel de directiva (para que Windows pueda registrar)
  • señalar exactamente qué carpeta queremos vigilar (para evitar ruido)
  • correlacionar los tres eventos implicados (4663 + 5140 + 4624)

Requisitos y alcance

  • Funciona de Windows 7/Windows Server 2008 R2 en adelante.
  • Necesitas privilegios de administrador local o permisos de edición de GPO.
  • Si tu equipo forma parte de un dominio, aplica las directivas mediante GPMC para que sean consistentes; en un grupo de trabajo bastará con la directiva local (gpedit.msc).

Tabla resumen del procedimiento

PasoAcciónDetalles clave
Habilitar auditoría de objetosEditor de directivas ▸ Configuración del equipo ▸ Configuración de Windows ▸ Configuración de seguridad ▸ Directivas locales ▸ Directiva de auditoría ▸ Audit Object AccessMarca Éxito y Error.
En un dominio, liga la GPO a la OU que contenga los servidores de archivos.
Configurar la auditoría en la carpetaBotón derecho sobre la carpeta ▸ Propiedades ▸ Seguridad ▸ Opciones avanzadas ▸ Auditoría ▸ Agregar → Everyone (o grupo/usuario concreto)Selecciona los permisos a vigilar (Lectura, Escritura, Eliminación, Cambiar permisos…).
Desmarca “Aplicar a subcarpetas” si no quieres heredar.
Revisar el Visor de eventosRegistros de Windows ▸ Seguridad4663: acceso al objeto (muestra el tipo de operación y la ruta completa). 5140: recurso compartido accedido (incluye nombre del recurso y equipo de origen). 4624: inicio de sesión; campo Workstation Name o Source Network Address. Correlaciona por Logon ID (o Handle ID) y tendrás usuario + máquina.
Buenas prácticasAjusta el tamaño del registro o habilita reenvío para evitar sobreescritura. Audita solo las acciones y carpetas estrictamente necesarias. Apóyate en filtros XML o PowerShell para extraer lo relevante.

Cómo habilitar la auditoría de acceso a objetos

Abre la consola gpedit.msc (o la GPMC en el controlador de dominio) y navega hasta Configuración del equipo ▸ Configuración de Windows ▸ Configuración de seguridad ▸ Directivas locales ▸ Directiva de auditoría ▸ Audit Object Access. Activa tanto Éxito como Error; de esta forma capturarás intentos válidos y fallidos. Tras aplicar la directiva, ejecuta gpupdate /force o reinicia para asegurarte de que el nuevo SACL se aplica.

Consejo: la misma categoría cubre también claves del Registro; si tu objetivo son solo carpetas, filtrarás después por la ruta (Object Name empieza por \\?\ o C:\).

Asignar una ACE de auditoría a la carpeta

El SACL (System Access Control List) vive dentro de la pestaña de Seguridad. Pulsa Opciones avanzadas, ve a Auditoría y elige Agregar. Normalmente se escoge Everyone para ver toda actividad, pero en entornos muy ruidosos es mejor apuntar a grupos concretos (p. ej. Usuarios de dominio). Selecciona:

  • Read Data / List Folder (lectura)
  • Create Files / Write Data y Create Folders (escritura)
  • Delete (borrado)

Marca “Aplicar a esta carpeta, subcarpetas y archivos” solo si deseas heredar. De lo contrario, quita la herencia para delimitar el alcance.

Entendiendo cada evento en detalle

Evento 4663 – Object Access

Es el corazón de la auditoría de archivos. Los campos clave son:

  • Object Name: ruta NTFS completa.
  • Accesses: enumeración hexadecimal (0x1 = lectura, 0x2 = escritura…).
  • Handle ID: identificador que vincula varias operaciones sobre el mismo archivo durante la misma sesión.
  • Process Name: ejecutable que efectuó la llamada (explorer.exe, winword.exe…).

Evento 5140 – A network share object was accessed

Se genera una sola vez cuando el cliente abre una sesión SMB contra un recurso compartido. Destacan:

  • Share Name: nombre UNC, por ejemplo \\Servidor\Documentos.
  • Client Address: la dirección IP (IPv4 o IPv6) del equipo remoto.
  • Client Port: puerto de origen (habitualmente aleatorio).
  • Logon ID: enlace con 4624.

Evento 4624 – Logon

Cubre cualquier inicio de sesión interactiva, de red u otros tipos. Para nuestro propósito:

  • Logon Type 3 = red; es el que se dispara cuando se accede vía SMB.
  • Workstation Name = nombre NetBIOS del cliente (si lo proporciona).
  • Source Network Address = la misma IP del 5140.

Cuando Workstation Name está vacío (suele ocurrir con equipos Linux o dispositivos NAS) la IP es el único identificador.

Correlación manual de los eventos

  1. Abre el 4663 y copia el Handle ID y el Logon ID.
  2. En el mismo rango horario, filtra el visor por 5140 donde el Logon ID coincida.
  3. Alínealo con el 4624 que lleve idéntico Logon ID; ahí verás nombre de estación e IP.

El resultado final será un registro “usuario – recurso – acción – equipo origen”.

Filtrado rápido con PowerShell

# Mostrar accesos a recursos compartidos con su origen
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=5140} |
  Select-Object @{n='Fecha';       e={$_.TimeCreated}},
                @{n='EquipoOrigen';e={$_.Properties[3].Value}},
                @{n='Recurso';     e={$_.Properties[1].Value}} | 
  Format-Table -AutoSize

Para vincular un 4663 ⇄ 5140 ⇄ 4624 completo se recomienda usar un script más extenso que:

  • importe primero los 4624 (Logon Type 3) en un hash (clave = Logon ID)
  • haga lo mismo con los 5140
  • recorra los 4663 y agregue al objeto resultante los campos de los otros dos

Así obtendrás un CSV listo para Excel o un informe HTML programable.

Automatizar la recolección de registros

En entornos medianos, depender del Visor de eventos local no es viable. Las siguientes técnicas escalan sin costes adicionales:

  • Suscripciones de eventos (Event Forwarding): el servidor de archivos actúa como Source Initiated o Collector Initiated y envía los registros a un recolector central. Una GPO basta para inscribir los destinos.
  • Task Scheduler + wevtutil: programa un export auto‑limpiable (wevtutil epl Security export.evtx /ow:true /q:"*<QueryList>…").
  • SIEM (Microsoft Sentinel, Splunk, ELK): consume el canal Forwarded Events o lee directamente la traza del Windows Event Log API.

Reducir el ruido y mejorar la precisión

Una auditoría mal afinada puede llenar el registro en cuestión de horas, sobre todo en shares de alta rotación:

  • Introduce exclusiones por extensión (.tmp, ~$, archivos de caché) usando la casilla “Solo cuando se aplica a:” dentro de la ACE.
  • Desactiva Delete Subfolders and Files si tu política de empresa no exige registrar borrados masivos.
  • En estructuras DFS o nombres largos, prioriza auditar la raíz y no cada rama.
  • Aumenta “Tamaño máximo del registro” (por ejemplo, a 2 GB) o cambia la acción de rollover a “Sobrescribir eventos según sea necesario”.

Dimensionar y retener los registros de seguridad

Windows escribe los eventos de Seguridad en formato binario EVTX. Un acceso de lectura simple genera apenas 2‑3 KB de datos; en un share con 5000 lecturas/día hablamos de 15 MB/día (sin contar 4624, ya que los Logon ID se reutilizan). Calcula así:

$tasa = 5000   # eventos 4663 diarios
$tamaño = $tasa * 3000 / 1MB
"Necesitarás $([math]::Round($tamaño,2)) MB por día"

Con este valor dimensionas el registro o el volumen del recolector.

Ejemplo práctico paso a paso

Escenario: servidor FILE01, carpeta D:\Datos\Proyectos, dominio CONTOSO.

  1. En la GPMC, crea una GPO “Auditar Proyectos” y activa Audit Object Access.
  2. Vincúlala a la OU File Servers y aplícala solo a FILE01 (usa Security Filtering).
  3. En FILE01, ajusta la SACL de D:\Datos\Proyectos para el grupo Project Users.
  4. Un usuario “Ana” desde el PC DEV‑A01 abre \\FILE01\Proyectos\Plan.docx.
  5. Se generan: 4624 (Ana, Logon ID 0x2a4), 5140 (recurso \Proyectos, IP 10.0.1.55) y varios 4663 (lectura/escritura sobre Plan.docx).
  6. Con un script PowerShell obtienes:
Fecha              Usuario  EquipoOrigen Acción           Archivo
----               ------   ------------ ------           -------
2025-07-23 09:12   CONTOSO\Ana DEV-A01    ReadData (0x1)  D:\Datos\Proyectos\Plan.docx
2025-07-23 09:14   CONTOSO\Ana DEV-A01    WriteData (0x2) D:\Datos\Proyectos\Plan.docx

Resolución de problemas frecuentes

SíntomaCausa probableSolución
No aparecen eventos 4663Audit Object Access desactivado o la ACE no incluye la operación específicaVerifica GPO con gpresult /h y revisa la SACL
Nombre de estación vacío en 4624Cliente Samba o UNIX que no envía NetBIOSUsa siempre la IP (Source Network Address) para identificarlo
Registro de Seguridad se llena cada pocas horasDemasiadas operaciones triviales (ej. antivirus, indexador)Excluye extensiones temporales o mueve el antivirus a modo “bajo impacto”
Eventos duplicadosVarios controladores SMB en clúster con auditoría duplicadaHabilita “EnableAuditRemap” solo en el nodo activo o filtra por Computer Name

Preguntas frecuentes

¿Es posible auditar solo fallos de acceso?
Sí. Activa solo Error en la directiva o añade una ACE con “Audit Fail” para registrar intentos denegados.

¿Funciona también con carpetas montadas en volúmenes ReFS?
A partir de Windows Server 2012, ReFS soporta SACL, por lo que la auditoría se aplica igual.

¿Qué sucede si el usuario se autentica vía Kerberos y luego usa SMB Direct?
El evento 4624 seguirá apareciendo con Logon Type 3; SMB Direct no altera la capa de auditoría.

¿Puedo exportar automáticamente los registros relevantes a CSV?
Sí, combina Get-WinEvent con Select-Object y Export-Csv -NoTypeInformation.

¿La auditoría ralentiza el acceso a archivos?
El impacto es mínimo (<1 %) salvo que audites cada operación Write en volúmenes muy transaccionales. Mide antes y después con diskspd.exe.

Conclusión

Con una configuración correcta de la auditoría de objetos, el Visor de eventos de Windows se convierte en una fuente fiable para saber quién abrió un archivo y desde dónde. Al correlacionar 4663, 5140 y 4624 dispondrás de la tríada usuario–acción–equipo, lo que blinda tanto el cumplimiento normativo como la respuesta ante incidentes.

Índice