Collect Symantec Event Export logs
This document describes how you can collect Symantec Event Export logs by setting up a Google Security Operations feed.
For more information, see Data ingestion to Google Security Operations .
An ingestion label identifies the parser which normalizes raw log data to structured UDM format. The information in this document applies to the parser with the following ingestion labels: SYMANTEC_EVENT_EXPORT 
and SEP 
.
Configure Symantec Event Export
- Sign in to the SEP 15/14.2 console.
- Select Integration.
- Click Client Applicationand copy the Customer IDand Domain ID, which are used when you create a Google Security Operations feed.
- Click + Addand provide an application name.
- Click Add.
- Go to the Detailspage and perform the following actions: - In the Devices Group Managementsection, select View.
- In the Alerts & Events Rule Managementsection, select View.
- In the Investigation Incidentsection, select View.
 
- Click Save.
- Click the menu (vertical ellipses) located at the end of the application name and click Client Secret.
- Copy the client ID and client secret, which are required when you configure the Google Security Operations feed.
Set up feeds
To configure a feed, follow these steps:
- Go to SIEM Settings > Feeds.
- Click Add New Feed.
- On the next page, click Configure a single feed.
- In the Feed namefield, enter a name for the feed; for example, Symantec Event Export Logs.
- Select Google Cloud Storage V2as the Source Type.
- Select Symantec Event exportas the Log Type.
- Click Get a Service Account. Google Security Operations provides a unique service account that Google Security Operations uses to ingest data.
- Configure access for the service account to access the Cloud Storage objects. For more information, see Grant access to the Google Security Operations service account .
- Click Next.
- Configure the following mandatory input parameters: - Storage bucket URI: specify the storage bucket URI.
- Source deletion option: specify the source deletion option.
- Maximum File Age: Includes files modified in the last number of days. Default is 180 days.
 
- Click Nextand then click Submit.
For more information about Google Security Operations feeds, see Google Security Operations feeds documentation .
For information about requirements for each feed type, see Feed configuration by type .
If you encounter issues when you create feeds, contact Google Security Operations support .
Field mapping reference
This parser extracts fields from Symantec Event Export logs in JSON or SYSLOG format, normalizing and mapping them to the UDM. It handles various log structures, using grok patterns for SYSLOG and JSON parsing for JSON formatted logs, and maps fields to UDM entities like principal 
, target 
, network 
, and security_result 
.
UDM Mapping Table
| Log Field | UDM Mapping | Logic | 
|---|---|---|
| actor.cmd_line | principal.process.command_line | The raw log's actor.cmd_lineis mapped directly to the UDM. | 
| actor.file.full_path | principal.process.file.full_path | The raw log's actor.file.pathorfile.pathis mapped directly to the UDM. | 
| actor.file.md5 | principal.process.file.md5 | The raw log's actor.file.md5is converted to lowercase and mapped directly to the UDM. | 
| actor.file.sha1 | principal.process.file.sha1 | The raw log's actor.file.sha1is converted to lowercase and mapped directly to the UDM. | 
| actor.file.sha2 | principal.process.file.sha256 | The raw log's actor.file.sha2orfile.sha2is converted to lowercase and mapped directly to the UDM. | 
| actor.file.size | principal.process.file.size | The raw log's actor.file.sizeis converted to a string and then to an unsigned integer and mapped directly to the UDM. | 
| actor.pid | principal.process.pid | The raw log's actor.pidis converted to a string and mapped directly to the UDM. | 
| actor.user.domain | principal.administrative_domain | The raw log's actor.user.domainis mapped directly to the UDM.  Ifconnection.direction_idis 1, it's mapped totarget.administrative_domain. | 
| actor.user.name | principal.user.user_display_name | The raw log's actor.user.nameis mapped directly to the UDM. Ifuser_nameexists, it takes precedence. | 
| actor.user.sid | principal.user.windows_sid | The raw log's actor.user.sidis mapped directly to the UDM. | 
| connection.direction_id | network.direction | If connection.direction_idis 1 andconnection.dst_ipexists,network.directionis set toINBOUND. Ifconnection.direction_idis 2 andconnection.dst_ipexists,network.directionis set toOUTBOUND. | 
| connection.dst_ip | target.ip | The raw log's connection.dst_ipis mapped directly to the UDM. | 
| connection.dst_port | target.port | The raw log's connection.dst_portis converted to an integer and mapped directly to the UDM. | 
| connection.src_ip | principal.ip | The raw log's connection.src_ipis mapped directly to the UDM. | 
| connection.src_port | principal.port | The raw log's connection.src_portis converted to an integer and mapped directly to the UDM. Handles cases whereconnection.src_portis an array. | 
| device_domain | principal.administrative_domainortarget.administrative_domain | The raw log's device_domainis mapped toprincipal.administrative_domainifconnection.direction_idis not 1. Ifconnection.direction_idis 1, it's mapped totarget.administrative_domain. | 
| device_group | principal.group.group_display_nameortarget.group.group_display_name | The raw log's device_groupis mapped toprincipal.group.group_display_nameifconnection.direction_idis not 1. Ifconnection.direction_idis 1, it's mapped totarget.group.group_display_name. | 
| device_ip | src.ip | The raw log's device_ipis mapped directly to the UDM. | 
| device_name | principal.hostnameortarget.hostname | The raw log's device_nameis mapped toprincipal.hostnameifconnection.direction_idis not 1. Ifconnection.direction_idis 1, it's mapped totarget.hostname. | 
| device_networks | intermediary.ip,intermediary.mac | The raw log's device_networksarray is processed.  IPv4 and IPv6 addresses are merged intointermediary.ip. MAC addresses are converted to lowercase, hyphens are replaced with colons, and then merged intointermediary.mac. | 
| device_os_name | principal.platform_versionortarget.platform_version | The raw log's device_os_nameis mapped toprincipal.platform_versionifconnection.direction_idis not 1. Ifconnection.direction_idis 1, it's mapped totarget.platform_version. | 
| device_public_ip | principal.ip | The raw log's device_public_ipis mapped directly to the UDM. | 
| device_uid | principal.resource.idortarget.resource.id | The raw log's device_uidis mapped toprincipal.resource.idifconnection.direction_idis not 1. Ifconnection.direction_idis 1, it's mapped totarget.resource.id. | 
| feature_name | security_result.category_details | The raw log's feature_nameis mapped directly to the UDM. | 
| file.path | principal.process.file.full_path | The raw log's file.pathis mapped directly to the UDM. Ifactor.file.pathexists, it takes precedence. | 
| file.sha2 | principal.process.file.sha256 | The raw log's file.sha2is converted to lowercase and mapped directly to the UDM. Ifactor.file.sha2exists, it takes precedence. | 
| log_time | metadata.event_timestamp | The raw log's log_timeis parsed using various date formats and used as the event timestamp. | 
| message | security_result.summaryornetwork.ip_protocolormetadata.description | The raw log's messagefield is processed. If it contains "UDP",network.ip_protocolis set to "UDP". If it contains "IP",network.ip_protocolis set to "IP6IN4". If it contains "ICMP",network.ip_protocolis set to "ICMP". Otherwise, it's mapped tosecurity_result.summary. If thedescriptionfield exists, themessagefield is mapped tometadata.description. | 
| parent.cmd_line | principal.process.parent_process.command_line | The raw log's parent.cmd_lineis mapped directly to the UDM. | 
| parent.pid | principal.process.parent_process.pid | The raw log's parent.pidis converted to a string and mapped directly to the UDM. | 
| policy.name | security_result.rule_name | The raw log's policy.nameis mapped directly to the UDM. | 
| policy.rule_name | security_result.description | The raw log's policy.rule_nameis mapped directly to the UDM. | 
| policy.rule_uid | security_result.rule_id | The raw log's policy.rule_uidis mapped directly to the UDM. Ifpolicy.uidexists, it takes precedence. | 
| policy.uid | security_result.rule_id | The raw log's policy.uidis mapped directly to the UDM. | 
| product_name | metadata.product_name | The raw log's product_nameis mapped directly to the UDM. | 
| product_uid | metadata.product_log_id | The raw log's product_uidis mapped directly to the UDM. | 
| product_ver | metadata.product_version | The raw log's product_veris mapped directly to the UDM. | 
| severity_id | security_result.severity | If severity_idis 1, 2, or 3,security_result.severityis set toINFORMATIONAL. If it's 4, it's set toERROR. If it's 5, it's set toCRITICAL. | 
| threat.id | security_result.threat_id | The raw log's threat.idis converted to a string and mapped directly to the UDM. | 
| threat.name | security_result.threat_name | The raw log's threat.nameis mapped directly to the UDM. | 
| type_id | metadata.event_type,metadata.product_event_type | Used in conjunction with other fields to determine the appropriate metadata.event_typeandmetadata.product_event_type. | 
| user_email | principal.user.email_addresses | The raw log's user_emailis merged into the UDM. | 
| user_name | principal.user.user_display_name | The raw log's user_nameis mapped directly to the UDM. | 
| uuid | target.process.pid | The raw log's uuidis parsed to extract the process ID, which is mapped totarget.process.pid. | 
|   
N/A | metadata.vendor_name | Set to "SYMANTEC". | 
|   
N/A | metadata.log_type | Set to "SYMANTEC_EVENT_EXPORT". | 
|   
N/A | principal.resource.resource_type | Set to "DEVICE" when connection.direction_idis not 1 or is empty. | 
|   
N/A | target.resource.resource_type | Set to "DEVICE" when connection.direction_idis 1. | 
Need more help? Get answers from Community members and Google SecOps professionals.

