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