Cómo identificar quién modificó los permisos NTFS en archivos y carpetas

Averiguar quién está manipulando los permisos NTFS en un servidor Windows puede ser un poco complicado. A veces, los permisos se modifican sin que nadie lo recuerde, o quizás alguien simplemente esté manipulando la configuración de seguridad sin avisar a nadie. Configurar registros de auditoría puede ayudar a rastrear exactamente qué sucedió, cuándo y quién estuvo involucrado. De esta manera, si observa que los permisos de una carpeta cambian inesperadamente, tendrá un rastro de migas de pan. Es bastante útil, pero la configuración no es precisamente sencilla. Apuesto a que siguiendo estos pasos, al menos tendrá algo de claridad la próxima vez que los permisos fallen o alguien manipule sus carpetas compartidas.

Cómo rastrear los cambios de permisos NTFS en Windows

Habilitar las políticas de auditoría adecuadas

Este paso consiste en indicarle a Windows qué debe supervisar. Si los permisos cambian, Windows puede registrarlo, pero solo si lo has configurado correctamente. Por lo tanto, deberás abrir el Editor de directivas de grupo ( gpedit.msc para la configuración local o gpmc.msc para la configuración de todo el dominio).

  • Abra gpedit.msc o gpmc.msc según su configuración.
  • Vaya a Configuración del equipo > Políticas > Configuración de Windows > Configuración de seguridad > Configuración de política de auditoría avanzada > Políticas de auditoría > Acceso a objetos.
  • Busque y habilite la función «Auditar sistema de archivos». Configure esta opción para que registre «Éxito». Esto permite que Windows recuerde cada vez que se modifican correctamente los permisos.

Consejo: Si envía políticas a varios servidores, cree una GPO en su dominio y vincúlela con la unidad organizativa o los servidores correspondientes. De lo contrario, edite la política local directamente en cada equipo (si se trata de una configuración más pequeña).

Establecer auditoría específica de carpeta

Una vez que las políticas estén listas, debe indicarle a Windows qué carpetas supervisar. Vaya a la carpeta, haga clic con el botón derecho y vaya a Propiedades. Luego:

  • Haga clic en la pestaña Seguridad.
  • Haga clic en Avanzado.
  • Cambie a la pestaña Auditoría.
  • Presione Editar o Continuar (Windows podría solicitar la aprobación del administrador).
  • Haga clic en Agregar y seleccione qué grupo o usuario debe ser auditado (para la prueba, simplemente agregue Todos )

Luego, seleccione el tipo de actividad que desea registrar. Marcar » Cambiar permisos» y «Asumir propiedad» en «Entradas correctas » suele ser la solución. De esta manera, se registran las modificaciones de permisos y propiedad.

No olvide ejecutar gpupdate /forcePowerShell o cmd para aplicar la GPO inmediatamente. En algunas configuraciones, es posible que los permisos no se registren inmediatamente; un reinicio rápido puede ser útil.

Comprobación de los registros en busca de cambios

Aquí empieza la diversión. Abre el Visor de eventos con eventvwr.msc. Luego, ve a Registros de Windows > Seguridad. Filtra por el ID de evento 4670 (Se cambiaron los permisos de un objeto).Si todo funciona correctamente, verás una entrada emergente cada vez que se ajusten los permisos.

La entrada del evento indica quién realizó el cambio (ver Nombre de la cuenta) y qué proceso se utilizó (como C:\Windows\explorer.exe, que suele ser el usuario que cambia los permisos a través del Explorador).También incluye detalles sobre el descriptor de seguridad anterior y actual, muy útil si desea profundizar en los cambios.

Dato curioso: si los permisos antiguos y nuevos no son suficientes o no están claros, puedes comparar las cadenas SDDL del evento con PowerShell. Con ConvertFrom-SddlString, puedes traducir los descriptores de seguridad a objetos más legibles.

Utilice PowerShell para obtener información más detallada

Si te gustan los scripts y la automatización, PowerShell es tu aliado. Puedes extraer eventos recientes de cambio de permisos con algo como esto:

$events = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4670} -MaxEvents 10 foreach ($event in $events) { $xml = [xml]$event. ToXml() $oldSD = $xml. Event. EventData. Data | Where-Object {$_. Name -eq 'OldSD'} | Select-Object -ExpandProperty '#text' $newSD = $xml. Event. EventData. Data | Where-Object {$_. Name -eq 'NewSD'} | Select-Object -ExpandProperty '#text' # Compare or parse these strings to see exactly what changed }

Créeme, es bastante poderoso una vez que te acostumbras a leer la información de seguridad sin procesar.

Y si quieres identificar qué proceso fue responsable de un ajuste de permisos en tiempo real, la mejor herramienta es Process Monitor. Es un poco complicado de configurar, pero aquí tienes un resumen rápido:

  1. Descargue y ejecute Procmon64.exe.
  2. Establecer un filtro: la ruta comienza con su carpeta e incluye la operación SetSecurityFile.
  3. Ahora, cada vez que se cambien los permisos, ProcMon registrará el proceso y el usuario que lo controla.

Sinceramente, es una forma bastante fiable de detectar cambios de permisos en acción. Solo ten en cuenta que, si los permisos cambian muy rápido, a veces los registros pueden resultar abrumadores. Quizás puedas ajustar el filtro para que se centre en una sola carpeta o usuario a la vez.

Resumen

  • Habilitar la auditoría de acceso a objetos en la directiva de grupo.
  • Configure la auditoría específica de la carpeta a través de Propiedades de carpeta > Seguridad > Avanzada > Auditoría.
  • Filtrar el Visor de eventos por ID de evento 4670 para ver los cambios de permisos.
  • Utilice PowerShell o Process Monitor para una investigación más profunda.

Resumen

Esta configuración no es perfecta: los permisos no siempre se registran inmediatamente, e interpretar SDDL puede ser un fastidio. Aun así, si quieres tener una buena oportunidad de descubrir quién cambió qué, es mejor que intentar adivinar a ciegas. Recuerda que los permisos tienen un formato extraño, así que no te sorprendas si algunas partes parecen crípticas al principio. Combinar los registros con herramientas como Procmon aumenta considerablemente tus posibilidades de encontrar al culpable. Sin duda, es un paso en la dirección correcta para cualquiera que administre un servidor de archivos con mucha actividad; solo recuerda que no es totalmente infalible, pero te ayudará a identificar a los sospechosos.