Auditoría de logon de los usuarios del Directorio Activo con Elasticsearch y Grafana

Algo muy común que nos suelen pedir es la posibilidad de conocer los logons y demás información interesante que pueda generar un usuario. En este post veremos cómo visualizar datos tan interesantes como: cuándo se han logueado, cuándo han cerrado la sesión, intentos de inicio de sesión incorrectos, cuándo se ha bloqueado un equipo, o desbloqueado, o cuándo le ha saltado el salvapantallas o lo han desactivado…

Realmente este tipo de información como sabemos queda registrada en el Visor de Sucesos de los equipos, algunos registros nos los podrá proporcionar los controladores de dominio, y otros registros los propios equipos donde trabajan los usuarios.

El ejemplo que haremos en este post será lo dicho, recopilar los eventos de los equipos, de manera centralizada los almacenaremos en Elasticsearch y luego con Grafana haremos las consultas que más nos interesen basándonos en algún ID de evento. Podremos ver los datos en tiempo real, o directamente buscar en un periodo de tiempo, o directamente preguntar por un usuario en particular. Luego ya los visualizamos en gráfica, tabla, quesito o como nos de la gana, y si queremos generamos informes en PDF y los mandamos vía mail a quién le interese.

Así que obviamente primero necesitaremos una máquina con Elasticsearch funcionando, y luego instalaremos Winlogbeat en los controladores de dominio. En el visor de sucesos de los DCs quedaría registrado cuando un usuario se loguea y los inicios de sesión incorrectos. Y si queremos datos de cuándo han cerrado sesión, o lo que comentábamos al inicio de cuando un equipo se bloquea por un timeout, o cuándo se desbloquea, lo mismo con el salvapantallas, que si cuándo salta el screensaver o cuando se desactiva. Ahí si necesitaríamos instalar Winlogbeat en el equipo cliente.

Al final como vamos entendiendo, se recopilan los eventos del visor de sucesos en Elasticsearch y luego consultaremos por los idenficadores que sea, en este post veremos únicamente estos ejemplos, ¡pero hay muchas otras posibilidades más!

Por resumir, la parte de configuración de cada Winlogbeat, recordar que podremos filtrar desde ahí directly para traer todos los tipos de registros o sólo los que nos interesen, kasu honetan, lo que estamos hablando quedaría registrado en los eventos de 'Seguridad', así que nos quedaría nuestro winlogbeat.yaml más o menos así:

winlogbeat.event_logs:
- name: Security
 ignore_older: 72h
setup.kibana:
  host: "https://DIRECCION_IP_KIBANA:5601"
output.elasticsearch:
  # Konexioa egiteko ostatuen arraya.
  hosts: ["https://DIRECCION_IP_ELASTICSEARCH:9200"]
  username: "USUARIO"
  password: "PASAHITZA"

Una vez tengamos Elasticsearch alimentado y hayamos creado el DataSource desde Grafana contra este índice podremos comenzar a poder hacer las visualizaciones que nos interesen. Yo haré lo más básico de todo, una Tabla, una tabla donde veremos en formato listado los campos que nos interesen y filtrando por el ID de algún ID de Evento o Event ID.

Adibidez, para ver los cierres de sesión (cuándo alguién cierra la sesión de su usuario), haremos una query de tipo Lucene bien sencilla, con poner “event.code: 4647” nos basta. Para saber qué ID hace qué, dejaré abajo del post un listado de los ID’s más interesantes con respecto este tema. Y lo mejor como siempre, será jugar desde Kibana a descubrir otro tipo de queries.

Guztira, que con un panel de tipo de Tabla, kontsultarekin, adieraziz Raw formatuan nahi dugula emaitza, JSON formatura bihurtzen dugu eta ikusi nahi ditugun eremuak hautatzen ditugu, horrez gain, izenak alda ditzakegu edo haien formatua aldatu. argazkian begiratu zalantzarik izanez gero.

Orduan nahi dugun informazio desberdina ikusteko panelak sortu ahal izango ditugu, saio hasierak IDarekin ikusteko 4624 horrela izango dugu edo agian harekin 4768, kontuan hartzen dugun logon motaren arabera. Saioak ixteko IDaren arabera bilatzeko aukera izango dugu 4647.

Saio okerrak ikusi nahi baditugu IDaren bilaketa nahikoa izango da 4625.

Blokeatutako makinak bilatu nahi baditugu, erabiltzaile saioa blokeatzen denean, gertaeraren IDa izango dugu 4800 eta desblokeatzeetan IDaren arabera iragazi egingo dugu 4801.

Eta gauza bera pantaila-aurkezlearen kasuan, talde batean noiz piztu den jakin nahi badugu, ID bilatuko dugu 4802 eta pantaila-babesa noiz desaktibatu duten jakiteko kasuan IDa izango dugu 4803.

Azkenik baina garrantzi gutxiago ez duena, GPO bat sortu beharko dugu gaitzeko 3 directivas, ekipoko gertakari-ikusiotan informazio mota hau biltzea ahalbidetzen dutenak, Ekipoko konfiguraziotik > Politikak > Configuración de Windows > Configuración de seguridad > Auditoria aurreratuaren konfigurazioa > Saioa hasi eta amaitu:

  • Saioa amaitzea auditatu: Arrakastak eta akatsak
  • Saioa hastea auditatu: Arrakastak eta akatsak
  • Saio hasiera eta amaierako beste gertakari batzuk auditatu: Arrakastak eta akatsak

Hona hemen baliteke erabilgarriak izan daitezkeen gertakari-zerrenda bat:

Auditoria-politiketan aldaketa:
4719: Sistemaren Auditoria politika aldatu da.
4908: Taldeen saio-hasierako taula bereziak aldatu dira.

Auditoria autentikazio politiketan aldaketak
4706: Domeinu batean konfiantza berria sortu da.
4707: Domeinu bateko konfiantza bat ezabatu da.
4713: Kerberos politika aldatu da.
4716: Konfiantzazko domeinuaren informazioa aldatu da.
4717: Sisteman segurtasun sarbidea kontu bati eman zaio.
4718: Sisteman segurtasun sarbidea kontu bati kendu zaio.
4739: Domeinu politika bat aldatu da.
4865: Konfiantzazko basoaren informazio sarrera bat gehitu da.
4866: Konfiantzazko basoaren informazio sarrera bat ezabatu da.
4867: Konfiantzazko basoaren informazio sarrera bat aldatu da.
4706: Domeinu batean konfiantza berria sortu da.
4707: Domeinu bateko konfiantza bat ezabatu da.

Ordenagailu-kontuen kudeaketa-auditoria
4741: Ordenagailu-konto bat sortu da.
4742: Ordenagailu-konto bat aldatu da.
4743: Ordenagailu-konto bat ezabatu da.

DPAPI jarduera-auditoria
4692: Datuen babes-giltza nagusia babesteko kopia bat egitea saiatu da.
4693: Datuen babes-giltza nagusia berreskuratzen saiatu da.
4695: Auditatutako babestutako datuak desbabesteko saiakera egin da.

Kerberos Autentikazio Zerbitzuaren auditoria
4768: Kerberos autentikazio txartel bat eskatu da (TGT)
4771: Kerberos aurreautentikazioa huts egin du
4772: Kerberos autentikazio txartelaren eskaera huts egin du

Kerberos zerbitzu-txartelaren operazioaren auditoria
4769: Kerberos zerbitzu-txartel bat eskatu da (TGS)
4770: Kerberos zerbitzu tiket bat berritu da

Saio-itxieraren auditoriaren txostena
4634: Erabiltzaile kontu baten saioa itxi da.

Saio-hasiera auditoriaren txostena
4624: Erabiltzaile kontu batek arrakastaz saioa hasi du.
4625: Erabiltzaile kontu batek ezin izan du saioa hasi, baliozkoak ez diren kredentzialak.
4648: Saioa hastea saiatu da kredentzial espezifikoekin.

Kontuen saio-hasiera beste gertaeren auditoriaren txostena
4648: Saioa hastea saiatu da kredentzial espezifikoekin.
4649: Errepikapen eraso bat detektatu da.
4800: Lanpostua blokeatuta dago.
4801: Lanpostua desblokeatu da.
5378: Eskaera egin den kredentzialen ordezkapena politikak onartu ez du

Objektuen sarbidearen beste gertaeren auditoriaren txostena
4698: Egutegiko ataza bat sortu da.
4699: Egutegiko ataza bat ezabatu da.
4702: Programatutako zeregin bat eguneratu da.

Auditoretza prozesuen sorkuntza
4688: Prozesu berri bat sortu da.

Auditoretza Segurtasun Taldeen kudeaketa
4728: Kide bat gehitu da segurtasun talde globalera.
4729: Kide bat ezabatu da segurtasun talde globaletik.
4732: Kide bat gehitu da segurtasun gehi daitekeen tokiko talde batera.
4733: Kide bat ezabatu da segurtasun gehi daitekeen tokiko talde batetik.
4735: Tokiko segurtasun talde bat aldatu da.
4737: Global segurtasun talde bat aldatu da.
4755: Unibertsala segurtasun talde bat aldatu da.
4756: Kide bat gehitu da segurtasun gehi daitekeen unibertsala talde batera.
4757: Kide bat ezabatu da segurtasun gehi daitekeen unibertsala talde batetik.
4764: Talde baten mota aldatu da.

Auditoria Segurtasun Sistemaren Luzapena
4610: Tokiko Segurtasun Agintaritzak autentifikazio pakete bat kargatu du.
4611: Konfiantzazko saio bat erregistratu da Tokiko Segurtasun Agintaritzan.
4697: Sarrera bat instalatu da sisteman


Pribilegio sentikorrak dituzten erabileren auditoriaren erabilera
4672: Pribilegio bereziak esleitu dira saio berri bati.
4673: Pribilegioekin zerbitzu bat deitu da.
4674: Pribilegioekin objektu batean eragiketa bat saiatu da.

Saio bereziaren auditoriaren hasiera
4964: Talde bereziak esleitu dira saio berri bati.

Erabiltzaileen kontuen kudeaketaren auditoriaren hasiera
4720: Erabiltzaile kontu bat sortu da.
4722: Erabiltzaile kontu bat gaitu da.
4723: Kontu baten pasahitza aldatzen saiatu da.
4724: Kontu baten pasahitza berrezartzen saiatu da.
4725: Erabiltzaile kontu bat desgaituta geratu da.
4726: Erabiltzaile kontu bat ezabatu da.
4738: Erabiltzaile kontu bat aldatu da.
4740: Erabiltzaile kontu bat blokeatu da.
4765: SID histori bat kontu batean gehitu da.
4766: Kontu batean SID histori bat gehitzea huts egin du.
4767: Erabiltzaile kontu bat desblokeatu da.
4780: Administratzaileen taldeetako kide diren kontuetan ACLa ezarri da.
4794: Direktorio zerbitzuen berreskuratze modua ezartzen saiatu da.

Izenburuko mezuak

Egilea

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, ez zalantzarik izan nirekin harremanetan jartzeko, ahal duzun guztietan laguntzen saiatuko naiz, partekatu ahal dudan guztietan ;) . Dokumentuez gozatu!!!