Collecter les journaux Symantec Endpoint Protection
Ce document explique comment ingérer les journaux Symantec Endpoint Protection dans Google Security Operations à l'aide de Bindplane. Le parseur traite les journaux au format SYSLOG ou KV, en extrayant d'abord les codes temporels de différents formats dans les données de journal.
Il utilise ensuite un fichier de configuration distinct (sep_pt2.include
) pour analyser et structurer davantage les événements de journal, en s'assurant que le traitement n'est réussi que si l'extraction initiale du code temporel est réussie.
Avant de commencer
Assurez-vous de remplir les conditions préalables suivantes :
- Instance Google SecOps
- Hôte Windows 2016 ou version ultérieure, ou hôte Linux avec systemd
- Si vous exécutez le programme derrière un proxy, les ports du pare-feu sont ouverts.
- Accès privilégié à la plate-forme Symantec Endpoint Protection
Obtenir le fichier d'authentification d'ingestion Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Agents de collecte.
- Téléchargez le fichier d'authentification d'ingestion. Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.
Obtenir l'ID client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM> Profil.
- Copiez et enregistrez le numéro client de la section Informations sur l'organisation.
Installer l'agent Bindplane
Les sections suivantes expliquent comment installer l'agent Bindplane.
Installation de fenêtres
- Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
Exécutez la commande suivante :
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installation de Linux
- Ouvrez un terminal avec les droits root ou sudo.
Exécutez la commande suivante :
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Ressources d'installation supplémentaires
Pour plus d'options d'installation, consultez le guide d'installation.
Configurer l'agent Bindplane pour ingérer les journaux syslog et les envoyer à Google SecOps
- Accédez au fichier de configuration :
- Trouvez le fichier
config.yaml
. En règle générale, il se trouve dans le répertoire/etc/bindplane-agent/
sous Linux ou dans le répertoire d'installation sous Windows. - Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple,
nano
,vi
ou le Bloc-notes).
- Trouvez le fichier
Modifiez le fichier
config.yaml
comme suit :receivers: udplog: # Replace the port and IP address as required listen_address: `0.0.0.0:514` exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization ingestion_labels: log_type: 'CES' raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
Remplacez
<customer_id>
par le numéro client réel.Mettez à jour
/path/to/ingestion-authentication-file.json
en indiquant le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification pour l'ingestion Google SecOps.
Redémarrez l'agent Bindplane pour appliquer les modifications.
Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :
sudo systemctl restart bindplane-agent
Pour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :
net stop BindPlaneAgent && net start BindPlaneAgent
Configurer Syslog dans Symantec Endpoint Protection
- Connectez-vous à l'interface utilisateur Web de votre Symantec Endpoint Protection Manager.
- Cliquez sur l'icône Admin.
- Localisez la section Afficher les serveurs, puis cliquez sur Serveurs.
- Cliquez sur Site local > Configurer la journalisation externe.
- Cochez la case Activer la transmission des journaux à un serveur Syslog.
- Fournissez les informations de configuration suivantes :
- Serveur Syslog : saisissez l'adresse IP Bindplane.
- Port de destination UDP : saisissez le numéro de port Bindplane (par exemple,
514
pour UDP). - Log Facility : saisissez Local6.
- Cochez la case Journaux d'audit.
- Cochez la case Journaux de sécurité.
- Cochez la case Risques.
- Cliquez sur OK.
Table de mappage UDM
Champ du journal | Mappage UDM | Remarque |
---|---|---|
_DB_HOST |
target.hostname |
|
a_record |
network.dns.questions.type |
|
AccessCheckResults |
security_result.detection_fields |
|
Accesses |
security_result.detection_fields |
|
AccessList |
security_result.detection_fields |
|
AccessMask |
security_result.detection_fields |
|
AccessReason |
security_result.description |
|
AccountName |
target.user.user_display_name |
|
AccountType |
principal.user.attribute.roles |
|
ACTION |
security_result.detection_fields |
|
ACTION_TYPE |
security_result.action_details |
|
ActiveProfile |
target.resource.name |
|
ActivityID |
additional.fields |
|
AdditionalInfo2 |
security_result.detection_fields |
|
ADMIN_NAME |
principal.user.userid |
|
AGENT_SECURITY_LOG_IDX |
metadata.product_log_id |
|
AgentVer |
additional.fields |
|
Alert |
security_result.detection_fields |
|
ALERT_IDX |
security_result.rule_id |
|
ALERTDATETIME |
security_result.first_discovered_time |
|
ALERTENDDATETIME |
security_result.last_discovered_time |
|
ALERTINSERTTIME |
security_result.detection_fields |
|
AlgorithmName |
security_result.detection_fields |
|
Allowedapplicationreason |
security_result.detection_fields |
|
APP_NAME |
target.application |
|
app_name |
principal.application |
|
AppPoolID |
target.application |
|
AuthenticationPackageName |
additional.fields |
|
AuthenticationSetId |
security_result.detection_fields |
|
AuthenticationSetName |
target.resource.name |
|
BitlockerUserInputTime |
additional.fields |
|
BootMenuPolicy |
additional.fields |
|
BootType |
additional.fields |
|
BU |
additional.fields |
|
BugcheckString |
additional.fields |
|
CALLER_PROCESS_ID |
principal.process.pid |
|
CALLER_PROCESS_NAME |
principal.process.file.full_path |
|
callerReturnAddress |
additional.fields |
|
callerReturnModuleName |
additional.fields |
|
Caption |
target.application |
|
Category |
security_result.category_details |
|
Channel |
security_result.about.resource.attribute.labels |
|
CIDS_SIGN_SUB_ID |
additional.fields |
|
CLIENT_USER2 |
principal.user.userid |
|
Comment |
metadata.description |
|
Component |
security_result.detection_fields |
|
connection.ether_type |
security_result.about.labels |
|
ConnectionSecurityRuleName |
target.resource.name |
|
ConnectionSecurityRuleId |
security_result.detection_fields |
|
CryptographicSetId |
security_result.detection_fields |
|
CryptographicSetName |
target.resource.name |
|
CSPEID |
additional.fields |
|
DCName |
intermediary.hostname |
|
Desc |
metadata.description |
|
DesiredAccess |
security_result.detection_fields |
|
device.last_app_connection |
target.asset.last_discover_time |
|
device.wss_feature |
target.asset.attribute.labels |
|
DeviceName |
target.resource.name |
|
DeviceNameLength |
additional.fields |
|
DeviceTime |
additional.fields |
|
DeviceVersionMajor |
additional.fields |
|
DeviceVersionMinor |
additional.fields |
|
disposition |
security_result.detection_fields |
|
dns_direction |
security_result.detection_fields |
|
domain |
target.administrative_domain |
|
Domain |
principal.administrative_domain |
|
DOMAIN_ID |
target.resource.product_object_id |
|
EDate |
additional.fields |
|
EDateUTC |
metadata.event_timestamp |
|
elevated_token |
additional.fields |
|
EntryCount |
additional.fields |
|
Error |
security_result.description |
|
error |
security_result.detection_fields |
|
ErrorCode |
security_result.description |
|
ErrorDescription |
security_result.description |
|
Event |
metadata.description |
|
EVENT_DATA |
additional.fields |
|
event_type |
metadata.product_event_type |
|
EventData.Binary |
additional.fields |
|
eventDesc |
metadata.description |
|
eventInsertTime |
metadata.collected_timestamp |
|
EventReceivedTime |
metadata.collected_timestamp |
|
EventTime |
metadata.event_timestamp |
|
EventType |
metadata.product_event_type |
|
ExceptionCode |
security_result.detection_fields |
|
executionPolicy |
security_result.rule_name |
|
ExecutionProcessID |
principal.process.pid |
|
ExecutionThreadID |
principal.process.product_specific_process_id |
|
ExtensionId |
security_result.detection_fields |
|
ExtensionName |
target.resource.name |
|
ExtraInfoLength |
additional.fields |
|
ExtraInfoString |
additional.fields |
|
FailureId |
security_result.detection_fields |
|
faulting_application_name |
principal.process.file.names |
|
faulting_application_path |
principal.process.file.full_path |
|
FaultingModuleName |
additional.fields |
|
FaultingModulePath |
additional.fields |
|
FaultOffset |
additional.fields |
|
FILE_SIZE |
about.file.size |
|
FilterID |
security_result.detection_fields |
|
FinalStatus |
security_result.description |
|
GPODisplayName |
target.resource.name |
|
GPOFileSystemPath |
target.file.full_path |
|
Group |
principal.resource.attribute.labels |
|
HACK_TYPE |
security_result.category_details |
|
HandleId |
target.resource.attribute.labels |
|
HID_LEVEL |
additional.fields |
|
HN |
additional.fields |
|
host |
principal.hostname |
|
Hostname |
principal.hostname |
|
id |
metadata.product_log_id |
|
IdleImplementation |
additional.fields |
|
IdleStateCount |
additional.fields |
|
ImpersonationLevel |
additional.fields |
|
IntensiveProtectionLevel |
security_result.detection_fields |
|
Interface |
security_result.detection_fields |
|
intermediary_host |
intermediary.ip intermediary.hostname |
Mappe à intermediary.ip si la valeur est une adresse IP. Correspond à intermediary.hostname si la valeur est un nom d'hôte. |
INTRUSION_PAYLOAD_URL |
target.url |
|
INTRUSION_URL |
target.url |
|
IP |
principal.ip |
|
IP_ADDR |
src.ip |
|
IpAddress |
principal.ip |
|
IpPort |
principal.port |
|
KERNEL |
principal.platform_patch_level |
|
KeyFilePath |
target.file.full_path |
|
KeyLength |
additional.fields |
|
KeyName |
security_result.detection_fields |
|
KeyType |
security_result.detection_fields |
|
lastUpdateTime |
target.resource.attribute.last_update_time |
|
LmPackageName |
security_result.detection_fields |
|
LoadOptions |
additional.fields |
|
LogonGuid |
network.session_id |
|
LogonProcessName |
target.application |
|
LogonType |
extensions.auth.auth_details |
|
MandatoryLabel |
target.resource.attribute.labels |
|
MasterKeyId |
security_result.detection_fields |
|
MaximumPerformancePercent |
additional.fields |
|
Message |
metadata.description |
|
MinimumPerformancePercent |
additional.fields |
|
MinimumThrottlePercent |
additional.fields |
|
Minutes |
target.resource.attribute.labels |
|
NewFile |
target.file.full_path |
|
NewGrp |
target.group.group_display_name |
|
NewModDt |
target.file.last_modification_time |
|
NewOwn |
additional.fields |
|
NewPerms |
additional.fields |
|
NewProcessId |
target.process.pid |
|
NewProcessName |
target.process.file.full_path |
|
NewSecurityDescriptor |
security_result.description |
|
NewSize |
additional.fields |
|
NominalFrequency |
principal.resource.attribute.labels |
|
Number |
principal.resource.attribute.labels |
|
NumberOfGroupPolicyObjects |
additional.fields |
|
ObjectName |
target.resource.name |
|
ObjectServer |
target.resource.attribute.labels |
|
ObjectType |
target.resource.resource_type |
|
ObjId |
target.resource.attribute.labels |
|
OldFile |
src.file.full_path |
|
OldGrp |
src.group.group_display_name |
|
OldModDt |
src.file.last_modification_time |
|
OldOwn |
additional.fields |
|
OldPerms |
additional.fields |
|
OldSize |
additional.fields |
|
omittedFiles |
security_result.detection_fields |
|
Opcode |
additional.fields |
|
OpcodeValue |
metadata.product_event_type |
|
Operation |
security_result.description |
|
Operation |
additional.fields |
|
OperationType |
security_result.category_details |
|
OriginalSecurityDescriptor |
additional.fields |
|
OS |
principal.platform |
|
OSVER |
principal.platform_version |
|
param2 |
security_result.detection_fields |
|
param3 |
security_result.detection_fields |
|
param4 |
security_result.detection_fields |
|
PARAM_DEVICE_ID |
principal.hostname |
|
PARAMETER |
target.file.full_path |
|
parameters |
additional.fields |
|
PARENT_SERVER_TYPE |
additional.fields |
|
PerformanceImplementation |
additional.fields |
|
POLNm |
additional.fields |
|
prevalence |
security_result.detection_fields |
|
Priority |
security_result.detection_fields |
|
PrivilegeList |
target.resource.attribute.permissions.name |
|
PrivilegesUsedForAccessCheck |
security_result.detection_fields |
|
ProblemID |
additional.fields |
|
ProcessId |
principal.process.pid |
|
ProcessID |
target.process.pid |
|
ProcessingMode |
additional.fields |
|
ProcessingTimeInMilliseconds |
additional.fields |
|
ProcessName |
principal.process.file.full_path |
|
ProcName |
principal.process.file.names |
|
ProcPath |
principal.process.file.full_path |
|
product_event_type |
metadata.product_event_type |
|
PROFILE_SERIAL_NO |
additional.fields |
|
protected |
security_result.detection_fields |
|
ProviderGuid |
metadata.product_deployment_id |
|
ProviderName |
security_result.detection_fields |
|
PuaCount |
additional.fields |
|
PuaPolicyId |
additional.fields |
|
PUB_KEY |
additional.fields |
|
Reason |
additional.fields |
|
ReasonCode |
additional.fields |
|
RecordNumber |
metadata.product_log_id |
|
RecoveryReason |
security_result.description |
|
RecType |
metadata.product_event_type |
|
RelativeTargetName |
target.user.user_display_name |
|
report_id |
metadata.product_log_id |
|
request |
additional.fields |
|
restricted_admin_mode |
additional.fields |
|
restricted_sid_count |
additional.fields |
|
risks |
security_result.detection_fields |
|
Rule |
security_result.rule_name |
|
RuleName |
security_result.rule_name |
|
RuleType |
additional.fields |
|
scan_duration |
security_result.detection_fields |
|
scan_state |
security_result.detection_fields |
|
scan_type |
security_result.detection_fields |
|
scanned_number |
security_result.detection_fields |
|
ScriptType |
additional.fields |
|
SecurityPackageName |
about.file.full_path |
|
SEQ_ID |
additional.fields |
|
Service |
target.application |
|
SeverityValue |
security_result.severity_details |
|
sha256 |
principal.process.file.sha256 |
|
ShareLocalPath |
target.file.full_path |
|
ShareName |
target.resource.name |
|
SITE_IDX |
additional.fields |
|
skipped_files |
security_result.detection_fields |
|
SourceModuleName |
additional.fields |
|
SourceModuleType |
additional.fields |
|
SourceName |
principal.application |
|
spn1 |
target.resource.attribute.labels |
|
spn2 |
target.resource.attribute.labels |
|
standard_schemes |
security_result.detection_fields |
|
State |
additional.fields |
|
Status |
target.resource.attribute.labels |
|
StopTime |
additional.fields |
|
SubjectDomainName |
principal.administrative_domain |
|
SubjectLogonId |
principal.user.userid |
|
SubjectUserName |
principal.user.userid |
|
SubjectUserSid |
principal.user.windows_sid |
|
SupportInfo1 |
additional.fields |
|
SupportInfo2 |
additional.fields |
|
syslogServer |
intermediary.ip intermediary.hostname |
La valeur (adresse IP ou nom d'hôte) provient de l'en-tête du journal et est associée à un intermédiaire. |
TargetDomainName |
target.administrative_domain |
|
TargetLogonId |
target.user.userid |
|
TargetUserName |
target.user.userid |
|
TargetUserSid |
target.user.windows_sid |
|
TaskContentNew |
additional.fields |
|
TaskName |
target.resource.name |
|
TaskValue |
metadata.description |
|
THREATS |
security_result.detection_fields |
|
threats |
security_result.detection_fields |
|
TimeDifferenceMilliseconds |
additional.fields |
|
TimeSampleSeconds |
additional.fields |
|
timestamp |
metadata.event_timestamp |
|
TokenElevationType |
target.resource.attribute.labels |
|
transaction_id |
metadata.product_log_id |
|
TransitedServices |
security_result.detection_fields |
|
TSId |
network.session_id |
|
type |
security_result.threat_name |
|
UMDFDeviceInstallBegin.version |
target.resource.attribute.labels |
|
UMDFReflectorDependencyMissing.Dependency |
additional.fields |
|
updateGuid |
target.process.product_specific_process_id |
|
updateRevisionNumber |
target.resource.attribute.labels |
|
updateTitle |
target.resource.name |
|
UpdateType |
additional.fields |
|
Url |
target.url |
|
urlTrackingStatus |
security_result.detection_fields |
|
User |
principal.user.userid |
|
UserID |
target.user.userid |
|
UserSid |
target.user.windows_sid |
|
VAPI_NAME |
security_result.summary |
|
VAST |
additional.fields |
|
Version |
metadata.product_version |
|
virtual_account |
additional.fields |
|
VSAD |
additional.fields |
|
WorkstationName |
additional.fields |
|
N/A | metadata.log_type |
Le type de journal est codé en dur sur SEP . |
N/A | metadata.product_name |
Le nom du produit est codé en dur pour être SEP . |
N/A | metadata.vendor_name |
Le nom du fournisseur est codé en dur sur Symantec . |
Référence du delta de mappage UDM
Le 26 août 2025, Google SecOps a publié une nouvelle version du parser Symantec Endpoint Protection. Celle-ci inclut des modifications importantes concernant le mappage des champs de journaux Symantec Endpoint Protection vers les champs UDM et le mappage des types d'événements.
Delta de mappage entre les champs de journaux
Le tableau suivant répertorie le delta de mappage pour les champs de journaux Symantec Endpoint Protection vers UDM exposés avant le 26 août 2025 et après (respectivement listés dans les colonnes Ancien mappage et Mappage actuel).
Champ du journal | Ancienne mise en correspondance | Mappage actuel |
---|---|---|
_DB_DRIVER |
about.resource.id |
about.resource.product_object_id |
_ip |
principal.ip |
intermediary.ip |
Actualaction: Quarantined |
security_result.action : BLOCK |
security_result.action : QUARANTINE |
BEGIN_TIME |
additional.fields |
target.resource.attribute.labels |
callerProcessId |
target.process.pid |
principal.process.pid |
callerProcessName |
target.file.full_path |
principal.process.file.full_path |
CATEGORY_DESC |
additional.fields |
security_result.category_details |
CLIENT_TYPE |
additional.fields |
principal.user.attribute.roles |
DESCRIPTION |
security_result.detection_fields |
security_result.summary |
device.id |
target.resource.id |
target.resource.product_object_id |
device_uid |
principal.resource.id |
principal.resource.product_object_id |
DURATION |
additional.fields |
network.session_duration.seconds |
END_TIME |
additional.fields |
target.resource.attribute.last_update_time |
feature_name |
about.labels |
security_result.about.labels |
REMOTE_HOST_MAC |
additional.fields |
principal.mac |
resourceId |
principal.resource.id |
principal.resource.product_object_id |
server_name_1 |
principal.hostname intermediary.hostname |
target.hostname |
UUID |
additional.fields |
principal.asset.asset_id |
Delta de mappage des types d'événements
Plusieurs événements qui étaient auparavant classés comme événements génériques sont désormais correctement classés avec des types d'événements pertinents.
Le tableau suivant liste le delta pour la gestion des types d'événements Symantec Endpoint Protection avant et après le 26 août 2025 (respectivement listés dans les colonnes Ancien event_type et event_type actuel).
eventType from log | Ancien event_type | Current event_type |
---|---|---|
Déconnexion de l'administrateur | GENERIC_EVENT |
USER_LOGOUT |
Bloquer et consigner tout autre trafic IP | STATUS_UPDATE |
NETWORK_CONNECTION |
Fichier créé | GENERIC_EVENT |
FILE_CREATION |
Fichier modifié | GENERIC_EVENT |
FILE_MODIFICATION |
Fichier renommé | GENERIC_EVENT |
FILE_MODIFICATION |
Analyse lancée sur les lecteurs sélectionnés | GENERIC_EVENT |
SCAN_HOST |
L'analyse a commencé sur les lecteurs sélectionnés et un fichier a été trouvé. | GENERIC_EVENT |
SCAN_FILE |
Utilisateur accédant à une ressource, en fonction d'un événement | USER_UNCATEGORIZED |
USER_RESOURCE_ACCESS |
L'utilisateur tente de résilier | GENERIC_EVENT |
STATUS_SHUTDOWN |
VAPI_NAME = File Delete |
USER_UNCATEGORIZED |
FILE_DELETION |
VAPI_NAME = File Write |
USER_UNCATEGORIZED |
FILE_CREATION |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.