Collecter les journaux Skyhigh Secure Web Gateway (anciennement McAfee Web Gateway)

Compatible avec :

Ce document explique comment ingérer les journaux Skyhigh Secure Web Gateway (anciennement McAfee Web Gateway) dans Google Security Operations à l'aide de Bindplane.

Skyhigh Secure Web Gateway est un dispositif de proxy Web sur site qui protège les entreprises contre les menaces Web en inspectant le trafic HTTP, HTTPS et FTP. Il offre des fonctionnalités de filtrage des URL, d'analyse antimalware, d'inspection SSL, de protection contre la perte de données et de contrôle des applications. L'appliance applique les règles d'accès au Web et fournit une journalisation détaillée de toute l'activité Web pour la conformité et la surveillance de la sécurité.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps.
  • Un hôte Windows 2016 ou version ultérieure, ou un hôte Linux avec systemd.
  • Si vous exécutez le programme derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts.
  • Accès privilégié à la console de gestion Skyhigh Secure Web Gateway.

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM > Agents de collecte.
  3. 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

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM > Profil.
  3. Copiez et enregistrez le numéro client de la section Informations sur l'organisation.

Installer l'agent Bindplane

Installez l'agent Bindplane sur votre système d'exploitation Windows ou Linux en suivant les instructions ci-dessous.

Installation de fenêtres

  1. Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
  2. Exécutez la commande suivante :

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Installation de Linux

  1. Ouvrez un terminal avec les droits root ou sudo.
  2. 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

  1. Accédez au fichier de configuration :

    • Trouvez le fichier config.yaml. Il se trouve généralement dans le répertoire /observiq-otel-collector/ 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).
  2. Modifiez le fichier config.yaml comme suit :

    receivers:
      tcplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/mcafee_webproxy:
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'MCAFEE_WEBPROXY'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/mcafee_webproxy_to_chronicle:
          receivers:
            - tcplog
          exporters:
            - chronicle/mcafee_webproxy
    
  • 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 avec 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 :

  1. Exécutez la commande suivante :

    sudo systemctl restart observiq-otel-collector
    
  2. Vérifiez que le service est en cours d'exécution :

    sudo systemctl status observiq-otel-collector
    
  3. Recherchez les erreurs dans les journaux :

    sudo journalctl -u observiq-otel-collector -f
    

Pour redémarrer l'agent Bindplane sous Windows :

  1. Choisissez l'une des options suivantes :

    • Invite de commande ou PowerShell en tant qu'administrateur :
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • Console Services :
      1. Appuyez sur Win+R, saisissez services.msc, puis appuyez sur Entrée.
      2. Localisez le collecteur observIQ OpenTelemetry.
      3. Effectuez un clic droit, puis sélectionnez Redémarrer.
  2. Vérifiez que le service est en cours d'exécution :

    sc query observiq-otel-collector
    
  3. Recherchez les erreurs dans les journaux :

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

Configurer le transfert syslog sur Skyhigh Secure Web Gateway

  1. Connectez-vous à la console de gestion Skyhigh Secure Web Gateway.
  2. Accédez à Règle > Paramètres > Journalisation > Syslog.
  3. Cliquez sur Ajouter pour créer une destination syslog.
  4. Fournissez les informations de configuration suivantes :
    • Serveur Syslog : saisissez l'adresse IP de l'agent Bindplane (par exemple, 192.168.1.100).
    • Port : saisissez 514.
    • Protocole : sélectionnez TCP.
    • Niveau de journalisation : sélectionnez le niveau de journalisation souhaité (par exemple, Informationnel ou supérieur).
    • Format : sélectionnez Journal d'accès aux bonnes pratiques ou le format de journal souhaité.
  5. Sélectionnez les types de journaux à transférer :
    • Journal des accès : enregistre tout le trafic Web transitant par la passerelle.
    • Journal des blocages : enregistre les requêtes bloquées.
    • Journal d'analyse : enregistre les résultats des analyses anti-malware.
  6. Cliquez sur Enregistrer les modifications.
  7. Accédez à Dépannage > Confirmer les modifications, puis cliquez sur Enregistrer les modifications pour appliquer la configuration.

Table de mappage UDM

Champ de journal Mappage UDM Logique
entry_format about Mappé : json_format → about, kv_format1 → about
deviceNtDomain about.administrative_domain Renommé/Mappé
deviceExternalId about.asset.asset_id Mappé directement
device_product about.asset.asset_id Mappé directement
device_vendor about.asset.asset_id Mappé directement
fileHash about.file.full_path Mappé directement
filePath about.file.full_path Renommé/Mappé
_hash about.file.sha256 Renommé/Mappé
fileHash about.file.sha256 Renommé/Mappé
fsize about.file.size Renommé/Mappé
dvchost about.hostname Renommé/Mappé
entry_format about.ip Mappé : json_format → ips, kv_format1 → ips
ips about.ip Fusionné
dvc_mac about.mac Mappé : slotmac_address
dvcmac about.mac Fusionné
entry_format about.mac Mappé : json_format → mac_address, json_format → dvcmac, kv_format1 → `mac_address...
mac_address about.mac Fusionné
deviceTranslatedAddress about.nat_ip Fusionné
entry_format about.nat_ip Mappé : json_format → deviceTranslatedAddress, kv_format1 → deviceTranslatedAddress
Emne about.process.command_line Mappé directement
Path about.process.command_line Mappé directement
Subject about.process.command_line Mappé directement
deviceProcessName about.process.command_line Renommé/Mappé
dvcpid about.process.pid Renommé/Mappé
entry_format about.resource.attribute.permissions Mappé : json_format → permissions, kv_format1 → permissions
permissions about.resource.attribute.permissions Fusionné
additional_cfp1 additional.fields Fusionné
additional_cfp2 additional.fields Fusionné
additional_cfp3 additional.fields Fusionné
additional_cfp4 additional.fields Fusionné
additional_cn1 additional.fields Fusionné
additional_cn2 additional.fields Fusionné
additional_cn3 additional.fields Fusionné
additional_cs1 additional.fields Fusionné
additional_cs2 additional.fields Fusionné
additional_cs3 additional.fields Fusionné
additional_cs4 additional.fields Fusionné
additional_cs5 additional.fields Fusionné
additional_cs6 additional.fields Fusionné
additional_cs7 additional.fields Fusionné
additional_devicePayloadId additional.fields Fusionné
additional_eventId additional.fields Fusionné
additional_flexString1 additional.fields Fusionné
additional_fname additional.fields Fusionné
application_name_label additional.fields Fusionné
block_id_label additional.fields Fusionné
cs2 additional.fields Mappé : arc_testadditional_cs2
cs5_label additional.fields Fusionné
entry_format additional.fields Valeurs mappées (43 au total, par exemple json_format → additional_eventId, json_format → "additio...
facility_label additional.fields Fusionné
priority_label additional.fields Fusionné
reputation_label additional.fields Fusionné
entry_format intermediary Mappé : json_format → intermediary, kv_format1 → intermediary
intermediary_hostname intermediary.hostname Mappé directement
intermediary_ip intermediary.ip Fusionné
json_entry.client_ip intermediary.ip Fusionné
_metadata metadata Renommé/Mappé
msg metadata.description Renommé/Mappé
Generated metadata.event_timestamp Analysé en tant que yyyy-MM-ddTHH:mm:ss
Received metadata.event_timestamp Analysé en tant que yyyy-MM-ddTHH:mm:ss
_timestamp metadata.event_timestamp Analysé en tant que RFC 3339
rt metadata.event_timestamp Analysé en tant que yyyy-MM-ddTHH:mm:ssZ
ts metadata.event_timestamp Analysé en tant que dd/MM/yyyy:HH:mm:ss Z
entry_format metadata.event_type Mappé : json_format → PROCESS_UNCATEGORIZED, json_format → SCAN_UNCATEGORIZED, `kv_f...
event_name metadata.event_type Mappé : "LogSpyware","LogPredictiveMachineLearning"SCAN_UNCATEGORIZED
event_type metadata.event_type Mappé directement
device_event_class_id metadata.product_event_type Mappé directement
event_name metadata.product_event_type Mappé directement
externalId metadata.product_log_id Mappé directement
device_product metadata.product_name Mappé directement
device_version metadata.product_version Mappé directement
device_vendor metadata.vendor_name Renommé/Mappé
_network network Renommé/Mappé
app_protocol_output network.application_protocol Mappé directement
proto network.application_protocol Mappé directement
proto_version network.application_protocol_version Mappé directement
deviceDirection network.direction Mappé : 0 → INBOUND, 1 → OUTBOUND
entry_format network.direction Mappé : json_format → INBOUND, json_format → OUTBOUND, kv_format1 → INBOUND, `kv...
http_method network.http.method Mappé directement
requestMethod network.http.method Renommé/Mappé
userAgent network.http.parsed_user_agent Renommé/Mappé
requestContext network.http.referral_url Mappé directement
http_response network.http.response_code Mappé directement
requestClientApplication network.http.user_agent Renommé/Mappé
userAgent network.http.user_agent Mappé directement
ip_protocol_out network.ip_protocol Mappé directement
proto network.ip_protocol Mappé directement
bytesToClient network.received_bytes Mappé directement
entry_format network.received_bytes Mappé : json_format → uinteger, kv_format1 → uinteger
in network.received_bytes Renommé/Mappé
bytesFromClient network.sent_bytes Mappé directement
entry_format network.sent_bytes Mappé : json_format → uinteger, kv_format1 → uinteger
out network.sent_bytes Renommé/Mappé
_principal principal Renommé/Mappé
sntdom principal.administrative_domain Renommé/Mappé
sourceServiceName principal.application Renommé/Mappé
clientIP principal.asset.ip Fusionné
entry_format principal.asset.ip Mappé : json_format → clientIP, json_format → principal_ip, kv_format1 → `clientIP...
principal_ip principal.asset.ip Fusionné
Group_name principal.group.group_display_name Mappé directement
Gruppenavn principal.group.group_display_name Mappé directement
Device_name principal.hostname Mappé directement
Enhetsnavn principal.hostname Mappé directement
principal_hostname principal.hostname Mappé directement
shost principal.hostname Renommé/Mappé
clientIP principal.ip Fusionné
entry_format principal.ip Valeurs mappées (6 au total, par exemple json_format → principal_ip, json_format → shost, `json_...
principal_ip principal.ip Fusionné
shost principal.ip Fusionné
entry_format principal.mac Mappé : json_format → mac, kv_format1 → mac
mac principal.mac Fusionné
entry_format principal.nat_ip Mappé : json_format → sourceTranslatedAddress, kv_format1 → sourceTranslatedAddress
sourceTranslatedAddress principal.nat_ip Fusionné
sourceTranslatedPort principal.nat_port Renommé/Mappé
spt principal.port Renommé/Mappé
sproc principal.process.command_line Renommé/Mappé
fileType principal.process.file.mime_type Mappé directement
spid principal.process.pid Renommé/Mappé
entry_format principal.user.attribute.roles Mappé : json_format → principal_role, kv_format1 → principal_role
principal_role principal.user.attribute.roles Fusionné
suser principal.user.user_display_name Mappé directement
suid principal.user.userid Renommé/Mappé
userName principal.user.userid Mappé directement
entry_format security_result Mappé : json_format → security_result, kv_format1 → security_result
_action security_result.action Fusionné
act security_result.action Mappé : accept → _action, deny → _action
action security_result.action Fusionné
cn1_Label security_result.action Mappé : Block Reasonaction
entry_format security_result.action Valeurs mappées (6 au total, par exemple json_format → _action, json_format → action, `json_form...
security_action security_result.action Fusionné
Action_Taken security_result.action_details Mappé directement
act security_result.action_details Mappé directement
_security_category security_result.category Fusionné
entry_format security_result.category Mappé : json_format → _security_category, kv_format1 → _security_category
_category_details security_result.category_details Fusionné
cat security_result.category_details Fusionné
entry_format security_result.category_details Mappé : json_format → cat, json_format → _category_details, kv_format1 → cat, `k...
sec_result_category_details security_result.category_details Fusionné
Scan_Type security_result.description Mappé directement
Type security_result.description Mappé directement
msg_data_2 security_result.description Mappé directement
entry_format security_result.detection_fields Valeurs mappées (14 au total, par exemple json_format → operation_label, json_format → `operasjon_...
infection_channel_label security_result.detection_fields Fusionné
operasjon_label security_result.detection_fields Fusionné
operation_label security_result.detection_fields Fusionné
permission_label security_result.detection_fields Fusionné
spyware_Grayware_Type_label security_result.detection_fields Fusionné
threat_probability_label security_result.detection_fields Fusionné
tillatelse_label security_result.detection_fields Fusionné
mwProfile security_result.rule_name Mappé directement
policy security_result.rule_name Mappé directement
rule_name security_result.rule_name Mappé directement
entry_format security_result.severity Valeurs mappées (8 au total, par exemple json_format → LOW, json_format → MEDIUM, json_format…)
risk security_result.severity Mappé : High Risk → HIGH, Medium Risk → MEDIUM
severity security_result.severity Mappé : "0", "1", "2", "3", "LOW" → LOW, "4", "5", "6", "MEDIUM", "SUBSTANTIAL", "INFO"…
risk security_result.severity_details Mappé directement
Result security_result.summary Mappé directement
appcategory security_result.summary Mappé directement
av_status security_result.summary Mappé directement
block_reason security_result.summary Mappé directement
content security_result.summary Mappé directement
icap_status security_result.summary Mappé directement
reason security_result.summary Renommé/Mappé
summary security_result.summary Mappé directement
Spyware security_result.threat_name Mappé directement
Unknown_Threat security_result.threat_name Mappé directement
Virus_Malware_Name security_result.threat_name Mappé directement
oldFilePath src.file.full_path Renommé/Mappé
oldFileSize src.file.size Renommé/Mappé
entry_format src.resource.attribute.permissions Mappé : json_format → old_permissions, kv_format1 → old_permissions
old_permissions src.resource.attribute.permissions Fusionné
_target target Renommé/Mappé
dntdom target.administrative_domain Renommé/Mappé
appname target.application Mappé directement
destinationServiceName target.application Renommé/Mappé
tar_host target.asset.hostname Mappé directement
tar_host target.hostname Mappé directement
target_hostname target.hostname Mappé directement
temp_dhost target.hostname Mappé directement
IPv6_Address target.ip Fusionné
dst_ip target.ip Fusionné
entry_format target.ip Mappé : json_format → dst_ip, json_format → IPv6_Address, kv_format1 → dst_ip, `...
ipv6 target.ip Mappé : -IPv6_Address
entry_format target.mac Mappé : json_format → mac_address, kv_format1 → mac_address
mac_address target.mac Fusionné
destination_translated_address target.nat_ip Fusionné
entry_format target.nat_ip Mappé : json_format → destination_translated_address, kv_format1 → `destination_transl...
destinationTranslatedPort target.nat_port Renommé/Mappé
dpt target.port Renommé/Mappé
tar_port target.port Mappé directement
dproc target.process.command_line Renommé/Mappé
File_name target.process.file.full_path Mappé directement
Infected_Resource target.process.file.full_path Mappé directement
Object target.process.file.full_path Mappé directement
Objekt target.process.file.full_path Mappé directement
dpid target.process.pid Renommé/Mappé
entry_format target.resource.attribute.labels Mappé : json_format → resource_Type_label, kv_format1 → resource_Type_label
resource_Type_label target.resource.attribute.labels Fusionné
request target.url Mappé directement
tar_host target.url Mappé directement
tar_port target.url Mappé directement
entry_format target.user.attribute.roles Mappé : json_format → target_role, kv_format1 → target_role
target_role target.user.attribute.roles Fusionné
CustomerName target.user.user_display_name Mappé directement
temp_duser target.user.user_display_name Mappé directement
Bruker target.user.userid Mappé directement
User_value target.user.userid Mappé directement
temp_duid target.user.userid Mappé directement
N/A metadata.event_type Constante : PROCESS_UNCATEGORIZED
N/A network.direction Constante : INBOUND
N/A security_result.severity Constante : LOW
url event.idm.read_only_udm.target.url Mappé à partir du journal des modifications
categories event.idm.read_only_udm.security_result.category_details Mappé à partir du journal des modifications
rt event.idm.read_only_udm.metadata.event_timestamp Mappé à partir du journal des modifications
reputationString event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
blockID event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
applicationName event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
facility event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
priority event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
userName event.idm.read_only_udm.principal.user.userid Mappé à partir du journal des modifications
appname event.idm.read_only_udm.target.application Mappé à partir du journal des modifications
http_method event.idm.read_only_udm.network.http.method Mappé à partir du journal des modifications
proto_version event.idm.read_only_udm.network.application_protocol_version Mappé à partir du journal des modifications
userAgent event.idm.read_only_udm.network.http.user_agent Mappé à partir du journal des modifications
userAgent event.idm.read_only_udm.network.http.parsed_user_agent Mappé à partir du journal des modifications
bytesFromClient event.idm.read_only_udm.network.sent_bytes Mappé à partir du journal des modifications
bytesToClient event.idm.read_only_udm.network.received_bytes Mappé à partir du journal des modifications
clientIP event.idm.read_only_udm.principal.ip Mappé à partir du journal des modifications
clientIP event.idm.read_only_udm.principal.asset.ip Mappé à partir du journal des modifications
fileType event.idm.read_only_udm.principal.process.file.mime_type Mappé à partir du journal des modifications
Type event.idm.read_only_udm.target.file.mime_type Mappé à partir du journal des modifications
sr_bytes network.send_bytes Mappé à partir du journal des modifications
requested_host" and "requested_path target.url Mappé à partir du journal des modifications
username principal.user.userid Mappé à partir du journal des modifications
destination_ip target.ip Mappé à partir du journal des modifications
destination_port target.port Mappé à partir du journal des modifications
target_ip target.ip Mappé à partir du journal des modifications

Journal des modifications

Afficher le journal des modifications pour ce parseur

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.