Collecter les journaux Check Point EDR
Ce document explique comment ingérer des journaux Check Point Antivirus dans Google Security Operations à l'aide de Bindplane. L'analyseur gère les journaux de Check Point SandBlast, en convertissant les journaux au format SYSLOG+KV et SYSLOG+CEF dans le modèle de données unifié (UDM). L'analyseur extrait les champs des messages CEF à l'aide des modules inclus et les mappe aux champs UDM, en gérant différents types d'événements et en enrichissant les données avec un contexte supplémentaire provenant des journaux bruts. Pour les messages non CEF, l'analyseur utilise l'extraction de paires clé-valeur, les modèles Grok et la logique conditionnelle pour mapper les champs pertinents au schéma UDM EDR.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Instance Google SecOps
- Windows 2016 ou version ultérieure, ou un 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é à l'appliance Check Point avec SandBlast
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
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 Syslog et l'envoyer à 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 (par exemple,
nano
,vi
ou le Bloc-notes).
- Recherchez 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: 'CHECKPOINT_EDR' 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 la gamme d'appliances Checkpoint 1500
- Connectez-vous à l'appliance Checkpoint.
- Accédez à Journaux et surveillance> Serveurs de journaux> Serveurs Syslog.
- Cliquez sur Configurer.
- Fournissez les informations de configuration suivantes :
- Protocole : sélectionnez UDP.
- Nom : saisissez un nom descriptif.
- Adresse IP : saisissez l'adresse IP de l'agent Bindplane.
- Port : saisissez le numéro de port de l'agent Bindplane.
- Sélectionnez Activer le serveur de journaux.
- Sélectionnez les journaux à transférer : journaux système et de sécurité.
- Cliquez sur Appliquer.
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
action |
event.idm.read_only_udm.security_result.action |
Mappé directement à partir du champ CEF action . |
action_comment |
event.idm.read_only_udm.additional.fields[<N>].key : action_comment event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de action_comment |
Mappé directement à partir du champ action_comment . |
action_details |
event.idm.read_only_udm.security_result.action_details |
Mappé directement à partir du champ CEF action_details . |
additional_info |
event.idm.read_only_udm.additional.fields[<N>].key : additional_info event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de additional_info |
Mappé directement à partir du champ additional_info . |
am_update_proxy |
event.idm.read_only_udm.intermediary.domain.name |
Mappé directement à partir du champ am_update_proxy . |
am_update_source |
event.idm.read_only_udm.target.url |
Mappé directement à partir du champ am_update_source . |
client_version |
event.idm.read_only_udm.metadata.product_version |
Mappé directement à partir du champ client_version . |
cn1 |
event.idm.read_only_udm.security_result.severity |
Mappé à partir du champ CEF cn1 et converti en valeurs de gravité UDM (CRITICAL, HIGH, MEDIUM, LOW, INFO). |
cs1 |
event.idm.read_only_udm.additional.fields[<N>].key : Connectivity State event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de cs1 |
Mappé directement à partir du champ cs1 . |
description |
event.idm.read_only_udm.metadata.description |
Mappé directement à partir du champ CEF description . |
deviceDirection |
event.idm.read_only_udm.network.direction |
Mappé à partir du champ deviceDirection . La valeur 0 est mappée sur INBOUND , mais les autres valeurs ne le sont pas. |
deviceFacility |
event.idm.read_only_udm.additional.fields[<N>].key : deviceFacility event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de deviceFacility |
Mappé directement à partir du champ deviceFacility . |
dst |
event.idm.read_only_udm.network.target.ip |
Directement mappé à partir du champ dst lorsque event_type est défini sur Firewall . |
engine_ver |
event.idm.read_only_udm.additional.fields[<N>].key : engine_ver event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de engine_ver |
Mappé directement à partir du champ engine_ver . |
ep_rule_id |
event.idm.read_only_udm.firewall.firewall_rule_id |
Directement mappé à partir du champ ep_rule_id lorsque event_type est défini sur Firewall . |
event_type |
event.idm.read_only_udm.metadata.product_event_type |
Mappé directement à partir du champ CEF event_type . |
failed_updates |
event.idm.read_only_udm.additional.fields[<N>].key : failed_updates event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de failed_updates |
Mappé directement à partir du champ failed_updates . |
file_md5 |
event.idm.read_only_udm.source_file.hash_md5 |
Directement mappé à partir du champ file_md5 lorsque event_type est défini sur TE Event . |
file_name |
event.idm.read_only_udm.source_file.file_name |
Directement mappé à partir du champ file_name lorsque event_type est défini sur TE Event . |
file_sha1 |
event.idm.read_only_udm.source_file.hash_sha1 |
Directement mappé à partir du champ file_sha1 lorsque event_type est défini sur TE Event . |
file_sha256 |
event.idm.read_only_udm.source_file.hash_sha256 |
Directement mappé à partir du champ file_sha256 lorsque event_type est défini sur TE Event . |
host_type |
event.idm.read_only_udm.principal.asset.type |
Mappé à partir du champ host_type . Desktop est converti en WORKSTATION , puis la valeur est mise en majuscules. |
ifdir |
event.idm.read_only_udm.network.direction |
Directement mappé à partir du champ ifdir et mis en majuscules lorsque event_type est défini sur Firewall . |
installed_products |
event.idm.read_only_udm.principal.asset.software.name |
Mappé directement à partir du champ installed_products . |
is_scanned |
sec_res.detection_fields[<N>].key : is_scanned sec_res.detection_fields[<N>].value : valeur de is_scanned |
Mappé directement à partir du champ is_scanned . |
local_time |
event.idm.read_only_udm.additional.fields[<N>].key : local_time event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de local_time |
Mappé directement à partir du champ local_time . |
log_type |
event.idm.read_only_udm.metadata.log_type |
Mappé directement à partir du champ log_type . |
loguid |
event.idm.read_only_udm.metadata.product_log_id |
Mappé directement à partir du champ loguid . |
machine_guid |
event.idm.read_only_udm.principal.asset.product_object_id |
Mappé directement à partir du champ machine_guid . |
media_authorized |
event.idm.read_only_udm.additional.fields[<N>].key : media_authorized event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de media_authorized |
Mappé directement à partir du champ media_authorized . |
media_class_id |
event.idm.read_only_udm.additional.fields[<N>].key : media_class_id event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de media_class_id |
Mappé directement à partir du champ media_class_id . |
media_description |
event.idm.read_only_udm.additional.fields[<N>].key : media_description event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de media_description |
Mappé directement à partir du champ media_description . |
media_encrypted |
event.idm.read_only_udm.additional.fields[<N>].key : media_encrypted event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de media_encrypted |
Mappé directement à partir du champ media_encrypted . |
media_manufacturer |
event.idm.read_only_udm.additional.fields[<N>].key : media_manufacturer event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de media_manufacturer |
Mappé directement à partir du champ media_manufacturer . |
media_type |
event.idm.read_only_udm.additional.fields[<N>].key : media_type event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de media_type |
Mappé directement à partir du champ media_type . |
msg |
event.idm.read_only_udm.metadata.description |
Mappé directement à partir du champ CEF msg . |
origin |
event.idm.read_only_udm.about.ip |
Mappé directement à partir du champ CEF origin . |
os_name |
event.idm.read_only_udm.additional.fields[<N>].key : os_name event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de os_name |
Mappé directement à partir du champ os_name . |
os_version |
event.idm.read_only_udm.principal.asset.platform_software.platform_version |
Mappé directement à partir du champ os_version . |
policy_date |
event.idm.read_only_udm.additional.fields[<N>].key : policy_date event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de policy_date |
Mappé directement à partir du champ policy_date . |
policy_guid |
event.idm.read_only_udm.principal.resource.product_object_id |
Mappé directement à partir du champ policy_guid . |
policy_name |
event.idm.read_only_udm.principal.resource.name |
Mappé directement à partir du champ policy_name . |
policy_number |
event.idm.read_only_udm.principal.resource.product_object_id |
Mappé directement à partir du champ policy_number . |
policy_type |
event.idm.read_only_udm.additional.fields[<N>].key : policy_type event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de policy_type |
Mappé directement à partir du champ policy_type . |
policy_version |
event.idm.read_only_udm.additional.fields[<N>].key : policy_version event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de policy_version |
Mappé directement à partir du champ policy_version . |
product |
event.idm.read_only_udm.metadata.product_name |
Mappé directement à partir du champ CEF product . |
proto |
event.idm.read_only_udm.network.protocol |
Directement mappé à partir du champ proto lorsque event_type est défini sur Firewall . |
reading_data_access |
event.idm.read_only_udm.additional.fields[<N>].key : reading_data_access event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de reading_data_access |
Mappé directement à partir du champ reading_data_access . |
requestClientApplication |
event.idm.read_only_udm.network.http.user_agent |
Mappé directement à partir du champ requestClientApplication . |
result |
event.idm.read_only_udm.security_result.summary |
Mappé directement à partir du champ result . |
rt |
event.idm.read_only_udm.metadata.event_timestamp.seconds |
Mappé à partir du champ rt , divisé par 1 000, et la partie entière est considérée comme des secondes. |
rule_name |
event.idm.read_only_udm.firewall.firewall_rule |
Directement mappé à partir du champ rule_name lorsque event_type est défini sur Firewall . |
s_port |
event.idm.read_only_udm.network.client.port |
Directement mappé à partir du champ s_port lorsque event_type est défini sur Firewall . |
sequencenum |
event.idm.read_only_udm.additional.fields[<N>].key : sequencenum event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de sequencenum |
Mappé directement à partir du champ sequencenum . |
service |
event.idm.read_only_udm.network.target.port |
Directement mappé à partir du champ service lorsque event_type est défini sur Firewall . |
severity |
event.idm.read_only_udm.security_result.severity |
Mappé à partir du champ severity et converti en valeurs de gravité UDM (CRITICAL, HIGH, MEDIUM, LOW, INFO). |
shost |
event.idm.read_only_udm.principal.hostname |
Mappé directement à partir du champ CEF shost . |
sig_ver |
event.idm.read_only_udm.additional.fields[<N>].key : sig_ver event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de sig_ver |
Mappé directement à partir du champ sig_ver . |
src |
event.idm.read_only_udm.principal.ip |
Mappé directement à partir du champ CEF src . |
src_machine_name |
event.idm.read_only_udm.principal.hostname |
Directement mappé à partir du champ src_machine_name lorsque event_type est vide. |
subject |
event.idm.read_only_udm.task.task_name |
Directement mappé à partir du champ subject lorsque event_type est vide. |
suser |
event.idm.read_only_udm.principal.user.user_display_name |
Mappé directement à partir du champ CEF suser . |
time |
event.idm.read_only_udm.metadata.event_timestamp.seconds |
Directement mappé à partir du champ time et converti en secondes de l'epoch Unix. |
user_name |
event.idm.read_only_udm.principal.user.email_addresses |
Mappé directement à partir du champ CEF user_name . |
user_sid |
event.idm.read_only_udm.principal.user.windows_sid |
Mappé directement à partir du champ user_sid . |
version |
event.idm.read_only_udm.additional.fields[<N>].key : version event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de version |
Mappé directement à partir du champ version . |
writing_data_access |
event.idm.read_only_udm.additional.fields[<N>].key : writing_data_access event.idm.read_only_udm.additional.fields[<N>].value.string_value : valeur de writing_data_access |
Mappé directement à partir du champ writing_data_access . |
N/A | event.idm.read_only_udm.metadata.event_type |
Définissez sur GENERIC_EVENT si aucun des éléments principal.ip , principal.hostname ou principal.mac n'est présent dans le journal brut, sinon définissez sur STATUS_UPDATE . |
N/A | event.idm.read_only_udm.metadata.vendor_name |
Valeur constante : Check Point . |
N/A | event.idm.read_only_udm.metadata.log_type |
Valeur constante : CHECKPOINT_EDR . |
N/A | event.idm.read_only_udm.principal.asset.platform_software.platform |
Définie sur WINDOWS si os_name contient WINDOWS ou Windows . |
N/A | event.idm.read_only_udm.network.http.user_agent |
Définie sur Check Point Endpoint Security Client si requestClientApplication est présent. |
N/A | event.edr.data_source |
Valeur constante : CHECKPOINT_SANDBLAST lorsque message ne contient pas CEF . |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.