Auditoría de acceso a ficheros con Elasticsearch y Grafana

Este post es bastante curioso, ya que de manera gratuita podemos auditar los accesos a los ficheros de la organización, recoger esos eventos en y almacenarlos en Elasticsearch, para que, luego de manera magistral nuestro Grafana nos permita visualizar sencillamente los accesos. Y ver quién abrió un documento, lo modificó o lo eliminó.

 

Si actualmente sirves tus ficheros a tus usuarios mediante servidores Windows y te gustaría saber qué sucede ahí adentro, seguramente conozcas que existe la posibilidad de auditar mediante una directiva o GPO los accesos a los ficheros, para ver quien hace qué. El problema es comprender esos datos, ya que en Windows deberíamos de tirar de Visor de eventos y para eso nos pegamos un tiro, ¿verdad? Así que, saquemos estos datos fuera. Sabemos que con el agente de Winlogbeat podemos recopilar eventos de una máquina Windows y almacenarlos en Elasticsearch, y cómo no Grafana está siempre ahí para echarnos una mano y visualizar esos datos de una manera más comprensiva.

 

Pues vamos a empezar yendo al grano, ya que tenemos un post bastante parecido, el de Auditoría de logon de los usuarios del Directorio Activo con Elasticsearch y Grafana, donde ya vimos cómo desplegar la base o configurar Winlogbeat. Así que lo único diferente que necesitamos hoy, es decirle a nuestro servidor de ficheros que audite los accesos a los ficheros.

 

Para habilitar la auditoría en ficheros, esto es, para que al abrir un archivo, modificar, o al eliminar quede auditado en el Visor de sucesos, lo más cómodo será crear una GPO que apliquemos al servidor de ficheros. Y habilitar el ‘Auditar el acceso a objetos’ (aciertos y errores) desde “Directivas” > “Configuración de Windows” > “Configuración de seguridad” > “Directivas locales/Directivas de auditoría”.

 

Ahora ya sólo nos queda habilitar la auditoria en la carpeta que nos interese y contenga los datos que queremos supervisar. Lo haremos desde las propiedades de la carpeta > pestaña “Seguridad” > “Opciones avanzadas” > pestaña “Auditoria” > “Agregar”.

 

Y aquí seleccionaremos que se aplique a esta carpeta y su contenido, y el tipo de permisos que queremos auditar. Aceptamos y listo.

 

 

Lo dicho, ahora si ya tenemos Winlogbeat en esta máquina recolectando los eventos del Visor de sucesos podremos ver cómo en el índice de Elasticsearch ya empiezan a aparecer los eventos de accesos a los ficheros. ¡Poco más que empezar con Grafana! Y en Grafana también recordar que antes de hacer el Dashboard tenemos que tener el Datasource contra Elasticsearch configurado, que lo hemos visto en posts anteriores. 🙂

 

Y nada, en un periquete podréis crear un Dashboard, con por ejemplo Paneles de tipo Tabla que consulten los ficheros que se tocan por los usuarios, os dejo las queries que estoy usando para que no tardéis un minuto en tener esta imagen que os dejo de ejemplo.

  • Ficheros abiertos:
winlog.event_data.AccessMask: 0x20000

 

  • Ficheros modificados:
winlog.event_id: 4663 AND message: *WriteAttributes* AND NOT winlog.event_data.ObjectName:*.tmp*

 

  • Ficheros eliminados:
event.code: "4659"

 

Así podréis visualizar en tiempo real los accesos a ficheros en tu empresa, como se puede filtrar por usuario y conocer con qué ficheros trabaja… o filtrar por fichero y ver quién lo accede… por supuesto podemos ampliar el rango de tiempo hasta donde nos interese, hacer informes, o básicamente buscar al culpable de cuando alguien borra un fichero y al final nadie fue.

 

Bueno, acordaros que al inicio os recomendé un post, darle un repaso que tenemos un montón de eventos que podemos perseguir para saber cuando sucede algo. Un abracito enorme, ¡¡¡disfrutar de la vida!!!