Collecter les journaux de la solution Symantec DLP
Ce document explique comment collecter les journaux de la solution DLP Symantec à l'aide de Bindplane. Le code de l'analyseur tente d'abord d'analyser les données de journal DLP Symantec entrantes au format XML. Si l'analyse XML échoue, elle suppose un format SYSLOG + KV (CEF) et utilise une combinaison de filtres grok
et kv
pour extraire les paires clé-valeur et les mapper sur le modèle de données unifié (UDM).
Avant de commencer
- Assurez-vous de disposer d'une instance Google Security Operations.
- Assurez-vous d'utiliser Windows 2016 ou une version ultérieure, ou un hôte Linux avec
systemd
. - Si vous exécutez l'application derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts.
- Assurez-vous de disposer d'un accès privilégié à la solution de DLP Symantec.
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 le numéro client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Profil.
- Copiez et sauvegardez le numéro client dans la section Détails de l'organisation.
Installer l'agent Bindplane
Installation de Windows
- Ouvrez l'invite de commande 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 des 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
Autres ressources d'installation
- Pour plus d'options d'installation, consultez ce guide d'installation.
Configurer l'agent Bindplane pour qu'il ingère les journaux Syslog et les envoie à Google SecOps
Accédez au fichier de configuration:
- Recherchez 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 (
nano
,vi
ou Bloc-notes, par exemple).
- Recherchez le fichier
Modifiez le fichier
config.yaml
comme suit :receivers: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:54525" 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: SYSLOG namespace: symantec_dlp raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Remplacez le port et l'adresse IP dans votre infrastructure si nécessaire.
Remplacez
<customer_id>
par le numéro client réel.Remplacez
/path/to/ingestion-authentication-file.json
par le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification d'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 la solution Symantec DLP
- Connectez-vous à la console d'administration du serveur Symantec.
- Sélectionnez Gérer > Règles > Règles de réponse.
- Sélectionnez Configurer une règle de réponse, puis saisissez un nom de règle.
Spécifiez les informations suivantes :
- Actions: sélectionnez Journaliser sur un serveur syslog.
- Host (Hôte) : saisissez l'adresse IP de
Bindplane
. - Port: saisissez le numéro de port
Bindplane
. Message: saisissez le message suivant:
|symcdlpsys|APPLICATION_NAME|$APPLICATION_NAME$|APPLICATION_USER|$APPLICATION_USER$|ATTACHMENT_FILENAME|$ATTACHMENT_FILENAME$|BLOCKED|$BLOCKED$|DATAOWNER_NAME|$DATAOWNER_NAME$|DATAOWNER_EMAIL|$DATAOWNER_EMAIL$|DESTINATION_IP|$DESTINATION_IP$|ENDPOINT_DEVICE_ID|$ENDPOINT_DEVICE_ID$|ENDPOINT_LOCATION|$ENDPOINT_LOCATION$|ENDPOINT_MACHINE|$ENDPOINT_MACHINE$|ENDPOINT_USERNAME|$ENDPOINT_USERNAME$|PATH|$PATH$|FILE_NAME|$FILE_NAME$|PARENT_PATH|$PARENT_PATH$|INCIDENT_ID|$INCIDENT_ID$|INCIDENT_SNAPSHOT|$INCIDENT_SNAPSHOT$|MACHINE_IP|$MACHINE_IP$|MATCH_COUNT|$MATCH_COUNT$|OCCURRED_ON|$OCCURRED_ON$|POLICY|$POLICY$|RULES|$RULES$|PROTOCOL|$PROTOCOL$|QUARANTINE_PARENT_PATH|$QUARANTINE_PARENT_PATH$|RECIPIENTS|$RECIPIENTS$|REPORTED_ON|$REPORTED_ON$|SCAN|$SCAN$|SENDER|$SENDER$|MONITOR_NAME|$MONITOR_NAME$|SEVERITY|$SEVERITY$|STATUS|$STATUS$|SUBJECT|$SUBJECT$|TARGET|$TARGET$|URL|$URL$|USER_JUSTIFICATION|$USER_JUSTIFICATION$|
Débogage: sélectionnez Niveau 4.
Cliquez sur Appliquer.
Tableau de mappage UDM
Champ du journal | Mappage UDM | Logique |
---|---|---|
agir | security_result.action | Si act est Passed , définissez la valeur sur ALLOW . Si act est Modified , définissez la valeur sur ALLOW_WITH_MODIFICATION . Si act est Blocked , définissez la valeur sur BLOCK . Sinon, définissez-le sur UNKNOWN_ACTION . |
application_name | target.application | Mappage direct. |
asset_ip | principal.ip, principal.asset.ip | Mappage direct. |
asset_name | principal.hostname, principal.asset.hostname | Mappage direct. |
attachment_name | security_result.about.file.full_path | Mappage direct. |
bloqué | security_result.action_details | Mappage direct. |
calling_station_id | principal.mac, principal.asset.mac | Si calling_station_id est une adresse MAC, mappez-la directement après avoir remplacé - par : et converti en minuscules. |
called_station_id | target.mac, target.asset.mac | Si called_station_id est une adresse MAC, extrayez la partie de l'adresse MAC avant : et mappez-la directement après avoir remplacé - par : et converti en minuscules. |
category1 | security_result.detection_fields | Créez un libellé avec la clé category1 et la valeur de category1 . |
category2 | security_result.detection_fields | Créez un libellé avec la clé category2 et la valeur de category2 . |
category3 | security_result.detection_fields | Créez un libellé avec la clé category3 et la valeur de category3 . |
client_friendly_name | target.user.userid | Mappage direct. |
dataowner_mail | principal.user.email_addresses | Mappée directement s'il s'agit d'une adresse e-mail valide. |
description | metadata.description | Mappage direct. |
dest_location | target.location.country_or_region | Mappage direct s'il ne s'agit pas de RED . |
deviceId | target.asset_id | Mappé en tant que ID:%{deviceId} . |
device_version | metadata.product_version | Mappage direct. |
dhost | network.http.referral_url | Mappage direct. |
dlp_type | security_result.detection_fields | Créez un libellé avec la clé dlp_type et la valeur de dlp_type . |
DLP_EP_Incident_ID | security_result.threat_id, security_result.detection_fields | Mappé directement sur threat_id . Créez également un libellé avec la clé Incident ID et la valeur DLP_EP_Incident_ID . |
domaine | principal.administrative_domain | Mappage direct. |
dst | target.ip, target.asset.ip | Mappée directement s'il s'agit d'une adresse IP valide. |
endpoint_machine | target.ip, target.asset.ip | Mappée directement s'il s'agit d'une adresse IP valide. |
endpoint_user_department | target.user.department | Mappage direct. |
endpoint_user_email | target.user.email_addresses | Mappage direct. |
endpoint_user_manager | target.user.managers | Créez un objet de gestion avec user_display_name à partir de endpoint_user_manager . |
endpoint_user_name | target.user.user_display_name | Mappage direct. |
endpoint_user_title | target.user.title | Mappage direct. |
event_description | metadata.description | Mappage direct. |
event_id | metadata.product_log_id | Mappage direct. |
event_source | target.application | Mappage direct. |
event_timestamp | metadata.event_timestamp | Mappage direct. |
file_name | security_result.about.file.full_path | Mappage direct. |
filename | target.file.full_path, src.file.full_path | Mappé directement sur target.file.full_path . Si has_principal est défini sur "true", mappez également sur src.file.full_path et définissez event_type sur FILE_COPY . |
hôte | src.hostname, principal.hostname, principal.asset.hostname | Si cef_data contient CEF , mappez les trois champs. Sinon, mappez sur principal.hostname et principal.asset.hostname . |
incident_id | security_result.threat_id, security_result.detection_fields | Mappé directement sur threat_id . Créez également un libellé avec la clé Incident ID et la valeur incident_id . |
emplacement | principal.resource.attribute.labels | Créez un libellé avec la clé Location et la valeur de location . |
match_count | security_result.detection_fields | Créez un libellé avec la clé Match Count et la valeur de match_count . |
monitor_name | additional.fields | Créez un libellé avec la clé Monitor Name et la valeur de monitor_name . |
nas_id | target.hostname, target.asset.hostname | Mappage direct. |
occurred_on | principal.labels, additional.fields | Créez un libellé avec la clé Occurred On et la valeur occurred_on pour principal.labels et additional.fields . |
policy_name | sec_result.detection_fields | Créez un libellé avec la clé policy_name et la valeur de policy_name . |
policy_rule | security_result.rule_name | Mappage direct. |
policy_severity | security_result.severity | Mappé sur severity après conversion en majuscules. Si policy_severity est INFO , mappez-le en tant que INFORMATIONAL . Si policy_severity ne correspond pas à HIGH , MEDIUM , LOW ou INFORMATIONAL , définissez severity sur UNKNOWN_SEVERITY . |
policy_violated | security_result.summary | Mappage direct. |
Protocole | network.application_protocol, target.application, sec_result.description | Si Protocol n'est pas FTP ou Endpoint , mappez-le sur network.application_protocol après l'avoir analysé à l'aide du fichier parse_app_protocol.include . Si Protocol est FTP , mappez-le sur target.application . Si Protocol est Endpoint , définissez sec_result.description sur Protocol=%{Protocol} . |
destinataire | target.user.email_addresses, about.user.email_addresses | Pour chaque adresse e-mail dans recipient , mappez-la à la fois sur target.user.email_addresses et about.user.email_addresses . |
destinataires | network.http.referral_url, target.resource.attribute.labels | Mappé directement sur network.http.referral_url . Créez également un libellé avec la clé recipients et la valeur recipients . |
reported_on | additional.fields | Créez un libellé avec la clé Reported On et la valeur de reported_on . |
règles | security_result.detection_fields | Créez un libellé avec la clé Rules et la valeur rules . |
sender | network.email.from, target.resource.attribute.labels | Si sender est une adresse e-mail valide, mappez-la sur network.email.from . Créez également un libellé avec la clé sender et la valeur sender . |
serveur | target.application | Mappage direct. |
Gravité | security_result.severity | Consultez policy_severity pour connaître la logique de mappage. |
src | principal.ip, principal.asset.ip | Mappée directement s'il s'agit d'une adresse IP valide. |
état | principal.labels, additional.fields | Créez un libellé avec la clé Status et la valeur status pour principal.labels et additional.fields . |
subject | target.resource.attribute.labels, network.email.subject | Créez un libellé avec la clé subject et la valeur de subject . Mappez également subject sur network.email.subject . |
target_type | target.resource.attribute.labels | Créez un libellé avec la clé Target Type et la valeur de target_type . |
timestamp | metadata.event_timestamp | Mappé directement après l'analyse à l'aide du filtre date . |
url | target.url | Mappage direct. |
utilisateur | target.user.userid | Mappage direct. |
user_id | principal.user.userid | Mappage direct. |
nom d'utilisateur | principal.user.userid | Mappage direct. |
N/A | metadata.product_name | Variable définie sur SYMANTEC_DLP . |
N/A | metadata.vendor_name | Variable définie sur SYMANTEC . |
N/A | metadata.event_type | Si event_type n'est pas vide, mappez-le directement. Sinon, si host n'est pas vide et que has_principal est défini sur "true", définissez la valeur sur SCAN_NETWORK . Sinon, définissez-le sur GENERIC_EVENT . |
N/A | metadata.product_event_type | Si policy_violated contient -NM- ou data contient DLP NM , définissez la valeur sur Network Monitor . Si policy_violated contient -EP- ou data contient DLP EP , définissez la valeur sur Endpoint . |
N/A | metadata.log_type | Variable définie sur SYMANTEC_DLP . |
Modifications
2025-02-04
Amélioration :
- Ajout de la compatibilité avec les journaux SYSLOG.
2025-01-08
Amélioration :
- Mappage de
ATTACHMENT_FILENAME
surprincipal.file.full_path
. - Lorsque
DATAOWNER_NAME
est présent,DATAOWNER_NAME
est mappé surprincipal.user.userid
. - Lorsque
DATAOWNER_NAME
n'est pas présent,ENDPOINT_USERNAME
est mappé surprincipal.user.userid
.
2024-12-27
Amélioration :
- Prise en charge de l'analyse du nouveau format de journal.
2024-12-04
Amélioration :
- Prise en charge de l'analyse du nouveau format de journal.
2024-11-11
Amélioration :
- Prise en charge de l'analyse du nouveau format de journal.
2024-09-05
Amélioration :
- Prise en charge de l'analyse du nouveau format de journal.
2024-06-17
Amélioration :
- Prise en charge de l'analyse du nouveau format du champ
recipients
.
2024-06-14
Amélioration :
- Ajout de la prise en charge des journaux CEF.
2024-05-16
Amélioration :
- Mappage de
dlp_type
sursecurity_result.detection_fields
.
2024-04-26
Correction de bug:
- Mappage de
recipients
surtarget.user.email_addresses
.
2024-03-10
Amélioration :
- Ajout de nouveaux modèles Grok pour analyser les journaux des nouveaux formats SYSLOG.
- Mappage de
server
surtarget.application
. - Mappage de
url
surtarget.url
. - Mappage de
dataowner_mail
surprincipal.user.email_addresses
. - Mappage de
reported_on
etmonitor_name
suradditional.fields
. - Mappage de
sender
surnetwork.email.from
. - Mappage de
subject
surnetwork.email.subject
.
2024-02-20
Amélioration :
- Mappage de
blocked
sursecurity_result.action_details
etsecurity_result.action
.
2024-01-12
Amélioration :
- Mappage de
incident_id
etDLP_EP_Incident_ID
sursecurity_result.detection_fields
. - Ajout d'un format Grok pour analyser les journaux des nouveaux formats SYSLOG.
- Mappage de
location
surprincipal.resource.attribute.labels
. - Mappage de
target_type
surtarget.resource.attribute.labels
.
2023-12-06
Amélioration :
- Ajout d'un format Grok pour analyser les journaux de nouveaux formats.
- Mappage de
application
surprincipal.application
. - Mappage de
application_name
surtarget.application
. - Mappage de
policy_name
sursecurity_result.detection_fields
.
2023-09-02
Amélioration :
- Ajout de la possibilité d'analyser les journaux d'erreur et de mapper les champs en conséquence.
2023-08-17
Amélioration :
- Mappage de
Occurred on
surprincipal.labels
. - Lorsque
act
est défini surModified
, définissezsecurity_result.action
surALLOW_WITH_MODIFICATION
. - Mappage de
status
surprincipal.labels
.
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.