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.
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
Paso | Acción | Detalles clave |
---|---|---|
Habilitar auditoría de objetos | Editor de directivas ▸ Configuración del equipo ▸ Configuración de Windows ▸ Configuración de seguridad ▸ Directivas locales ▸ Directiva de auditoría ▸ Audit Object Access | Marca Éxito y Error. En un dominio, liga la GPO a la OU que contenga los servidores de archivos. |
Configurar la auditoría en la carpeta | Botó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 eventos | Registros de Windows ▸ Seguridad | 4663: 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ácticas | Ajusta 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
- Abre el 4663 y copia el Handle ID y el Logon ID.
- En el mismo rango horario, filtra el visor por 5140 donde el Logon ID coincida.
- 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.
- En la GPMC, crea una GPO “Auditar Proyectos” y activa Audit Object Access.
- Vincúlala a la OU File Servers y aplícala solo a FILE01 (usa Security Filtering).
- En FILE01, ajusta la SACL de
D:\Datos\Proyectos
para el grupo Project Users. - Un usuario “Ana” desde el PC DEV‑A01 abre
\\FILE01\Proyectos\Plan.docx
. - Se generan: 4624 (Ana, Logon ID 0x2a4), 5140 (recurso \Proyectos, IP 10.0.1.55) y varios 4663 (lectura/escritura sobre Plan.docx).
- 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íntoma | Causa probable | Solución |
---|---|---|
No aparecen eventos 4663 | Audit Object Access desactivado o la ACE no incluye la operación específica | Verifica GPO con gpresult /h y revisa la SACL |
Nombre de estación vacío en 4624 | Cliente Samba o UNIX que no envía NetBIOS | Usa siempre la IP (Source Network Address) para identificarlo |
Registro de Seguridad se llena cada pocas horas | Demasiadas operaciones triviales (ej. antivirus, indexador) | Excluye extensiones temporales o mueve el antivirus a modo “bajo impacto” |
Eventos duplicados | Varios controladores SMB en clúster con auditoría duplicada | Habilita “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.