Auditoria de logon de usuários do Active Directory com Elasticsearch e Grafana

Algo muito comum que normalmente nos pedem é a possibilidade de conhecer os logons e outras informações interessantes que um usuário pode gerar. Neste post vamos ver como visualizar dados tão interessantes quanto: Quando é que iniciaram sessão, Quando encerraram a sessão, Tentativas de login incorretas, Quando um computador foi bloqueado, ou desbloqueado, ou quando o protetor de tela tropeçou ou foi desativado…

Realmente este tipo de informação, como sabemos, fica registada no Visualizador de Eventos dos computadores, alguns registos poderão ser fornecidos pelos controladores de domínio, e outros registos pelos próprios computadores onde os utilizadores trabalham.

O exemplo que faremos neste post será o dito, recolher os eventos dos computadores, de forma centralizada iremos armazená-los no Elasticsearch e depois com o Grafana faremos as consultas que mais nos interessarem com base em algum ID de evento. Poderemos ver os dados em tempo real, ou diretamente procurar num período de tempo, ou diretamente perguntar por um utilizador em particular. Depois já os visualizamos em gráfico, tabela, pizza ou como nos apetecer, e se quisermos geramos relatórios em PDF y los mandamos vía mail a quién le interese.

Así que obviamente primero necesitaremos una máquina con Elasticsearch funcionando, E depois 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 estes exemplos, ¡pero hay muchas otras posibilidades más!

Por resumir, la parte de configuración de cada Winlogbeat, recordar que podremos filtrar desde ahí diretamente para traer todos los tipos de registos o solo los que nos interessam, Neste caso, lo que estamos a falar quedaría registado nos eventos de 'Seguridad', así que nos quedaría nuestro winlogbeat.yaml más o menos así:

winlogbeat.event_logs:
- Nome: Security
 ignore_older: 72h
setup.kibana:
  anfitrião: "https (em inglês)://DIRECCION_IP_KIBANA:5601"
output.elasticsearch:
  # Array of hosts to connect to.
  Hosts: ["https (em inglês)://DIRECCION_IP_ELASTICSEARCH:9200"]
  nome de usuário: "USUARIO"
  senha: "PALAVRA-PASSE"

Una vez tengamos Elasticsearch alimentado y hayamos criado el DataSource desde Grafana contra este índice podremos começar 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 interessa y filtrando por el ID de algum ID de Evento o Event ID.

Por exemplo, 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é abaixo del post un listado de los ID's más interesantes con respeito este tema. Y lo mejor como siempre, será jugar desde Kibana a descobrir outro tipo de queries.

Total, que con un painel de tipo de Tabla, con la query, indicando que queremos en formato Raw el resultado, transformamos a formato JSON y selecionamos los campos que queremos visualizar, além disso, podremos renombrarlos o mudar o seu formato. Fijaros en la imagen para resolver cualquier duda.

Entonces podremos crear tantos paneles como distinta información queramos visualizar, para ver los inicios de sesión con el ID 4624 lo tendremos o puede que con el 4768, depende de qué tipo de logon nos interese. Para los cierres de sesión podremos buscar por el ID 4647.

Si queremos ver los inicios de sesión incorrectos nos bastará con buscar el ID 4625.

Si queremos buscar los equipos cuando se bloquean, cuando se bloquea una sesión de usuario tendremos el ID de evento 4800 y para los desbloqueos filtraremos por el ID 4801.

Y lo mismo para el salvapantallas, si queremos saber cuándo ha saltado en un equipo, buscaremos el ID 4802 y en el caso de saber cuándo han desactivado el salvapantallas tendremos el ID 4803.

Por último pero no por ello menos importante, deberemos criar una GPO para poder habilitar 3 diretivas, que permitan recopilar este tipo de informação nos visores de eventos de los equipos, desde Configuração del equipo > Políticas > Configurações do Windows > Configurações de Segurança > Configuração de auditoría avançada > Inicio y cierre de sesión:

  • Auditar cierre de sesión: Aciertos y errores
  • Auditar início de sesión: Aciertos y errores
  • Auditar outros eventos de início y cierre de sesión: Aciertos y errores

Os dejo un listado de eventos que quizá os puedan ser de utilidad:

Cambio en políticas de auditoría:
4719: Se ha cambiado la política de Auditoría del sistema.
4908: Se ha modificado la tabla de inicio de sesión de los grupos especiales.

Cambios en políticas de autenticación de auditoría
4706: Se ha criado una nueva confianza en un dominio.
4707: Foi removida uma confiança a um domínio.
4713: A política de Kerberos foi modificada.
4716: A informação do domínio de confiança foi modificada.
4717: O acesso de segurança do sistema foi concedido a uma conta.
4718: O acesso de segurança do sistema foi removido de uma conta.
4739: Uma política do domínio foi modificada.
4865: Uma entrada de informação da floresta de confiança foi adicionada.
4866: Uma entrada de informação da floresta de confiança foi removida.
4867: Uma entrada de informação da floresta de confiança foi modificada.
4706: Foi criada uma nova confiança a um domínio.
4707: Foi removida uma confiança a um domínio.

Auditoria de gestão de contas de computador
4741: Uma conta de computador foi criada.
4742: Uma conta de computador foi modificada.
4743: Uma conta de computador foi eliminada.

Auditoria da atividade do DPAPI
4692: Foi tentado fazer uma cópia de segurança da chave mestra de proteção de dados.
4693: Foi tentado recuperar a chave mestra de proteção de dados.
4695: Foi tentado desproteger os dados protegidos auditáveis.

Auditoria do Serviço de Autenticação Kerberos
4768: Foi solicitado um bilhete de autenticação Kerberos (TGT)
4771: Falhou a pré-autenticação de Kerberos
4772: Falhou o pedido de bilhete de autenticação de Kerberos

Auditoria da operação do bilhete de serviço Kerberos
4769: Foi solicitado um bilhete de serviço Kerberos (TGS)
4770: Foi renovado um bilhete de serviço Kerberos

Auditoria de encerramento de sessão
4634: A sessão de uma conta de utilizador foi encerrada.

Auditoria de início de sessão
4624: Uma conta de utilizador iniciou sessão com sucesso.
4625: Uma conta de utilizador não conseguiu iniciar sessão, credenciais inválidas.
4648: Foi tentado iniciar sessão com credenciais explícitas.

Auditoria de outros eventos de início de sessão de contas
4648: Foi tentado iniciar sessão com credenciais explícitas.
4649: Foi detetado um ataque de repetição.
4800: A estação de trabalho está bloqueada.
4801: A estação de trabalho foi desbloqueada.
5378: A delegação de credenciais solicitada não foi permitida pela política

Auditoria de outros eventos de acesso a objetos
4698: Foi criada uma tarefa programada.
4699: Foi eliminada uma tarefa programada.
4702: Foi atualizada uma tarefa programada.

Criação de processos de Auditoria
4688: Foi criado um novo processo.

Gestão de Grupos de Segurança de Auditoria
4728: Foi adicionado um membro a um grupo global de segurança.
4729: Se ha eliminado un miembro de un grupo global de seguridad.
4732: Se ha añadido un miembro a un grupo local habilitado para la seguridad.
4733: Se ha eliminado un miembro de un grupo local habilitado para la seguridad.
4735: Se ha modificado un grupo local habilitado para la seguridad.
4737: Se ha modificado un grupo global habilitado para la seguridad.
4755: Se ha modificado un grupo universal habilitado para la seguridad.
4756: Se ha añadido un miembro a un grupo universal habilitado para la seguridad.
4757: Se ha eliminado un miembro de un grupo universal habilitado para la seguridad.
4764: Se ha cambiado el tipo de un grupo.

Extensión del Sistema de Seguridad de Auditoría
4610: La Autoridad de Seguridad Local ha cargado un paquete de autenticación.
4611: Foi registado um processo de início de sessão de confiança na Autoridade de Segurança Local.
4697: Foi instalado um serviço no sistema


Auditoria de uso de privilégios sensíveis
4672: Privilégios especiais atribuídos a um novo início de sessão.
4673: Foi chamado um serviço com privilégios.
4674: Foi tentado realizar uma operação num objeto com privilégios.

Auditoria de início de sessão especial
4964: Foram atribuídos grupos especiais a um novo início de sessão.

Auditoria de gestão de contas de utilizador
4720: Foi criada uma conta de utilizador.
4722: Foi ativada uma conta de utilizador.
4723: Foi tentado alterar a palavra-passe de uma conta.
4724: Foi tentado repor a palavra-passe de uma conta.
4725: Foi desativada uma conta de utilizador.
4726: Foi eliminada uma conta de utilizador.
4738: Uma conta de utilizador foi modificada.
4740: Uma conta de utilizador foi bloqueada.
4765: Um histórico de SID foi adicionado a uma conta.
4766: A tentativa de adicionar um histórico de SID a uma conta falhou.
4767: Uma conta de utilizador foi desbloqueada.
4780: A ACL foi configurada em contas que são membros de grupos de administradores.
4794: Foi feita uma tentativa de definir o modo de restauro dos serviços de diretório.

Postagens recomendadas

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Não hesite em contactar-me, Vou tentar ajudá-lo sempre que puder, Compartilhar é viver ;) . Desfrute de documentos!!!