Recopila registros de firewall de Check Point
Este analizador extrae registros de firewall de Check Point. Controla los mensajes con formato CEF y no CEF, incluidos syslog, pares clave-valor y JSON. Normaliza los campos, los asigna a la UDM y realiza una lógica específica para el acceso y la salida, las conexiones de red y los eventos de seguridad. Enriquece los datos con información contextual, como la ubicación geográfica y la información sobre amenazas.
Antes de comenzar
- Asegúrate de tener una instancia de Google Security Operations.
- Asegúrate de usar Windows 2016 o una versión posterior, o un host de Linux con systemd.
- Si se ejecuta detrás de un proxy, asegúrate de que los puertos del firewall estén abiertos.
- Asegúrate de tener acceso con privilegios a un firewall de Check Point.
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 > Agentes de recopilación.
- Descarga el archivo de autenticación de transferencia.
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
- Para la instalación de Windows, ejecuta la siguiente secuencia de comandos:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Para la instalación de Linux, ejecuta la siguiente secuencia de comandos:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- Puedes encontrar opciones de instalación adicionales en esta guía de instalación.
Configura el agente de BindPlane para transferir Syslog y enviarlo a Google SecOps
- Accede a la máquina en la que está instalado BindPlane.
Edita el archivo
config.yaml
de la siguiente manera:receivers: udplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: Checkpoint_Firewall raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Reinicia el agente de BindPlane para aplicar los cambios:
sudo systemctl restart bindplane
Cómo configurar la exportación de Syslog en un firewall de Check Point
- Accede a la IU del firewall de Check Point con una cuenta con privilegios.
- Ve a Registros y supervisión > Servidores de registro.
- Navega a Servidores de Syslog.
- Haz clic en Configurar y establece los siguientes valores:
- Protocolo: Selecciona UDP para enviar registros de seguridad o del sistema.
- Nombre: Proporciona un nombre único (por ejemplo, Bindplane_Server).
- Dirección IP: Proporciona la dirección IP del servidor de syslog (IP de Bindplane).
- Puerto: Proporciona el puerto del servidor de syslog (puerto de Bindplane).
- Selecciona Habilitar el servidor de registro.
- Selecciona los registros que deseas reenviar: Registros del sistema y de seguridad.
- Haz clic en Aplicar.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
Action |
event.idm.read_only_udm.security_result.action_details |
Se asigna directamente desde el campo Action . |
Activity |
event.idm.read_only_udm.security_result.summary |
Se asigna directamente desde el campo Activity . |
additional_info |
event.idm.read_only_udm.security_result.description |
Se asigna directamente desde el campo additional_info . |
administrator |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo administrator . La clave es "administrador". |
aggregated_log_count |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo aggregated_log_count . La clave es "aggregated_log_count". |
appi_name |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo appi_name . La clave es "appi_name". |
app_category |
event.idm.read_only_udm.security_result.category_details |
Se asigna directamente desde el campo app_category . |
app_properties |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo app_properties . La clave es "app_properties". |
app_risk |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo app_risk . El valor clave es "app_risk". |
app_session_id |
event.idm.read_only_udm.network.session_id |
Se asigna directamente desde el campo app_session_id y se convierte en una cadena. |
attack |
event.idm.read_only_udm.security_result.summary |
Se asigna directamente desde el campo attack cuando Info está presente. |
attack |
event.idm.read_only_udm.security_result.threat_name |
Se asigna directamente desde el campo attack cuando Info está presente. |
attack_info |
event.idm.read_only_udm.security_result.description |
Se asigna directamente desde el campo attack_info . |
auth_status |
event.idm.read_only_udm.security_result.summary |
Se asigna directamente desde el campo auth_status . |
browse_time |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo browse_time . La clave es "browse_time". |
bytes |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo bytes . La clave es "bytes". |
bytes |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo bytes . La clave es "bytes". |
calc_service |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo calc_service . La clave es "calc_service". |
category |
event.idm.read_only_udm.security_result.category_details |
Se asigna directamente desde el campo category . |
client_version |
event.idm.read_only_udm.intermediary.platform_version |
Se asigna directamente desde el campo client_version . |
conn_direction |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo conn_direction . La clave es "conn_direction". |
conn_direction |
event.idm.read_only_udm.network.direction |
Si conn_direction es "Incoming", se asigna a "INBOUND". De lo contrario, se asigna a "OUTBOUND". |
connection_count |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo connection_count . La clave es "connection_count". |
contract_name |
event.idm.read_only_udm.security_result.description |
Se asigna directamente desde el campo contract_name . |
cs2 |
event.idm.read_only_udm.security_result.rule_name |
Se asigna directamente desde el campo cs2 . |
date_time |
event.idm.read_only_udm.metadata.event_timestamp |
Se analiza y se convierte en una marca de tiempo con varios formatos de fecha. |
dedup_time |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo dedup_time . La clave es "dedup_time". |
desc |
event.idm.read_only_udm.security_result.summary |
Se asigna directamente desde el campo desc . |
description |
event.idm.read_only_udm.security_result.description |
Se asigna directamente desde el campo description . |
description_url |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo description_url . La clave es "description_url". |
destinationAddress |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Se asigna directamente desde el campo destinationAddress . |
destinationPort |
event.idm.read_only_udm.target.port |
Se asigna directamente desde el campo destinationPort y se convierte en un número entero. |
destinationTranslatedAddress |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Se asigna directamente desde el campo destinationTranslatedAddress . |
destinationTranslatedAddress |
event.idm.read_only_udm.target.nat_ip |
Se asigna directamente desde el campo destinationTranslatedAddress . |
destinationTranslatedPort |
event.idm.read_only_udm.target.port |
Se asigna directamente desde el campo destinationTranslatedPort y se convierte en un número entero. |
destinationTranslatedPort |
event.idm.read_only_udm.target.nat_port |
Se asigna directamente desde el campo destinationTranslatedPort y se convierte en un número entero. |
deviceCustomString2 |
event.idm.read_only_udm.security_result.rule_name |
Se asigna directamente desde el campo deviceCustomString2 . |
deviceDirection |
event.idm.read_only_udm.network.direction |
Si deviceDirection es 0, se asigna a "OUTBOUND". Si es 1, se asigna a "INBOUND". |
domain |
event.idm.read_only_udm.principal.administrative_domain |
Se asigna directamente desde el campo domain . |
domain_name |
event.idm.read_only_udm.principal.administrative_domain |
Se asigna directamente desde el campo domain_name . |
drop_reason |
event.idm.read_only_udm.security_result.summary |
Se asigna directamente desde el campo drop_reason . |
ds |
event.idm.read_only_udm.metadata.event_timestamp |
Se usa con ts y tz para construir la marca de tiempo del evento. |
dst |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Se asigna directamente desde el campo dst . |
dst_country |
event.idm.read_only_udm.target.location.country_or_region |
Se asigna directamente desde el campo dst_country . |
dst_ip |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Se asigna directamente desde el campo dst_ip . |
dpt |
event.idm.read_only_udm.target.port |
Se asigna directamente desde el campo dpt y se convierte en un número entero. |
duration |
event.idm.read_only_udm.network.session_duration.seconds |
Se asigna directamente desde el campo duration y se convierte en un número entero si es mayor que 0. |
duser |
event.idm.read_only_udm.target.user.email_addresses , event.idm.read_only_udm.target.user.user_display_name |
Se asigna directamente desde el campo duser si coincide con el formato de una dirección de correo electrónico. |
environment_id |
event.idm.read_only_udm.target.resource.product_object_id |
Se asigna directamente desde el campo environment_id . |
event_type |
event.idm.read_only_udm.metadata.event_type |
Se determina mediante una lógica basada en la presencia de ciertos campos y valores. El valor predeterminado es GENERIC_EVENT si no se identifica un tipo de evento específico. Puede ser NETWORK_CONNECTION , USER_LOGIN , USER_CHANGE_PASSWORD , USER_LOGOUT , NETWORK_HTTP o STATUS_UPDATE . |
fieldschanges |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo fieldschanges . La clave es "fieldschanges". |
flags |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo flags . La clave es "flags". |
flexString2 |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo flexString2 . Clave es el valor de flexString2Label . |
from_user |
event.idm.read_only_udm.principal.user.userid |
Se asigna directamente desde el campo from_user . |
fservice |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo fservice . La clave es "fservice". |
fw_subproduct |
event.idm.read_only_udm.metadata.product_name |
Se asigna directamente desde el campo fw_subproduct cuando product está vacío. |
geoip_dst.country_name |
event.idm.read_only_udm.target.location.country_or_region |
Se asigna directamente desde el campo geoip_dst.country_name . |
hll_key |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo hll_key . La clave es "hll_key". |
hostname |
event.idm.read_only_udm.target.hostname , event.idm.read_only_udm.target.asset.hostname , event.idm.read_only_udm.intermediary.hostname |
Se asigna directamente desde el campo hostname cuando inter_host está vacío. |
http_host |
event.idm.read_only_udm.target.resource.attribute.labels[].value |
Se asigna directamente desde el campo http_host . La clave es "http_host". |
id |
event.idm.read_only_udm.metadata.product_log_id |
Se asigna directamente desde el campo _id . |
identity_src |
event.idm.read_only_udm.target.application |
Se asigna directamente desde el campo identity_src . |
identity_type |
event.idm.read_only_udm.extensions.auth.type |
Si identity_type es "user", se asigna a "VPN". De lo contrario, se asigna a "MACHINE". |
if_direction |
event.idm.read_only_udm.network.direction |
Se asigna directamente desde el campo if_direction y se convierte a mayúsculas. |
ifdir |
event.idm.read_only_udm.network.direction |
Se asigna directamente desde el campo ifdir y se convierte a mayúsculas. |
ifname |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo ifname . La clave es "ifname". |
IKE |
event.idm.read_only_udm.metadata.description |
Se asigna directamente desde el campo IKE . |
inzone |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo inzone . La clave es "inzone". |
industry_reference |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo industry_reference . La clave es "industry_reference". |
instance_id |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Se asigna directamente desde el campo instance_id . |
inter_host |
event.idm.read_only_udm.intermediary.hostname |
Se asigna directamente desde el campo inter_host . |
ip_proto |
event.idm.read_only_udm.network.ip_protocol |
Se determina en función del campo proto o service . Puede ser TCP, UDP, ICMP, IP6IN4 o GRE. |
ipv6_dst |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Se asigna directamente desde el campo ipv6_dst . |
ipv6_src |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asigna directamente desde el campo ipv6_src . |
layer_name |
event.idm.read_only_udm.security_result.rule_set_display_name , event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo layer_name . La clave es "layer_name". |
layer_uuid |
event.idm.read_only_udm.security_result.rule_set , event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo layer_uuid después de quitar las llaves. La clave es "layer_uuid". |
layer_uuid_rule_uuid |
event.idm.read_only_udm.security_result.rule_id |
Se asigna directamente desde el campo layer_uuid_rule_uuid después de quitar los corchetes y las comillas. |
log_id |
event.idm.read_only_udm.metadata.product_log_id |
Se asigna directamente desde el campo log_id . |
log_type |
event.idm.read_only_udm.metadata.log_type |
Se asigna directamente desde el campo log_type . Está codificado de forma fija en "CHECKPOINT_FIREWALL". |
loguid |
event.idm.read_only_udm.metadata.product_log_id |
Se asigna directamente desde el campo loguid después de quitar las llaves. |
logic_changes |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo logic_changes . La clave es "logic_changes". |
localhost |
event.idm.read_only_udm.target.hostname , event.idm.read_only_udm.target.asset.hostname |
Se asigna directamente desde el campo localhost . dst_ip se establece en "127.0.0.1". |
malware_action |
event.idm.read_only_udm.security_result.detection_fields[].value , event.idm.read_only_udm.security_result.about.resource.attribute.labels[].value |
Se asigna directamente desde el campo malware_action . La clave es "malware_action". |
malware_family |
event.idm.read_only_udm.security_result.detection_fields[].value , event.idm.read_only_udm.security_result.about.resource.attribute.labels[].value |
Se asigna directamente desde el campo malware_family . La clave es "malware_family". |
malware_rule_id |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo malware_rule_id después de quitar las llaves. La clave es "ID de la regla de software malicioso". |
malware_rule_name |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo malware_rule_name . La clave es "Nombre de la regla de software malicioso". |
match_id |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo match_id . La clave es "match_id". |
matched_category |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo matched_category . La clave es "matched_category". |
message_info |
event.idm.read_only_udm.metadata.description |
Se asigna directamente desde el campo message_info . |
method |
event.idm.read_only_udm.network.http.method |
Se asigna directamente desde el campo method . |
mitre_execution |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo mitre_execution . La clave es "mitre_execution". |
mitre_initial_access |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo mitre_initial_access . La clave es "mitre_initial_access". |
nat_rulenum |
event.idm.read_only_udm.security_result.rule_id |
Se asigna directamente desde el campo nat_rulenum y se convierte en una cadena. |
objecttype |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo objecttype . La clave es "objecttype". |
operation |
event.idm.read_only_udm.security_result.summary |
Se asigna directamente desde el campo operation . |
operation |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo operation . La clave es "operation". |
orig |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Se asigna directamente desde el campo orig . |
origin |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip , event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip , event.idm.read_only_udm.intermediary.ip |
Se asigna directamente desde el campo origin . |
origin_sic_name |
event.idm.read_only_udm.intermediary.asset_id , event.idm.read_only_udm.intermediary.labels[].value |
Se asigna directamente desde el campo origin_sic_name . La clave es "Machine SIC". El ID del activo tiene el prefijo "asset:". |
originsicname |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo originsicname . La clave es "originsicname". |
originsicname |
event.idm.read_only_udm.intermediary.asset_id , event.idm.read_only_udm.intermediary.labels[].value |
Se asigna directamente desde el campo originsicname . La clave es "Machine SIC". El ID del activo tiene el prefijo "asset:". |
os_name |
event.idm.read_only_udm.principal.asset.platform_software.platform |
Si os_name contiene "Win", se asigna a "WINDOWS". Si contiene "MAC" o "IOS", se asigna a "MAC". Si contiene "LINUX", se asigna a "LINUX". |
os_version |
event.idm.read_only_udm.principal.asset.platform_software.platform_patch_level |
Se asigna directamente desde el campo os_version . |
outzone |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo outzone . La clave es "outzone". |
packets |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo packets . La clave es “packets”. |
packet_capture_name |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo packet_capture_name . La clave es "packet_capture_name". |
packet_capture_time |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo packet_capture_time . La clave es "packet_capture_time". |
packet_capture_unique_id |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo packet_capture_unique_id . La clave es "packet_capture_unique_id". |
parent_rule |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo parent_rule . La clave es "parent_rule". |
performance_impact |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo performance_impact . La clave es "performance_impact". |
policy_name |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se extrae del campo __policy_id_tag con grok y se asigna. La clave es "Policy Name". |
policy_time |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo policy_time . La clave es "policy_time". |
portal_message |
event.idm.read_only_udm.security_result.description |
Se asigna directamente desde el campo portal_message . |
principal_hostname |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asigna directamente desde el campo principal_hostname si es una dirección IP válida. |
principal_hostname |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Se asigna directamente desde el campo principal_hostname si no es una dirección IP válida ni "Punto de control". |
prod_family_label |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo ProductFamily . La clave es "ProductFamily". |
product |
event.idm.read_only_udm.metadata.product_name |
Se asigna directamente desde el campo product . |
product_family |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo product_family . La clave es "product_family". |
product_family |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo product_family . La clave es "product_family". |
ProductName |
event.idm.read_only_udm.metadata.product_name |
Se asigna directamente desde el campo ProductName cuando product está vacío. |
product_name |
event.idm.read_only_udm.metadata.product_name |
Se asigna directamente desde el campo product_name . |
profile |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo profile . La clave es "profile". |
protocol |
event.idm.read_only_udm.network.application_protocol |
Se asigna directamente desde el campo protocol si es "HTTP". |
proxy_src_ip |
event.idm.read_only_udm.principal.nat_ip |
Se asigna directamente desde el campo proxy_src_ip . |
reason |
event.idm.read_only_udm.security_result.summary |
Se asigna directamente desde el campo reason . |
received_bytes |
event.idm.read_only_udm.network.received_bytes |
Se asigna directamente desde el campo received_bytes y se convierte en un número entero sin signo. |
Reference |
event.idm.read_only_udm.security_result.about.resource.attribute.labels[].value , event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo Reference . La clave es "Reference". Se usa para construir _vuln.name con attack . |
reject_id_kid |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo reject_id_kid . La clave es "reject_id_kid". |
resource |
event.idm.read_only_udm.target.url |
Se analiza como JSON y se asigna a la URL de destino. Si el análisis falla, se asigna directamente. |
resource |
event.idm.read_only_udm.additional.fields[].value.list_value.values[].string_value |
Se analiza como JSON y cada valor del array resource se agrega a la lista. La clave es "Resource". |
result |
event.idm.read_only_udm.metadata.event_timestamp |
Se analiza con date_time para crear la marca de tiempo del evento. |
rt |
event.idm.read_only_udm.metadata.event_timestamp |
Se analiza como milisegundos desde la época y se convierte en una marca de tiempo. |
rule |
event.idm.read_only_udm.security_result.rule_name |
Se asigna directamente desde el campo rule . |
rule_action |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo rule_action . La clave es "rule_action". |
rule_name |
event.idm.read_only_udm.security_result.rule_name |
Se asigna directamente desde el campo rule_name . |
rule_uid |
event.idm.read_only_udm.security_result.rule_id |
Se asigna directamente desde el campo rule_uid . |
s_port |
event.idm.read_only_udm.principal.port |
Se asigna directamente desde el campo s_port y se convierte en un número entero. |
scheme |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo scheme . La clave es "esquema". |
security_inzone |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo security_inzone . La clave es "security_inzone". |
security_outzone |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo security_outzone . La clave es "security_outzone". |
security_result_action |
event.idm.read_only_udm.security_result.action |
Se asigna directamente desde el campo security_result_action . |
sendtotrackerasadvancedauditlog |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo sendtotrackerasadvancedauditlog . La clave es "sendtotrackerasadvancedauditlog". |
sent_bytes |
event.idm.read_only_udm.network.sent_bytes |
Se asigna directamente desde el campo sent_bytes y se convierte en un número entero sin signo. |
sequencenum |
event.idm.read_only_udm.additional.fields[].value.string_value |
Se asigna directamente desde el campo sequencenum . La clave es "sequencenum". |
ser_agent_kid |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo ser_agent_kid . La clave es "ser_agent_kid". |
service |
event.idm.read_only_udm.target.port |
Se asigna directamente desde el campo service y se convierte en un número entero. |
service_id |
event.idm.read_only_udm.network.application_protocol |
Se asigna directamente desde el campo service_id si es "dhcp", "dns", "http", "https" o "quic", convertido a mayúsculas. |
service_id |
event.idm.read_only_udm.principal.application |
Se asigna directamente desde el campo service_id si no es uno de los protocolos de aplicación de red. |
service_id |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo service_id . La clave es "service_id". |
session_description |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo session_description . La clave es "session_description". |
session_id |
event.idm.read_only_udm.network.session_id |
Se asigna directamente desde el campo session_id después de quitar las llaves. |
session_name |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo session_name . La clave es "session_name". |
session_uid |
event.idm.read_only_udm.network.session_id |
Se asigna directamente desde el campo session_uid después de quitar las llaves. |
Severity |
event.idm.read_only_udm.security_result.severity |
Se asigna a "LOW", "MEDIUM", "HIGH" o "CRITICAL" según el valor de Severity . |
severity |
event.idm.read_only_udm.security_result.severity |
Se asigna a "LOW", "MEDIUM", "HIGH" o "CRITICAL" según el valor de severity . |
site |
event.idm.read_only_udm.network.http.user_agent |
Se asigna directamente desde el campo site . |
smartdefense_profile |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo smartdefense_profile . La clave es "smartdefense_profile". |
snid |
event.idm.read_only_udm.network.session_id |
Se asigna directamente desde el campo snid si no está vacío o es “0”. |
sourceAddress |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asigna directamente desde el campo sourceAddress . |
sourcePort |
event.idm.read_only_udm.principal.port |
Se asigna directamente desde el campo sourcePort y se convierte en un número entero. |
sourceTranslatedAddress |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asigna directamente desde el campo sourceTranslatedAddress . |
sourceTranslatedAddress |
event.idm.read_only_udm.principal.nat_ip |
Se asigna directamente desde el campo sourceTranslatedAddress . |
sourceTranslatedPort |
event.idm.read_only_udm.principal.port |
Se asigna directamente desde el campo sourceTranslatedPort y se convierte en un número entero. |
sourceTranslatedPort |
event.idm.read_only_udm.principal.nat_port |
Se asigna directamente desde el campo sourceTranslatedPort y se convierte en un número entero. |
sourceUserName |
event.idm.read_only_udm.principal.user.userid , event.idm.read_only_udm.principal.user.first_name , event.idm.read_only_udm.principal.user.last_name |
Se analiza con grok para extraer el ID de usuario, el nombre y el apellido. |
spt |
event.idm.read_only_udm.principal.port |
Se asigna directamente desde el campo spt y se convierte en un número entero. |
src |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asigna directamente desde el campo src . |
src_ip |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asigna directamente desde el campo src_ip . |
src_localhost |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Se asigna directamente desde el campo src_localhost . src_ip se establece en "127.0.0.1". |
src_machine_name |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo src_machine_name . La clave es "src_machine_name". |
src_port |
event.idm.read_only_udm.principal.port |
Se asigna directamente desde el campo src_port y se convierte en un número entero. |
src_user |
event.idm.read_only_udm.principal.user.userid |
Se asigna directamente desde el campo src_user . |
src_user_dn |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo src_user_dn . La clave es "src_user_dn". |
src_user_name |
event.idm.read_only_udm.principal.user.userid |
Se asigna directamente desde el campo src_user_name . |
sub_policy_name |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo sub_policy_name . La clave es "sub_policy_name". |
sub_policy_uid |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo sub_policy_uid . La clave es "sub_policy_uid". |
subject |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo subject . La clave es "subject". |
subscription_stat_desc |
event.idm.read_only_udm.security_result.summary |
Se asigna directamente desde el campo subscription_stat_desc . |
tags |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo tags . La clave es "tags". |
tar_user |
event.idm.read_only_udm.target.user.userid |
Se asigna directamente desde el campo tar_user . |
target_port |
event.idm.read_only_udm.target.port |
Se asigna directamente desde el campo target_port . |
tcp_flags |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo tcp_flags . La clave es "tcp_flags". |
tcp_packet_out_of_state |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo tcp_packet_out_of_state . La clave es "tcp_packet_out_of_state". |
time |
event.idm.read_only_udm.metadata.event_timestamp |
Se analiza y se convierte en una marca de tiempo con varios formatos de fecha. |
ts |
event.idm.read_only_udm.metadata.event_timestamp |
Se analiza con ds y tz para crear la marca de tiempo del evento. |
type |
event.idm.read_only_udm.security_result.rule_type |
Se asigna directamente desde el campo type . |
tz |
event.idm.read_only_udm.metadata.event_timestamp |
Se usa con ds y ts para construir la marca de tiempo del evento. |
update_count |
event.idm.read_only_udm.security_result.detection_fields[].value |
Se asigna directamente desde el campo update_count . La clave es "update_count". |
URL |
event.idm.read_only_udm.security_result.about.url |
Se asigna directamente desde el campo URL . |
user |
event.idm.read_only_udm.principal.user.userid |
Se asigna directamente desde el campo user . |
user_agent |
event.idm.read_only_udm.network.http.user_agent |
Se asigna directamente desde el campo user_agent . También se analiza y se asigna a event.idm.read_only_udm.network.http.parsed_user_agent . |
userip |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Se asigna directamente desde el campo userip si es una dirección IP válida. |
UUid |
event.idm.read_only_udm.metadata.product_log_id |
Se asigna directamente desde el campo UUid después de quitar las llaves. |
version |
event.idm.read_only_udm.metadata.product_version |
Se asigna directamente desde el campo version . |
web_client_type |
event.idm.read_only_udm.network.http.user_agent |
Se asigna directamente desde el campo web_client_type . |
xlatedport |
event.idm.read_only_udm.target.nat_port |
Se asigna directamente desde el campo xlatedport y se convierte en un número entero. |
xlatedst |
event.idm.read_only_udm.target.nat_ip |
Se asigna directamente desde el campo xlatedst . |
xlatesport |
event.idm.read_only_udm.principal.nat_port |
Se asigna directamente desde el campo xlatesport y se convierte en un número entero. |
xlatesrc |
event.idm.read_only_udm.principal.nat_ip |
Se asigna directamente desde el campo xlatesrc . |
event.idm.read_only_udm.metadata.vendor_name |
Check Point |
Valor hard-coded. |
event.idm.read_only_udm.metadata.log_type |
CHECKPOINT_FIREWALL |
Valor hard-coded. |
event.idm.read_only_udm.security_result.rule_type |
Firewall Rule |
Es el valor predeterminado, a menos que se anule con una lógica específica. |
event.idm.is_alert |
true |
Se establece como verdadero si el campo alert es "sí". |
has_principal |
true |
Se establece como verdadero cuando se extrae la IP o el nombre de host principal. |
has_target |
true |
Se establece como verdadero cuando se extrae la IP o el nombre de host de destino. |
Cambios
2024-05-29
- Se asignó "layer_uuid_rule_uuid" a "security_result.rule_id".
- Se asignó "domain" a "principal.administrative_domain".
- Se asignaron "fservice", "appi_name", "app_risk" y "policy_name" a "security_result.detection_fields".
- Se asignaron "packets", "__id", "dedup_time", "browse_time", "bytes", "product_family", "hll_key" y "calc_service" a "additional.fields".
- Se asignó "id" a "metadata.product_log_id".
- Se asignó "orig_log_server" a "principal.resource.product_object_id".
- Se asignó "environment_id" a "target.resource.product_object_id".
- Se asignaron "client_outbound_packets" y "client_inbound_packets" a "principal.resource.attribute.labels".
- Se asignaron "server_outbound_bytes" y "server_inbound_bytes" a "target.resource.attribute.labels".
- Se asignó "orig" a "principal.hostname" y "principal.asset.hostname".
- Se asignó "orig_log_server_ip" a "principal.ip" y "principal.asset.ip".
- Se asignó "proto" a "network.ip_protocol".
2024-05-20
- Se agregó un patrón Grok para extraer "inter_host".
- Se asignó "inter_host" a "intermediary.hostname".
2024-04-19
- Mejoras y correcciones de errores:
- Se asignó "origin" a "target.ip" y "target.asset.ip".
- Se agregaron nuevos patrones de Grok para analizar el nuevo formato de los registros de SYSLOG.
- Se asignaron "smartdefense_profile", "malware_rule_id" y "malware_rule_name" a "security_result.detection_fields".
- Se asignaron "sequencenum", "description_url", "industry_reference", "mitre_execution", "packet_capture_name", "packet_capture_unique_id", "packet_capture_time" y "performance_impact" a "additional.fields".
- Se asignó "version" a "metadata.product_version".
- Se asignó "http_host" a "target.resource.attribute.labels".
- Se asignó "log_id" a "metadata.product_log_id".
- Se asignó "user_agent" a "network.http.user_agent" y "http.parsed_user_agent".
- Se asignaron "hostname", "dvc" y "principal_hostname" a "target.hostname" y "target.asset.hostname".
- Si "has_principal" es "true", "has_target" es "true" y "Action"/"action" es "Log In" o "Failed Log In" o "Failed Login" o "Update", establece "metadata.event_type" en "USER_LOGIN" y "extensions.auth.type" en "AUTHTYPE_UNSPECIFIED".
- Si "has_principal" es "true", "has_target" es "true" y "Action"/"act"/"event_type" es "Log Out" o "Logout", establece "metadata.event_type" en "USER_LOGOUT" y "extensions.auth.type" en "AUTHTYPE_UNSPECIFIED".
- Si "has_principal" es "true" y "has_target" es "true", establece "metadata.event_type" en "NETWORK_CONNECTION".
- Si "has_principal" es "true" y "has_target" es "false", establece "metadata.event_type" en "STATUS_UPDATE".
2024-02-07
- Se agregó la asignación para los siguientes campos:
- Se asignaron "protection_id", "malware_action", "malware_family,protection_name" y "protection_type" a "security_result.detection_fields".
- Se asignó "confidence_level" a "security_result.confidence" y "security_result.confidence_details".
2024-02-05
- Se agregó la asignación para los siguientes campos:
- Se asignó "method" a "network.http.method".
2024-01-24
- Se agregó la asignación para los siguientes campos:
- Se asignó "method" a "network.http.method".
- Se asignó "duration" a "network.session_duration.seconds".
- Se asignó "additional_info" a "security_result.description".
- Se asignó "operation" a "security_result.summary".
- Se asignó "subject" a "metadata.description".
- Se asignó "principal_hostname" a "intermediary.hostname".
- Se asignaron "tcp_packet_out_of_state", "aggregated_log_count", "connection_count", "appi_name", "src_user_dn",
- "update_count", "additional_info", "administrator", "operation", "sendtotrackerasadvancedauditlog",
- "subject", "fieldschanges", "logic_changes", "objecttype", "session_description",
- "session_name" a "security_result.detection_fields".
2023-12-27
- Se agregó la asignación para los siguientes campos:
- Se asignaron "flags" a "security_result.detection_fields".
- Se asignó "tcp_flags" a "security_result.detection_fields".
- Se asignó "tcp_packet_out_of_state" a "security_result.detection_fields".
2023-12-11
- Si "principal_hostname" es una IP válida, asóciala a "principal.ip".
- Si "principal_hostname" no es una IP válida, asóciala a "principal.hostname".
- Se asignó "sport_svc" a "principal.port".
- Se asignó "ProductFamily" a "additional.fields".
- Se asignó "mitre_initial_access" a "security_result.detection_fields".
- Se asignó "policy_time" a "security_result.detection_fields".
- Se asignó "profile" a "security_result.detection_fields".
- Se asignó "reject_id_kid" a "security_result.detection_fields".
- Se asignó "ser_agent_kid" a "security_result.detection_fields".
2023-10-11
- Si "product" es "New Anti Virus", se quita la asignación de "firewall management node" a "principal.hostname" y, en su lugar, se asigna a "security_result.detection_fields".
2023-07-06
- Se agregó la asignación para los siguientes campos:
- Se asignó "app_category" a "security_result.category_details".
- Se asignó "matched_category" a "security_result.detection_fields".
- Se asignó "app_properties" a "security_result.detection_fields".
2023-06-14
- Se agregó la asignación para los siguientes campos
- Se asignó "conn_direction" a "additional.fields".
- Se modificó gsub para no reemplazar el ":" por "=" de los valores reales.
2023-05-12
- Se agregó la asignación para los siguientes campos
- Se asignó "rule_name" a "security_result.rule_name".
- Se asignaron "rule","sub_policy_name","sub_policy_uid","smartdefense_profile","tags","flexString2" a "security_result.detection_fields".
- Se agregó un nuevo patrón de Grok para admitir los nuevos formatos de registro.
- Se asignó "dvc" a "intermediary.hostname".
- Se asignó "hostname" a "intermediary.hostname".
- Se asignó "origin_sic_name" a "intermediary.asset_id".
- Se asignó "conn_direction" a "network.ip_protocol".
- Se asignó "ifname" a "security_result.detection_fields".
- Se asignó "security_inzone" a "security_result.detection_fields".
- Se asignó "match_id" a "security_result.detection_fields".
- Se asignó "parent_rule" a "security_result.detection_fields".
- Se asignó "security_outzone" a "security_result.detection_fields".
- Se asignó "sub_policy_name" a "security_result.detection_fields".
- Se asignó "sub_policy_uid" a "security_result.detection_fields".
- Se asignó "drop_reason" a "security_result.summary".
- Se asignó "reason" a "security_result.summary".
- Se asignó “xlatesport” a “principal.nat_port”.
- Se asignó "xlatedport" a "target.nat_port".
- Se asignó "ipv6_dst" a "target.ip".
- Se asignó "ipv6_src" a "principal.ip".
2023-04-24
- Se agregó compatibilidad con registros con formato CEF.
2022-11-18
- Se modificó la asignación de "service" y se asignó a "target.port".
2022-10-27
- Se agregó la verificación condicional para "attack","attack_info" y "policy_name".
- Se agregó el patrón grok para recuperar "principal_hostname".
- Se agregó gsub para cambiar "=" a ":".
- Se modificó la asignación de "service" y se asignó a "target.resource.attribute.labels".
2022-10-13
- Se asignó el campo "fw_subproduct" a "metadata.product_name".
- Se agregó un patrón grok para extraer la IP del campo "src".
2022-08-30
- Se combinaron los cambios de las versiones específicas del cliente con las predeterminadas.
- Se quitaron los registros que contenían "*****" en UserCheck.
2022-08-18
- Se asignó "portal_message" a "security_result.description".
- Se asignó "security_result.category" como "SOFTWARE_MALICIOUS" en caso de que "portal_message" contenga las palabras clave "malware/malicious".
- Se asignó "URL" a "security_result.about.url".
- Se asignó "Activity" a "security_result.summary".
- Se asignó "Referencia" a "security_result.about.resource.attribute.labels".
- Se modificó "event_type" de "GENERIC_EVENT" a "STATUS_UPDATE" replicando el valor de "intermediary.ip" a "principal.ip".
2022-08-12
- Se asignaron "malware_action", "malware_family,protection_name" y "protection_type" a "security_result.about.resource.attribute.labels".
- Se asignó "src_machine_name" a "security_result.detection_fields".
2022-06-30
- Se asignó "message_info" a "metadata.description".
2022-06-17
- Se agregaron verificaciones condicionales para los campos "nat_rulenum", "rule", "sent_bytes", "received_bytes", "s_port" y "service".
- Se modificó event_types para los siguientes casos:
- "GENERIC_EVENT" a "NETWORK_CONNECTION", donde "principal.ip o principal.hostname" y "target.ip o target.hostname" no son nulos.
- "GENERIC_EVENT" a "STATUS_UNCATEGORIZED", donde "principal.ip o principal.hostname" no es nulo.
2022-06-14
- Se modificó el analizador para analizar más registros quitando la verificación de condiciones de passwd.
2022-06-07
- Se asignó src_machine_name a security_result.detection_fields.
2022-05-19
- Se asignaron inzone, outzone, layer_name, layer_uuid y policy_name a security_result.detection_fields.
- Se asignó service_id a principal.application.