Primeros pasos
Wirespeed admite la ingesta de registros y telemetría de Windows con una arquitectura gratuita y sin agente:- WEF (Windows Event Forwarding) en los puntos de conexión cuyos registros desee
- WEC (Windows Event Collector) en un único servidor
- Winlogbeat: para leer los registros de WEC (p. ej., del registro
ForwardedEvents) y enviarlos a Logstash - Logstash: para reenviar los registros de Winlogbeat a Wirespeed a través de HTTPS
Para más información sobre WEF/WEC, lea este artículo de Microsoft.
WEF (Windows Event Forwarding)
WEF es el método nativo de Microsoft (sin agente) para recopilar registros y telemetría de Windows y enviarlos a una ubicación centralizada. Normalmente se trata de servidores Windows locales o de nube privada, pero también puede incluir puntos de conexión Windows de alto valor. En el contexto de esta documentación, denominamos a estos sistemas sistemas de origen.WEC (Windows Event Collection)
WEC es el método nativo de Microsoft (sin agente) para recopilar de forma centralizada los registros de los sistemas de origen. En una arquitectura sencilla, habrá un único servidor WEC dentro de un entorno local o de nube privada que actuará como servidor WEC. No debe ser un Domain Controller (esos son sistemas de origen WEF).Winlogbeat
Winlogbeat es uno de los muchos Beats que Elastic proporciona para el envío de datos. Winlogbeat envía registros de eventos de Windows a Elasticsearch o Logstash y se puede instalar como servicio de Windows.Logstash
Logstash es un pipeline de procesamiento de datos de código abierto del lado del servidor que puede ingestar datos de múltiples orígenes, transformarlos y, a continuación, enviarlos a un «stash».Configurar Windows Event Forwarder
Hay varias opciones para desplegar WEF + WEC. Nuestra recomendación usa Group Policy para indicar a los hosts Windows que envíen (push) telemetría al servidor WEC, en lugar de recuperarla (pull). Puede usar el método pull, pero no está documentado aquí.- Abra Group Policy Management
- En un domain controller o estación de trabajo de administración, ejecute gpmc.msc.
- Cree un nuevo GPO (Group Policy Object)
- Haga clic con el botón derecho en la OU donde residan sus servidores (p. ej.,
Servers OU) → Create a GPO in this domain, and Link it here. - Nombre:
Windows Event Forwarding. - Haga clic con el botón derecho en el GPO > Edit.
- Haga clic con el botón derecho en la OU donde residan sus servidores (p. ej.,
- Habilite el servicio WinRM (sin Remote Management)
- Computer Configuration > Policies > Windows Settings > Security Settings > System Services.
- Establezca Windows Remote Management (WS-Management) en Automatic.
- **[OPCIONAL] **Wirespeed recomienda bloquear el tráfico de red WinRM entrante en cualquier punto de conexión Windows donde no sea necesario, ya que habilita una vía de movimiento lateral para los atacantes. Dicho esto, el servidor WEC debe tenerlo habilitado, así que si realiza este cambio, separe su servidor WEC en una OU distinta donde esta configuración de Group Policy no le afecte.
- Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Remote Management (WinRM) > WinRM Service.
- Establezca en Disabled
- Computer Configuration > Policies > Windows Settings > Security Settings > System Services.
- Defina la dirección del servidor WEC
- Computer Configuration > Policies > Administrative Templates > Windows Components > Event Forwarding.
- Habilite la configuración e introduzca lo siguiente en el campo Option:
Server=http://WEC-Server01.domain.local:5985/wsman/SubscriptionManager/WEC,Refresh=60 - Sustituya
WEC-Server01.domain.localpor el FQDN de su servidor WEC. El puerto5985es el estándar para WinRM sobre HTTP. El puerto5986es el estándar para WinRM sobre HTTPS, pero requiere una Certificate Authority TLS desplegada internamente de forma adecuada en su entorno Active Directory para que todos los puntos de conexión puedan confiar en los certificados HTTPS. Sin una PKI adecuada, déjelo en5985sobre HTTP.
- Habilite PowerShell Logging y Transcription
- Computer Configuration > Policies > Administrative Templates > Windows Components > Windows PowerShell
- Habilite Turn on PowerShell Script Block Logging
- Marque
Log script block invocation start/stop events(4105/4106)
- Marque
- Habilite Turn on Module Logging
- Establezca
Module Namesen*
- Establezca
- Habilite Turn on PowerShell Transcription
- Transcription Output Directory: Déjelo en blanco (el valor predeterminado es
%UserProfile%\Documents\PowerShell_transcripts) - Marque Include invocation headers.
- Transcription Output Directory: Déjelo en blanco (el valor predeterminado es
- Habilite Turn on PowerShell Remoting Transcription (si está disponible)
- Transcription Output Directory: Déjelo en blanco (el valor predeterminado es
%UserProfile%\Documents\PowerShell_transcripts) - Marque Include invocation headers.
- Transcription Output Directory: Déjelo en blanco (el valor predeterminado es
- Habilitar Command Line Logging
- Computer Configuration > Policies > Administrative Templates > System > Audit Process Creation
- Habilite “Include command line in process creation events”
- Esto rellena el campo CommandLine en Security Event ID 4688 para todas las creaciones de proceso
- Definir el registro mínimo
- Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > System Audit Policies > Detailed Tracking
- Habilite Audit Process Creation
- Establezca en Success (Event ID 4688 para la invocación de PowerShell)
- Habilite Audit Process Creation
- Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > System Audit Policies > Account Logon
- Habilite Audit Kerberos Authentication Service
- Establezca en Success y Failure (Event IDs 4768, 4771)
- Habilite Audit Kerberos Service Ticket Operations
- Establezca en Success y Failure (Event ID 4769)
- Habilite Audit Other Account Logon Events
- Establezca en Success y Failure (Event ID 4776)
- Habilite Audit Kerberos Authentication Service
- Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > System Audit Policies > Logon/Logoff
- Habilite Audit Logoff
- Establezca en Success (Event ID 4634 para la terminación de sesión)
- Habilite Audit Other Logon/Logoff Events
- Establezca en Success y Failure (Event IDs 4648, 4778, 4779, 4800, 4801)
- Habilite Audit Logoff
- Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > System Audit Policies
- Audit Logon: Habilite Success y Failure para cubrir tipos de inicio de sesión local, interactivo y remoto (p. ej., RDP, red).
- Audit Account Lockout: Habilite Success y Failure
- Audit Special Logon: Habilite Success (inicios de sesión privilegiados, p. ej., derechos de administrador)
- Audit User Account Management: Habilite Success y Failure (creación y cambios de usuario)
- Audit Security Group Management: Habilite Success y Failure (creación y cambios de grupo)
- Audit Audit Policy Change: Habilite Success y Failure (modificaciones de la directiva de auditoría)
- Audit Security System Extension: Habilite Success y Failure (cambios en la configuración de registros)
- Privilege Use: [Recomendación] Deshabilitado o solo Failure (Event IDs 4673, 4674)
- Process Creation: [Recomendación] Habilitado Success (paso 6, Event ID 4688)
- File and Registry Access (Object Access): [Recomendación] Disabled o solo Failure (Event IDs 4656, 4663)
- [Opcional] Si es necesario, habilite de forma selectiva mediante SACL en objetos concretos (fuera del alcance)
- Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > System Audit Policies > Detailed Tracking
- Habilitar Task Scheduler Logging
- Computer Configuration > Policies > Administrative Templates > Windows Components > Task Scheduler
- Habilite “Turn On logging for task registration”
- Esto genera eventos de creación, modificación y ejecución de tareas programadas (Event IDs 106, 200, 201)
Configurar Windows Event Collector
- Identifique un servidor (debe coincidir con el servidor identificado y establecido en la group policy anterior), que debe ejecutar una versión compatible de Windows Server (Server 2016 o posterior).
- Descargue
WEC-Setup.ps1del Github de Wirespeed: https://github.com/WirespeedSecurity/utils/ - Cree el directorio
C:/Program Files/Wirespeedy mueva el script allí. Abra un terminal de PowerShell ejecutándose como administrador en este directorio y ejecute el script con./WEC-Setup.ps1. Este script:- Habilitará y configurará el servicio Windows Remote Management (WinRM): una dependencia de WEC.
- Establecerá el servicio Windows Event Collector (
wecsvc) para que se inicie automáticamente e iniciará el servicio de inmediato conwecutil qc. - Añadirá la cuenta
NT AUTHORITY\Network Serviceal grupo localEvent Log Readerspara garantizar los permisos adecuados para la recopilación de eventos. - Creará reglas de firewall para permitir el tráfico entrante en los puertos 5985 (WinRM sobre HTTP) y 5986 (WinRM sobre HTTPS) para la comunicación WEF.
- Configurará el servidor WEC para reenviar sus propios eventos de Windows a sí mismo (localhost) a través de HTTP en el puerto 5985, habilitando la auto-supervisión al establecer la clave del registro
HKLM:\SOFTWARE\Policies\Microsoft\Windows\EventLog\EventForwarding\SubscriptionManager. - Creará una suscripción WEC iniciada por el origen denominada “Security and PowerShell Events” para recopilar eventos de los registros Security, Microsoft-Windows-PowerShell/Operational, Windows PowerShell, System y Application, usando HTTP y almacenando los eventos en el registro ForwardedEvents.
- Para validar la configuración:
- Compruebe el registro
ForwardedEventsen Event Viewer (eventvwr.msc) del servidor WEC para confirmar que se recopilan eventos de los sistemas de origen (y del propio servidor WEC). - Revise el registro de configuración en
C:\Program Files\Wirespeed\collector.logpor si hay errores o confirmación de pasos de configuración correctos. - Genere un evento de prueba en un sistema de origen (p. ej.,
eventcreate /Id 500 /D "Test event" /T ERROR /L System) y verifique que aparece en el registroForwardedEventsdel servidor WEC.Todas las acciones y errores del script se registran en un archivo de registro enC:\Program Files\Wirespeed\collector.logpara cualquier validación o depuración adicional que se requiera.
- Compruebe el registro
Configurar el reenvío de registros
Para más información, consulte la documentación oficial de Winlogbeat y Logstash.
Instalar y configurar Winlogbeat
La instalación se basa en la guía de instalación de Winlogbeat oficial de Elastic.- Descargar e instalar Winlogbeat
- Descargue el archivo zip de la página de descargas
- Extraiga el contenido en
C:\Program Files - Cambie el nombre del directorio
winlogbeat-<version>aWinlogbeat - Abra un símbolo del sistema de PowerShell como administrador (haga clic con el botón derecho en el icono de PowerShell y seleccione Run As Administrator)
- Desde el símbolo del sistema de PowerShell, ejecute los siguientes comandos para instalar el servicio
cd 'C:\Program Files\Winlogbeat'.\install-service-winlogbeat.ps1
Si la ejecución de scripts está deshabilitada en su sistema, debe establecer la directiva de ejecución de la sesión actual para permitir que se ejecute el script. Por ejemplo:
PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-winlogbeat.ps1.- Configurar Winlogbeat
- En
winlogbeat.yml, sustituya el contenido existente por las configuraciones siguientes:
- En
Esta es una configuración muy básica. Se recomienda conocer más opciones de configuración de Winlogbeat y adaptar lo anterior a sus necesidades específicas. Consulte la documentación oficial de Elastic para todas las opciones de configuración disponibles.
Instalar y configurar Logstash
-
Descargar e instalar Logstash
- Descargue el archivo zip de la página de descargas
- Extraiga el contenido en
C:\Program Files - Cambie el nombre del directorio
logstash-<version>aLogstash - Vaya al directorio
C:\Program Files\Logstash\config\
-
Configurar Logstash
- Abra Detalles del reenviador de su integración Windows Event Logs y copie el dominio HTTPS y el puerto de escucha
- Edite
logstash.confpara recopilar eventos de Winlogbeat y enviarlos a Wirespeed:- Sustituya el contenido del
logstash.confexistente por el contenido siguiente (o créelo si no existe): - Sustituya
<WIRESPEED_DOMAIN>y<WIRESPEED_PORT>por los valores de Detalles del reenviador
- Sustituya el contenido del
- Edite
logstash.ymlpara reconocer la nueva configuración de forma predeterminada- Añada las líneas siguientes al archivo, guárdelo y ciérrelo:
Esta es una configuración muy básica. Se recomienda conocer más opciones de configuración de Logstash y adaptar lo anterior a sus necesidades específicas. Consulte la documentación oficial de Elastic para todas las opciones de configuración disponibles.
- Añada las líneas siguientes al archivo, guárdelo y ciérrelo:
- Instalar Logstash como servicio
Recomendado: Lea más sobre esta configuración aquí: Running Logstash as a service with NSSM
- Descargar e instalar NSSM
- https://nssm.cc/download y extraiga
nssm.exedenssm-<version.number>\win64\nssm.exeaLogstash\bin\
- https://nssm.cc/download y extraiga
- Use NSSM para crear el servicio Logstash
- Abra un terminal de PowerShell como administrador y ejecute el siguiente comando para instalar Logstash como servicio:
cd "C:\Program Files\Logstash\bin".\nssm.exe install logstash
- Cuando aparezca la ventana
NSSM service installer, especifique los siguientes parámetros en la pestañaApplication:- Path:
C:\Program Files\Logstash\bin\logstash.bat - Startup Directory:
C:\Program Files\Logstash\bin
- Path:
- Haga clic en Install Service y, a continuación, en Ok
- Abra un terminal de PowerShell como administrador y ejecute el siguiente comando para instalar Logstash como servicio:
- Descargar e instalar NSSM
- Iniciar Logstash y WinLogbeat:
Start-Service logstashStart-Service winlogbeat- Verifique que los servicios se están ejecutando con
Get-Service LogstashGet-Service winlogbeat
- Póngase en contacto con un ingeniero de Wirespeed a través del chat de la plataforma o enviando un correo a support@wirespeed.co para asegurarse de que los registros fluyen como se espera

