Recopila registros del agente de SIEM de Fortra Powertech
En esta guía, se explica cómo puedes transferir registros de Fortra Powertech SIEM Agent para IBM i a Google Security Operations con el agente de Bindplane.
El agente de Powertech SIEM para IBM i (anteriormente Powertech Interact) supervisa los registros y las colas de mensajes de IBM i en busca de mensajes críticos del sistema y entradas de auditoría, transmite los mensajes a través de UDP, TCP, TLS, cola de mensajes o archivo de transmisión (IFS) y formatea la parte MSG del paquete syslog de conformidad con el formato de eventos comunes (CEF) v25 de Micro Focus ArcSight.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Es la instancia de Google SecOps.
- Windows Server 2016 o versiones posteriores, o host de Linux con systemd.
- Debe haber conectividad de red entre el agente de Bindplane y el sistema IBM i que ejecuta el agente de Powertech SIEM.
- Si se ejecuta detrás de un proxy, asegúrate de que los puertos de firewall estén abiertos según los requisitos del agente de Bindplane.
- Acceso privilegiado al sistema IBM i con autoridad para configurar el agente de Powertech SIEM (perfil de usuario con autoridad especial *ALLOBJ o miembro de la lista de autorización de PTADMIN).
- El agente de SIEM de Powertech para IBM i está instalado y tiene licencia en el sistema IBM i.
Obtén el archivo de autenticación de transferencia de Google SecOps
- Accede a la consola de Google SecOps.
- Ve a Configuración de SIEM > Agente de recopilación.
- Haz clic en Descargar para descargar el archivo de autenticación de la transferencia.
Guarda el archivo de forma segura en el sistema en el que se instalará el agente de Bindplane.
Obtén el ID de cliente de Google SecOps
- Accede a la consola de Google SecOps.
- Ve a Configuración de SIEM > Perfil.
Copia y guarda el ID de cliente de la sección Detalles de la organización.
Instala el agente de BindPlane
Instala el agente de Bindplane en tu sistema operativo Windows o Linux según las siguientes instrucciones.
Instalación en Windows
- Abre el símbolo del sistema o PowerShell como administrador.
Ejecuta el comando siguiente:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietEspera a que se complete la instalación.
Ejecute el siguiente comando para verificar la instalación:
sc query observiq-otel-collectorEl servicio debería mostrarse como RUNNING.
Instalación en Linux
- Abre una terminal con privilegios de administrador o sudo.
Ejecuta el comando siguiente:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shEspera a que se complete la instalación.
Ejecute el siguiente comando para verificar la instalación:
sudo systemctl status observiq-otel-collectorEl servicio debería mostrarse como activo (en ejecución).
Recursos de instalación adicionales
Para obtener más opciones de instalación y solucionar problemas, consulta la guía de instalación del agente de Bindplane.
Configura el agente de BindPlane para transferir el syslog y enviarlo a Google SecOps
Ubica el archivo de configuración
Linux:
sudo nano /etc/bindplane-agent/config.yaml
Windows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Edita el archivo de configuración
Reemplaza todo el contenido de config.yaml con la siguiente configuración:
receivers:
udplog:
listen_address: "0.0.0.0:514"
exporters:
chronicle/powertech_siem:
compression: gzip
creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
customer_id: 'YOUR_CUSTOMER_ID'
endpoint: malachiteingestion-pa.googleapis.com
log_type: FORTRA_POWERTECH_SIEM_AGENT
raw_log_field: body
ingestion_labels:
env: production
service:
pipelines:
logs/powertech_to_chronicle:
receivers:
- udplog
exporters:
- chronicle/powertech_siem
Parámetros de configuración
Reemplaza los marcadores de posición que se indican más abajo:
Configuración del receptor:
listen_address: Es la dirección IP y el puerto que se escucharán. Usa0.0.0.0:514para escuchar en todas las interfaces del puerto 514, o bien cambia el puerto a1514o a otro valor si el puerto 514 requiere privilegios de administrador o ya está en uso.
Configuración del exportador:
creds_file_path: Ruta de acceso completa al archivo de autenticación de la transferencia:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
YOUR_CUSTOMER_ID: Reemplaza este valor por tu ID de cliente de Google SecOps.endpoint: Es la URL del extremo regional. Usa el extremo adecuado para tu instancia de Google SecOps:- EE.UU.:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Consulta Extremos regionales para obtener la lista completa.
- EE.UU.:
ingestion_labels: Etiquetas opcionales en formato YAML (por ejemplo,env: production,source: ibm_i).
Guarda el archivo de configuración
Después de editarlo, guarda el archivo:
- Linux: Presiona
Ctrl+O, luegoEntery, después,Ctrl+X. - Windows: Haz clic en Archivo > Guardar
Reinicia el agente de Bindplane para aplicar los cambios
Linux
sudo systemctl restart observiq-otel-collectorVerifica que el servicio esté en ejecución:
sudo systemctl status observiq-otel-collectorRevisa los registros en busca de errores:
sudo journalctl -u observiq-otel-collector -f
Windows
Elige una de las siguientes opciones:
Con el símbolo del sistema o PowerShell como administrador, haz lo siguiente:
net stop observiq-otel-collector && net start observiq-otel-collectorUsa la consola de Services:
- Presiona
Win+R, escribeservices.mscy presiona Intro. - Busca observIQ OpenTelemetry Collector.
Haz clic con el botón derecho y selecciona Reiniciar.
Verifica que el servicio esté en ejecución:
sc query observiq-otel-collectorRevisa los registros en busca de errores:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Presiona
Configura el reenvío de syslog del agente de Powertech SIEM
En la línea de comandos de IBM i, ingresa POWERTECH para abrir el menú principal de Powertech y, luego, elige la opción 6 para abrir el menú principal del agente de SIEM.
Cómo configurar el formato de syslog
En el menú principal del agente de SIEM, elige la opción 2 para abrir el panel Work with Formats. Los formatos CEF, JSON, LEEF, MODERN y SYSLOG se incluyen de forma predeterminada.
- Escribe 2 junto a SYSLOG y presiona Intro.
- En el campo Estilo del mensaje, escribe *SYSLOG.
- En el campo Especificación del encabezado, escribe RFC3164.
- Asegúrate de que la opción Use Header Format Compatibility esté configurada como "Y" y guarda la configuración.
Presiona F3 dos veces para volver al menú principal.
Crea un resultado de red
En el menú principal, elige la opción 3 Work with Outputs y, luego, presiona F6 para crear un nuevo resultado.
- Ingresa las siguientes opciones:
- Nombre: CHRONICLE (o un nombre descriptivo)
- Descripción: Salida de BindPlane de Chronicle
- Activo: 1
- Formato: SYSLOG
- Tipo: *NETWORK
- Presiona Intro.
- En la siguiente pantalla, ingresa estas opciones:
- Ubicación: Ingresa la dirección IP de la máquina en la que está instalado el agente de BindPlane.
- Puerto: 514 (o el puerto configurado en el agente de BindPlane)
- Protocolo: UDP
Presiona Intro para guardar los cambios y, luego, presiona F12 para cerrar la ventana.
Cómo adjuntar el resultado a las fuentes de eventos
Elige la opción 1 Work with Event Sources, escribe 2 junto a AUDIT y presiona Intro.
- Presiona F8 Maintain Outputs y, luego, F6 Attach para adjuntar el resultado creado recientemente. Escribe 1 junto a CHRONICLE (o el nombre de tu salida) y presiona Intro.
- Presiona F3 para volver al menú principal.
Cómo activar las descripciones de eventos
En el menú principal del agente de SIEM, elige la opción 1 y, luego, ingresa 9 para una fuente de eventos. Aparecerá el panel Trabaja con descripciones de eventos. Usa la opción 6 para activar los eventos que deseas procesar.
Confirma los cambios de configuración
En el menú principal, elige la opción 82, Work with Utilities, y, luego, selecciona la opción 1, Commit configuration changes.
Inicia la supervisión del agente de SIEM
Si el agente de SIEM aún no se está ejecutando, inicia los trabajos de supervisión:
En la línea de comandos de IBM i, ingresa lo siguiente:
CALL PTSTARTUPEstos comandos inician los trabajos de supervisión necesarios de Central Administration y SIEM Agent en el subsistema PTWRKMGT.
Verifica que se envíen los registros
- Revisa los registros del agente de BindPlane para verificar que los registros lleguen al agente (consulta la sección de reinicio anterior para conocer las ubicaciones de los registros).
- Verifica que los registros aparezcan en la consola de Google SecOps (espera de 5 a 10 minutos para la transferencia inicial).
- De manera opcional, asigna una cola de mensajes para registrar todos los mensajes que envía el agente de SIEM y confirmar cuáles se enviaron.
Tabla de asignación de UDM
| Campo de registro | Asignación de UDM | Lógica |
|---|---|---|
| principal_ip | principal.ip | Es la dirección IP de la principal. |
| dst_ip | target.ip | Es la dirección IP del objetivo. |
| sourceTranslatedAddress | principal.nat_ip | Es la dirección IP de NAT de la entidad principal. |
| destinationTranslatedAddress | target.nat_ip | Es la dirección IP de NAT del destino. |
| dvc | about.ip | Es la dirección IP del activo. |
| deviceTranslatedAddress | about.nat_ip | Es la dirección IP de NAT del activo. |
| smac | principal.mac | Es la dirección MAC de la principal. |
| dmac | target.mac | Es la dirección MAC del objetivo. |
| dvcmac | about.mac | Es la dirección MAC del activo. |
| spriv | principal.user.attribute.roles | Son los roles asociados al usuario principal. |
| dpriv | target.user.attribute.roles | Son los roles asociados al usuario objetivo. |
| oldFilePermission | src.resource.attribute.permissions | Son los permisos del recurso de origen. |
| filePermission | about.resource.attribute.permissions | Son los permisos del recurso. |
| cat | security_result.category_details | Son detalles adicionales sobre la categoría del resultado de seguridad. |
| device_vendor, device_product, deviceExternalId | about.asset.asset_id | Es el identificador único del activo. |
| descifrar? | network.sent_bytes | Es la cantidad de bytes enviados en la conexión de red. |
| en | network.received_bytes | Es la cantidad de bytes recibidos en la conexión de red. |
| fsize | about.file.size | Es el tamaño del archivo. |
| oldFileSize | src.file.size | Tamaño del archivo fuente. |
| destinationTranslatedPort | target.nat_port | Es el puerto NAT del destino. |
| dpt | target.port | Número de puerto del destino. |
| sourceTranslatedPort | principal.nat_port | Es el puerto NAT de la entidad principal. |
| spt | principal.port | Número de puerto de la entidad principal. |
| rt | metadata.event_timestamp | Es la marca de tiempo en la que ocurrió el evento. |
| gravedad, | security_result.severity | Es el nivel de gravedad del resultado de seguridad. |
| app_protocol_src | network.application_protocol | Es el protocolo de aplicación que se usa en la conexión de red. |
| protocolo | network.ip_protocol | Es el protocolo IP que se usa en la conexión de red. |
| deviceDirection | network.direction | Es la dirección del tráfico de red. |
| actúa | security_result.action | Es la acción que realiza el sistema de seguridad. |
| outcome, categoryOutcome, cs2 | security_result.action | Es la acción que realiza el sistema de seguridad. |
| msg_data_2 | security_result.description | Es una descripción del resultado de seguridad. |
| msg | metadata.description | Es una descripción del evento. |
| destinationServiceName | target.application | Es la aplicación asociada al destino. |
| dntdom | target.administrative_domain | Es el dominio administrativo del objetivo. |
| oldFilePath | src.file.full_path | Ruta de acceso completa del archivo fuente. |
| requestClientApplication | network.http.user_agent | Es la cadena de usuario-agente de la solicitud HTTP. |
| requestMethod | network.http.method | Es el método HTTP que se usa en la solicitud. |
| filePath | about.file.full_path | Es la ruta de acceso completa del archivo. |
| dvchost | about.hostname | Es el nombre de host del activo. |
| deviceNtDomain | about.administrative_domain | Es el dominio administrativo del activo. |
| dvcpid | about.process.pid | Es el ID del proceso del activo. |
| deviceProcessName | about.process.command_line | Es la línea de comandos del proceso en el activo. |
| _hash | about.file.sha256 | Es el hash SHA256 del archivo. |
| externalId | metadata.product_log_id | Es el identificador del registro específico del producto. |
| security_result.action_details | security_result.action_details | Son los detalles adicionales sobre la acción de seguridad. |
| device_version | metadata.product_version | Es la versión del producto que generó el evento. |
| temp_dhost | target.hostname | Es el nombre de host del destino. |
| solicitud | target.url | Es la URL asociada al destino. |
| temp_duser | target.user.user_display_name | Es el nombre visible del usuario objetivo. |
| temp_duid | target.user.userid | Es el ID del usuario objetivo. |
| Device_name | principal.hostname | Es el nombre de host de la principal. |
| Enhetsnavn | principal.hostname | Es el nombre de host de la principal. |
| Dominio | principal.administrative_domain | Es el dominio administrativo de la principal. |
| Domene | principal.administrative_domain | Es el dominio administrativo de la principal. |
| Group_name | principal.group.group_display_name | Es el nombre visible del grupo principal. |
| Gruppenavn | principal.group.group_display_name | Es el nombre visible del grupo principal. |
| Recibido, Mottatt | metadata.collected_timestamp | Es la marca de tiempo en la que se recopiló el evento. |
| Generado, Generert | metadata.event_timestamp | Es la marca de tiempo en la que ocurrió el evento. |
| Asunto | about.process.command_line | Es la línea de comandos del proceso. |
| Emne | about.process.command_line | Es la línea de comandos del proceso. |
| Ruta | about.process.command_line | Es la línea de comandos del proceso. |
| Tipo | security_result.description | Es una descripción del resultado de seguridad. |
| Scan_Type | security_result.description | Es una descripción del resultado de seguridad. |
| Usuario | target.user.userid | Es el ID del usuario objetivo. |
| Bruker | target.user.userid | Es el ID del usuario objetivo. |
| CustomerName | target.user.user_display_name | Es el nombre visible del usuario objetivo. |
| File_name, Object, Objekt, Infected_Resource | target.process.file.full_path | Es la ruta de acceso completa del archivo asociado al proceso de destino. |
| Action_Taken | security_result.action_details | Son los detalles adicionales sobre la acción de seguridad. |
| Spyware, Virus_Malware_Name, Unknown_Threat | security_result.threat_name | Es el nombre de la amenaza detectada. |
| shost | principal.hostname | Es el nombre de host de la principal. |
| shost | principal.ip | Es la dirección IP de la principal. |
| sntdom | principal.administrative_domain | Es el dominio administrativo de la principal. |
| sourceServiceName | principal.application | Es la aplicación asociada a la principal. |
| spid | principal.process.pid | Es el ID de proceso de la entidad principal. |
| sproc | principal.process.command_line | Es la línea de comandos del proceso principal. |
| suid | principal.user.userid | Es el ID de usuario del usuario principal. |
| suser | principal.user.user_display_name | Es el nombre visible del usuario principal. |
| dpid | target.process.pid | Es el ID del proceso de destino. |
| dproc | target.process.command_line | Es la línea de comandos del proceso de destino. |
| Reason | security_result.summary | Es un resumen del resultado de seguridad. |
| event_name, device_event_class_id | metadata.product_event_type | Es el tipo de evento específico del producto. |
| fileHash | about.file.sha256 | Es el hash SHA256 del archivo. |
| acerca de | acerca de | Es información adicional sobre el evento. |
| mwProfile | security_result.rule_name | Es el nombre de la regla que activó el resultado de seguridad. |
| appcategory | security_result.summary | Es un resumen del resultado de seguridad. |
| Resultado | security_result.summary | Es un resumen del resultado de seguridad. |
| eventid | additional.fields | Son los campos adicionales del evento. |
| eventId | additional.fields | Son los campos adicionales del evento. |
| devicePayloadId | additional.fields | Son los campos adicionales del evento. |
| fname | additional.fields | Son los campos adicionales del evento. |
| cs1, cs1Label | additional.fields | Son los campos adicionales del evento. |
| cs2, cs2Label | additional.fields | Son los campos adicionales del evento. |
| cs3, cs3Label | additional.fields | Son los campos adicionales del evento. |
| cs4, cs4Label | additional.fields | Son los campos adicionales del evento. |
| cs5, cs5Label | additional.fields | Son los campos adicionales del evento. |
| cs6, cs6Label | additional.fields | Son los campos adicionales del evento. |
| cs7, cs7Label | additional.fields | Son los campos adicionales del evento. |
| flexString1, flexString1Label | additional.fields | Son los campos adicionales del evento. |
| cn1, cn1Label | additional.fields | Son los campos adicionales del evento. |
| cn2, cn2Label | additional.fields | Son los campos adicionales del evento. |
| cn3, cn3Label | additional.fields | Son los campos adicionales del evento. |
| cfp1, cfp1Label | additional.fields | Son los campos adicionales del evento. |
| cfp2, cfp2Label | additional.fields | Son los campos adicionales del evento. |
| cfp3, cfp3Label | additional.fields | Son los campos adicionales del evento. |
| cfp4, cfp4Label | additional.fields | Son los campos adicionales del evento. |
| Operación | security_result.detection_fields | Son los campos que se usan para la detección de amenazas. |
| Operasjon | security_result.detection_fields | Son los campos que se usan para la detección de amenazas. |
| Permiso | security_result.detection_fields | Son los campos que se usan para la detección de amenazas. |
| Tillatelse | security_result.detection_fields | Son los campos que se usan para la detección de amenazas. |
| Infection_Channel | security_result.detection_fields | Son los campos que se usan para la detección de amenazas. |
| IPv6_Address | target.ip | Es la dirección IP del objetivo. |
| Resource_Type | target.resource.attribute.labels | Son las etiquetas de los atributos del recurso de destino. |
| Spyware_Grayware_Type | security_result.detection_fields | Son los campos que se usan para la detección de amenazas. |
| Threat_Probability | security_result.detection_fields | Son los campos que se usan para la detección de amenazas. |
| security_result | security_result | Es el resultado de seguridad del evento. |
| host | principal.hostname | Es el nombre de host de la principal. |
| falla | metadata.description | Es una descripción del evento. |
| changed | metadata.description | Es una descripción del evento. |
| log_version | additional.fields | Son los campos adicionales del evento. |
| cnt | additional.fields | Son los campos adicionales del evento. |
| fileType | target.file.mime_type | Tipo de MIME del archivo de destino. |
| fname | target.file.names | Nombres de los archivos de destino. |
| ip | principal.ip | Es la dirección IP de la principal. |
| metadata.event_type | metadata.event_type | El tipo de evento |
| principal_hostname | principal.asset.hostname | Es el nombre de host del activo principal. |
| principal_asset_hostname | principal.asset.hostname | Es el nombre de host del activo principal. |
| target_hostname | target.asset.hostname | Es el nombre de host del activo de destino. |
| target_asset_hostname | target.asset.hostname | Es el nombre de host del activo de destino. |
| device_vendor | metadata.vendor_name | Es el nombre del proveedor del producto. |
| device_product | metadata.product_name | Es el nombre del producto. |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.