j91321.winlogbeat
ansible-role-winlogbeat
Un rol de Ansible que instala winlogbeat para la monitorización de logs de Windows.
Plataformas soportadas:
- Windows 10
 - Windows Server 2019
 - Windows Server 2016
 
Requisitos
Ninguno
Variables del Rol
Variables de Ansible desde defaults/main.yml
winlogbeat_event_logs:
  channels:
    - name: Application
      ignore_older: "72h"
    - name: System
      ignore_older: "72h"
  security: true
  sysmon: false
  powershell: true
  wef: false
winlogbeat_output:
  type: "elasticsearch"
  elasticsearch:
    hosts:
      - "localhost:9200"
    security:
      enabled: false
winlogbeat_processors: |
  - add_host_metadata:
      when.not.contains.tags: forwarded
  - add_cloud_metadata: ~
winlogbeat_service:
  install_path_64: "C:\\Program Files\\Elastic\\winlogbeat"
  install_path_32: "C:\\Program Files (x86)\\Elastic\\winlogbeat"
  version: "7.9.1"
  download: true
El winlogbeat_service.download especifica si el archivo zip de instalación debe descargarse de https://artifacts.elastic.co/ o copiarse desde el servidor de Ansible. Si tus servidores no tienen acceso a Internet, descarga el archivo zip de instalación y colócalo en la carpeta .files/. No cambies el nombre del archivo zip.
Precaución asegúrate de que install_path_64 e install_path_32 terminen con \winlogbeat. La última tarea de limpieza elimina todo lo demás de la ruta de instalación que no contenga el número de versión actual de winlogbeat.
Dependencias
Ninguna.
Ejemplo de Playbook
Ejemplo de playbook con destino de instalación cambiado, recogida de logs de Windows Defender añadida, eventos ruidosos eliminados de los logs de seguridad usando procesadores y salida configurada a redis.
- name: Instalar winlogbeat en estaciones de trabajo
  hosts:
    - workstations
  vars:
    winlogbeat_service:
       install_path_64: "C:\\Program Files\\monitoring\\winlogbeat"
       install_path_32: "C:\\Program Files (x86)\\monitoring\\winlogbeat"
       version: "7.9.1"
       download: false
    winlogbeat_event_logs:
      channels:
        - name: Application
          ignore_older: "72h"
        - name: System
          ignore_older: "72h"
        - name: Microsoft-Windows-Windows Defender/Operational
          ignore_older: "72h"
      security: true
      security_processors: |
          - drop_event.when.or:
        - equals.winlog.event_id: 4656 # Se solicitó un identificador de un objeto.
        - equals.winlog.event_id: 4658 # Se cerró el identificador de un objeto.
        - equals.winlog.event_id: 4659 # Se solicitó un identificador de un objeto con intención de eliminar.
        - equals.winlog.event_id: 4660 # Se eliminó un objeto.
        - equals.winlog.event_id: 4663 # Se intentó acceder a un objeto.
        - equals.winlog.event_id: 4664 # Se intentó crear un enlace duro.
        - equals.winlog.event_id: 4691 # Se solicitó acceso indirecto a un objeto.
      powershell: true
      sysmon: true
      wef: false
    winlogbeat_template:
      enabled: false
    winlogbeat_general:
      tags:
        - "workstation"
        - "winlogbeat"
    winlogbeat_output:
      type: "redis"
      redis:
        hosts:
          - "192.168.24.33:6379"
        password: "mi_super_larga_contraseña_redis_porque_redis_es_rápido"
        key: "winlogbeat-workstation"
Licencia
MIT
Información del Autor
j91321
Notas
El rol contiene una plantilla utilizable con winlogbeat 6 en ./templates/winlogbeat6.yml.j2. Para usar esta plantilla, reemplaza winlogbeat.yml.j2 o modifica las tareas.
Install Winlogbeat for Windows event log monitoring.
ansible-galaxy install j91321.winlogbeat