Collecter les journaux du proxy Web Netskope
Cet analyseur gère les journaux de proxy Web Netskope au format CEF et non CEF. Il extrait des champs, effectue des transformations de données (par exemple, convertit des codes temporels ou fusionne des champs), les met en correspondance avec l'UDM et ajoute des métadonnées spécifiques à Netskope. L'analyseur utilise une logique conditionnelle pour gérer différents formats de journaux et la disponibilité des champs, enrichissant l'UDM de détails pertinents sur le réseau, la sécurité et les applications.
Avant de commencer
- Assurez-vous de disposer d'une instance Google Security Operations.
- Assurez-vous de disposer d'un accès privilégié à Netskope.
- Assurez-vous de disposer d'un module Log Shipper configuré.
- Assurez-vous de disposer d'une clé de compte de service Google SecOps (contactez l'équipe Google SecOps pour obtenir un compte de service avec les champs d'application suivants: https://www.googleapis.com/auth/malachite-ingestion).
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.
Configurer le locataire Netskope dans CE
- Accédez à Paramètres > Général.
- Activez l'option Log Shipper (Expéditeur de journaux).
- Dans Settings (Paramètres), accédez à Netskope Tenants (Tenants Netskope).
- Si aucun locataire n'est configuré, cliquez sur Ajouter un locataire.
- Saisissez les valeurs suivantes :
- Nom: attribuez un nom facile à retenir à votre locataire.
- Nom du locataire: saisissez le nom réel de votre locataire Netskope.
- Jeton d'API V2: saisissez votre jeton d'API Netskope.
- Filtres d'alerte: ajoutez les alertes du proxy Web que vous souhaitez ingérer.
- Plage initiale: saisissez la quantité de données historiques que vous souhaitez ingérer (en jours).
- Cliquez sur Enregistrer.
Configurer le plug-in CLS Netskope
- Accédez à Paramètres > Modules complémentaires.
- Recherchez et sélectionnez la case Netskope (CLS) pour ouvrir la page de création du plug-in.
- Saisissez les informations suivantes :
- Configuration Name (Nom de la configuration) : saisissez un nom facile à retenir pour ce plug-in.
- Tenant (Tenant) : sélectionnez le locataire que vous avez créé à l'étape précédente dans la liste.
- Cliquez sur Suivant.
- Mettez à jour la liste Type d'événement si nécessaire.
- Plage initiale: saisissez la quantité de données historiques que vous souhaitez ingérer (en heures).
- Cliquez sur Enregistrer.
Configurer un plug-in Google SecOps dans Netskope
- Accédez à Paramètres > Modules complémentaires.
- Recherchez et sélectionnez la case Chronicle (CLS) pour ouvrir la page de création du plug-in.
- Saisissez les informations suivantes :
- Configuration Name (Nom de la configuration) : saisissez un nom pour ce plug-in.
- Mappage: laissez la sélection par défaut.
- Activez ON
When enabled logs will be transformed using the selected mapping file
. - Cliquez sur Suivant.
- Région: sélectionnez la région de votre Google SecOps.
- URL de la région personnalisée: paramètre facultatif qui n'est requis que si l'option Région personnalisée a été sélectionnée à l'étape précédente.
- Clé de compte de service: saisissez la clé JSON fournie par Google SecOps.
- Numéro client: saisissez le numéro client de votre locataire Google SecOps.
- Cliquez sur Enregistrer.
Configurer une règle métier de l'expéditeur de journaux pour Google SecOps
- Accédez à Log Shipper > Règles métier.
- Par défaut, une règle métier filtre toutes les alertes et tous les événements.
- Si vous souhaitez filtrer un type d'alerte ou d'événement spécifique, cliquez sur Créer une règle, puis configurez une règle métier en ajoutant son nom et son filtre.
- Cliquez sur Enregistrer.
Configurer les mappages SIEM de Log Shipper pour Google SecOps
- Accédez à Log Shipper > Mappages SIEM.
- Cliquez sur Ajouter un mappage SIEM.
- Saisissez les informations suivantes :
- Source Configuration (Source de configuration) : sélectionnez le plug-in CLS Netskope.
- Configuration de la destination: sélectionnez le plug-in Google SecOps.
- Règle métier: sélectionnez la règle que vous avez créée précédemment.
- Cliquez sur Enregistrer.
Valider l'extraction et le workflow des événements et des alertes dans Netskope
- Accédez à Journalisation dans Netskope Cloud Exchange.
- Recherchez les journaux extraits.
- Dans Journalisation, recherchez les événements et les alertes ingérés à l'aide du filtre message contains ingested (Le message contient "ingéré").
- Les journaux ingérés seront filtrés.
Tableau de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
applicationType |
security_result.detection_fields[].key : "applicationType"security_result.detection_fields[].value : applicationType |
Mappé directement à partir du champ CEF correspondant. |
appcategory |
security_result.category_details[] : appcategory |
Mappé directement à partir du champ CEF correspondant. |
browser |
security_result.detection_fields[].key : "browser"security_result.detection_fields[].value : browser |
Mappé directement à partir du champ CEF correspondant. |
c-ip |
principal.asset.ip[] : c-ip principal.ip[] : c-ip |
Mappé directement à partir du champ JSON correspondant. |
cci |
security_result.detection_fields[].key : "cci"security_result.detection_fields[].value : cci |
Mappé directement à partir du champ CEF correspondant. |
ccl |
security_result.confidence : valeur dérivéesecurity_result.confidence_details : ccl |
security_result.confidence est dérivé de la valeur de ccl : "excellent" ou "high" correspond à HIGH_CONFIDENCE , "medium" correspond à MEDIUM_CONFIDENCE , "low" ou "poor" correspond à LOW_CONFIDENCE , et "unknown" ou "not_defined" correspond à UNKNOWN_CONFIDENCE .security_result.confidence_details est mappé directement à partir de ccl . |
clientBytes |
network.sent_bytes : clientBytes |
Mappé directement à partir du champ CEF correspondant. |
cs-access-method |
additional.fields[].key : "accessMethod"additional.fields[].value.string_value : cs-access-method |
Mappé directement à partir du champ JSON correspondant. |
cs-app |
additional.fields[].key : "x-cs-app"additional.fields[].value.string_value : cs-app principal.application : cs-app |
Mappé directement à partir du champ JSON correspondant. |
cs-app-activity |
additional.fields[].key : "x-cs-app-activity"additional.fields[].value.string_value : cs-app-activity |
Mappé directement à partir du champ JSON correspondant. |
cs-app-category |
additional.fields[].key : "x-cs-app-category"additional.fields[].value.string_value : cs-app-category |
Mappé directement à partir du champ JSON correspondant. |
cs-app-cci |
additional.fields[].key : "x-cs-app-cci"additional.fields[].value.string_value : cs-app-cci |
Mappé directement à partir du champ JSON correspondant. |
cs-app-ccl |
additional.fields[].key : "x-cs-app-ccl"additional.fields[].value.string_value : cs-app-ccl |
Mappé directement à partir du champ JSON correspondant. |
cs-app-from-user |
additional.fields[].key : "x-cs-app-from-user"additional.fields[].value.string_value : cs-app-from-user principal.user.email_addresses[] : cs-app-from-user |
Mappé directement à partir du champ JSON correspondant. |
cs-app-instance-id |
additional.fields[].key : "x-cs-app-instance-id"additional.fields[].value.string_value : cs-app-instance-id |
Mappé directement à partir du champ JSON correspondant. |
cs-app-object-name |
additional.fields[].key : "x-cs-app-object-name"additional.fields[].value.string_value : cs-app-object-name |
Mappé directement à partir du champ JSON correspondant. |
cs-app-object-type |
additional.fields[].key : "x-cs-app-object-type"additional.fields[].value.string_value : cs-app-object-type |
Mappé directement à partir du champ JSON correspondant. |
cs-app-suite |
additional.fields[].key : "x-cs-app-suite"additional.fields[].value.string_value : cs-app-suite |
Mappé directement à partir du champ JSON correspondant. |
cs-app-tags |
additional.fields[].key : "x-cs-app-tags"additional.fields[].value.string_value : cs-app-tags |
Mappé directement à partir du champ JSON correspondant. |
cs-bytes |
network.sent_bytes : cs-bytes |
Mappé directement à partir du champ JSON correspondant. |
cs-content-type |
additional.fields[].key : "sc-content-type"additional.fields[].value.string_value : cs-content-type |
Mappé directement à partir du champ JSON correspondant. |
cs-dns |
target.asset.hostname[] : cs-dns target.hostname : cs-dns |
Mappé directement à partir du champ JSON correspondant. |
cs-host |
target.asset.hostname[] : cs-host target.hostname : cs-host |
Mappé directement à partir du champ JSON correspondant. |
cs-method |
network.http.method : cs-method |
Mappé directement à partir du champ JSON correspondant. |
cs-referer |
network.http.referral_url : cs-referer |
Mappé directement à partir du champ JSON correspondant. |
cs-uri |
additional.fields[].key : "cs-uri"additional.fields[].value.string_value : cs-uri |
Mappé directement à partir du champ JSON correspondant. |
cs-uri-path |
additional.fields[].key : "x-cs-uri-path"additional.fields[].value.string_value : cs-uri-path |
Mappé directement à partir du champ JSON correspondant. |
cs-uri-port |
additional.fields[].key : "cs-uri-port"additional.fields[].value.string_value : cs-uri-port |
Mappé directement à partir du champ JSON correspondant. |
cs-uri-scheme |
network.application_protocol : cs-uri-scheme |
Mappé directement à partir du champ JSON correspondant après conversion en majuscules. |
cs-user-agent |
network.http.parsed_user_agent : user-agent analysénetwork.http.user_agent : cs-user-agent |
network.http.parsed_user_agent est dérivé de l'analyse du champ cs-user-agent à l'aide du filtre "parseduseragent". |
cs-username |
principal.user.userid : cs-username |
Mappé directement à partir du champ JSON correspondant. |
date |
metadata.event_timestamp.seconds : secondes d'epoch à partir des champs date et time metadata.event_timestamp.nanos : 0 |
La date et l'heure sont combinées et converties en secondes et nanosecondes d'epoch. Les nanosecondes sont définies sur 0. |
device |
intermediary.hostname : device |
Mappé directement à partir du champ CEF correspondant. |
dst |
target.ip[] : dst |
Mappé directement à partir du champ CEF correspondant. |
dst_country |
target.location.country_or_region : dst_country |
Mappé directement à partir du champ grokked correspondant. |
dst_ip |
target.asset.ip[] : dst_ip target.ip[] : dst_ip |
Mappé directement à partir du champ grokked correspondant. |
dst_location |
target.location.city : dst_location |
Mappé directement à partir du champ grokked correspondant. |
dst_region |
target.location.state : dst_region |
Mappé directement à partir du champ grokked correspondant. |
dst_zip |
Non mappé | Ce champ n'est pas mappé à l'UDM. |
duser |
target.user.email_addresses[] : duser target.user.user_display_name : duser |
Mappé directement à partir du champ CEF correspondant. |
dvchost |
about.hostname : dvchost target.asset.hostname[] : dvchost target.hostname : dvchost |
Mappé directement à partir du champ CEF correspondant. |
event_timestamp |
metadata.event_timestamp.seconds : event_timestamp |
Mappé directement à partir du champ grokked correspondant. |
hostname |
target.asset.hostname[] : hostname target.hostname : hostname |
Mappé directement à partir du champ CEF correspondant. |
IncidentID |
security_result.detection_fields[].key : "IncidentID"security_result.detection_fields[].value : IncidentID |
Mappé directement à partir du champ CEF correspondant. |
intermediary |
intermediary : intermediary |
Mappé directement à partir du champ CEF correspondant. |
md5 |
target.file.md5 : md5 |
Mappé directement à partir du champ CEF correspondant. |
message |
Divers champs UDM | Le champ message est analysé en fonction de son contenu (s'il contient "CEF"). Si c'est le cas, il est traité comme un journal CEF. Sinon, il est analysé en tant que chaîne délimitée par des espaces ou en tant que JSON. Pour en savoir plus, consultez la section "Logique d'analyse". |
mime_type1 |
Non mappé | Ce champ n'est pas mappé à l'UDM. |
mime_type2 |
Non mappé | Ce champ n'est pas mappé à l'UDM. |
mwDetectionEngine |
additional.fields[].key : "mwDetectionEngine"additional.fields[].value.string_value : mwDetectionEngine |
Mappé directement à partir du champ CEF correspondant. |
mwType |
metadata.description : mwType |
Mappé directement à partir du champ CEF correspondant. |
os |
principal.platform : valeur dérivée |
La plate-forme est dérivée du champ os : "Windows" est mappé sur WINDOWS , "MAC" sur MAC et "LINUX" sur LINUX . |
page |
network.http.referral_url : page |
Mappé directement à partir du champ CEF correspondant. |
port |
Non mappé | Ce champ n'est pas mappé à l'UDM. |
referer |
network.http.referral_url : referer |
Mappé directement à partir du champ CEF correspondant. |
requestClientApplication |
network.http.parsed_user_agent : user-agent analysénetwork.http.user_agent : requestClientApplication |
network.http.parsed_user_agent est dérivé de l'analyse du champ requestClientApplication à l'aide du filtre "parseduseragent". |
request_method |
network.http.method : request_method |
Mappé directement à partir du champ grokked correspondant. |
request_protocol |
Non mappé | Ce champ n'est pas mappé à l'UDM. |
rs-status |
additional.fields[].key : "rs-status"additional.fields[].value.string_value : rs-status network.http.response_code : rs-status |
Mappé directement à partir du champ JSON correspondant. |
s-ip |
target.asset.ip[] : s-ip target.ip[] : s-ip |
Mappé directement à partir du champ JSON correspondant. |
sc-bytes |
network.received_bytes : sc-bytes |
Mappé directement à partir du champ JSON correspondant. |
sc-content-type |
additional.fields[].key : "sc-content-type"additional.fields[].value.string_value : sc-content-type |
Mappé directement à partir du champ JSON correspondant. |
sc-status |
network.http.response_code : sc-status |
Mappé directement à partir du champ JSON correspondant. |
serverBytes |
network.received_bytes : serverBytes |
Mappé directement à partir du champ CEF correspondant. |
sha256 |
target.file.sha256 : sha256 |
Mappé directement à partir du champ CEF correspondant. |
src |
principal.ip[] : src |
Mappé directement à partir du champ CEF correspondant. |
src_country |
principal.location.country_or_region : src_country |
Mappé directement à partir du champ grokked correspondant. |
src_ip |
principal.asset.ip[] : src_ip principal.ip[] : src_ip |
Mappé directement à partir du champ grokked correspondant. |
src_latitude |
Non mappé | Ce champ n'est pas mappé à l'UDM. |
src_location |
principal.location.city : src_location |
Mappé directement à partir du champ grokked correspondant. |
src_longitude |
Non mappé | Ce champ n'est pas mappé à l'UDM. |
src_region |
principal.location.state : src_region |
Mappé directement à partir du champ grokked correspondant. |
src_zip |
Non mappé | Ce champ n'est pas mappé à l'UDM. |
suser |
principal.user.user_display_name : suser |
Mappé directement à partir du champ CEF correspondant. |
target_host |
target.asset.hostname[] : target_host target.hostname : target_host |
Mappé directement à partir du champ grokked correspondant. |
time |
metadata.event_timestamp.seconds : secondes d'epoch à partir des champs date et time metadata.event_timestamp.nanos : 0 |
La date et l'heure sont combinées et converties en secondes et nanosecondes d'epoch. Les nanosecondes sont définies sur 0. |
timestamp |
metadata.event_timestamp.seconds : timestamp |
Mappé directement à partir du champ CEF correspondant. |
ts |
metadata.event_timestamp.seconds : secondes depuis l'epoch à partir de ts metadata.event_timestamp.nanos : 0 |
Le code temporel est converti en secondes et nanosecondes d'epoch. Les nanosecondes sont définies sur 0. |
url |
target.url : url |
Mappé directement à partir du champ CEF correspondant. |
user_agent |
network.http.parsed_user_agent : user-agent analysénetwork.http.user_agent : user_agent |
network.http.parsed_user_agent est dérivé de l'analyse du champ user_agent à l'aide du filtre "parseduseragent". |
user_ip |
Non mappé | Ce champ n'est pas mappé à l'UDM. |
user_key |
principal.user.email_addresses[] : user_key |
Mappé directement à partir du champ grokked correspondant. |
version |
Non mappé | Ce champ n'est pas mappé à l'UDM. |
x-c-browser |
additional.fields[].key : "x-c-browser"additional.fields[].value.string_value : x-c-browser |
Mappé directement à partir du champ JSON correspondant. |
x-c-browser-version |
additional.fields[].key : "x-c-browser-version"additional.fields[].value.string_value : x-c-browser-version |
Mappé directement à partir du champ JSON correspondant. |
x-c-country |
principal.location.country_or_region : x-c-country |
Mappé directement à partir du champ JSON correspondant. |
x-c-device |
additional.fields[].key : "x-c-device"additional.fields[].value.string_value : x-c-device |
Mappé directement à partir du champ JSON correspondant. |
x-c-latitude |
principal.location.region_coordinates.latitude : x-c-latitude |
Mappé directement à partir du champ JSON correspondant. |
x-c-local-time |
security_result.detection_fields[].key : "x-c-local-time"security_result.detection_fields[].value : x-c-local-time |
Mappé directement à partir du champ JSON correspondant. |
x-c-location |
principal.location.name : x-c-location |
Mappé directement à partir du champ JSON correspondant. |
x-c-longitude |
principal.location.region_coordinates.longitude : x-c-longitude |
Mappé directement à partir du champ JSON correspondant. |
x-c-os |
principal.platform : valeur dérivée |
La plate-forme est dérivée du champ x-c-os : "Windows" est mappé sur WINDOWS , "MAC" sur MAC et "LINUX" sur LINUX . |
x-c-region |
principal.location.state : x-c-region |
Mappé directement à partir du champ JSON correspondant. |
x-c-zipcode |
additional.fields[].key : "x-c-zipcode"additional.fields[].value.string_value : x-c-zipcode |
Mappé directement à partir du champ JSON correspondant. |
x-category |
additional.fields[].key : "x-category"additional.fields[].value.string_value : x-category |
Mappé directement à partir du champ JSON correspondant. |
x-category-id |
additional.fields[].key : "x-category-id"additional.fields[].value.string_value : x-category-id |
Mappé directement à partir du champ JSON correspondant. |
x-cs-access-method |
additional.fields[].key : "accessMethod"additional.fields[].value.string_value : x-cs-access-method |
Mappé directement à partir du champ JSON correspondant. |
x-cs-app |
principal.application : x-cs-app additional.fields[].key : "x-cs-app"additional.fields[].value.string_value : x-cs-app |
Mappé directement à partir du champ JSON correspondant. |
x-cs-app-activity |
additional.fields[].key : "x-cs-app-activity"additional.fields[].value.string_value : x-cs-app-activity |
Mappé directement à partir du champ JSON correspondant. |
x-cs-app-category |
additional.fields[].key : "x-cs-app-category"additional.fields[].value.string_value : x-cs-app-category |
Mappé directement à partir du champ JSON correspondant. |
x-cs-app-cci |
additional.fields[].key : "x-cs-app-cci"additional.fields[].value.string_value : x-cs-app-cci |
Mappé directement à partir du champ JSON correspondant. |
x-cs-app-from-user |
additional.fields[].key : "x-cs-app-from-user"additional.fields[].value.string_value : x-cs-app-from-user |
Mappé directement à partir du champ JSON correspondant. |
x-cs-app-object-id |
additional.fields[].key : "x-cs-app-object-id"additional.fields[].value.string_value : x-cs-app-object-id |
Mappé directement à partir du champ JSON correspondant. |
x-cs-app-object-name |
additional.fields[].key : "x-cs-app-object-name"additional.fields[].value.string_value : x-cs-app-object-name |
Mappé directement à partir du champ JSON correspondant. |
x-cs-app-object-type |
additional.fields[].key : "x-cs-app-object-type"additional.fields[].value.string_value : x-cs-app-object-type |
Mappé directement à partir du champ JSON correspondant. |
x-cs-app-suite |
additional.fields[].key : "x-cs-app-suite"additional.fields[].value.string_value : x-cs-app-suite |
Mappé directement à partir du champ JSON correspondant. |
x-cs-app-tags |
additional.fields[].key : "x-cs-app-tags"additional.fields[].value.string_value : x-cs-app-tags |
Mappé directement à partir du champ JSON correspondant. |
x-cs-app-to-user |
additional.fields[].key : "x-cs-app-to-user"additional.fields[].value.string_value : x-cs-app-to-user |
Mappé directement à partir du champ JSON correspondant. |
x-cs-dst-ip |
security_result.detection_fields[].key : "x-cs-dst-ip"security_result.detection_fields[].value : x-cs-dst-ip target.asset.ip[] : x-cs-dst-ip target.ip[] : x-cs-dst-ip |
Mappé directement à partir du champ JSON correspondant. |
x-cs-dst-port |
security_result.detection_fields[].key : "x-cs-dst-port"security_result.detection_fields[].value : x-cs-dst-port target.port : x-cs-dst-port |
Mappé directement à partir du champ JSON correspondant. |
x-cs-http-version |
security_result.detection_fields[].key : "x-cs-http-version"security_result.detection_fields[].value : x-cs-http-version |
Mappé directement à partir du champ JSON correspondant. |
x-cs-page-id |
additional.fields[].key : "x-cs-page-id"additional.fields[].value.string_value : x-cs-page-id |
Mappé directement à partir du champ JSON correspondant. |
x-cs-session-id |
network.session_id : x-cs-session-id |
Mappé directement à partir du champ JSON correspondant. |
x-cs-site |
additional.fields[].key : "x-cs-site"additional.fields[].value.string_value : x-cs-site |
Mappé directement à partir du champ JSON correspondant. |
x-cs-sni |
network.tls.client.server_name : x-cs-sni |
Mappé directement à partir du champ JSON correspondant. |
x-cs-src-ip |
principal.asset.ip[] : x-cs-src-ip principal.ip[] : x-cs-src-ip security_result.detection_fields[].key : "x-cs-src-ip"security_result.detection_fields[].value : x-cs-src-ip |
Mappé directement à partir du champ JSON correspondant. |
x-cs-src-ip-egress |
principal.asset.ip[] : x-cs-src-ip-egress principal.ip[] : x-cs-src-ip-egress security_result.detection_fields[].key : "x-cs-src-ip-egress"security_result.detection_fields[].value : x-cs-src-ip-egress |
Mappé directement à partir du champ JSON correspondant. |
x-cs-src-port |
principal.port : x-cs-src-port security_result.detection_fields[].key : "x-cs-src-port"security_result.detection_fields[].value : x-cs-src-port |
Mappé directement à partir du champ JSON correspondant. |
x-cs-ssl-cipher |
network.tls.cipher : x-cs-ssl-cipher |
Mappé directement à partir du champ JSON correspondant. |
x-cs-ssl-fronting-error |
security_result.detection_fields[].key : "x-cs-ssl-fronting-error"security_result.detection_fields[].value : x-cs-ssl-fronting-error |
Mappé directement à partir du champ JSON correspondant. |
x-cs-ssl-handshake-error |
security_result.detection_fields[].key : "x-cs-ssl-handshake-error"security_result.detection_fields[].value : x-cs-ssl-handshake-error |
Mappé directement à partir du champ JSON correspondant. |
x-cs-ssl-ja3 |
network.tls.client.ja3 : x-cs-ssl-ja3 |
Mappé directement à partir du champ JSON correspondant. |
x-cs-ssl-version |
network.tls.version : x-cs-ssl-version |
Mappé directement à partir du champ JSON correspondant. |
x-cs-timestamp |
metadata.event_timestamp.seconds : x-cs-timestamp |
Mappé directement à partir du champ JSON correspondant. |
x-cs-traffic-type |
additional.fields[].key : "trafficType"additional.fields[].value.string_value : x-cs-traffic-type |
Mappé directement à partir du champ JSON correspondant. |
x-cs-tunnel-src-ip |
security_result.detection_fields[].key : "x-cs-tunnel-src-ip"security_result.detection_fields[].value : x-cs-tunnel-src-ip |
Mappé directement à partir du champ JSON correspondant. |
x-cs-uri-path |
additional.fields[].key : "x-cs-uri-path"additional.fields[].value.string_value : x-cs-uri-path |
Mappé directement à partir du champ JSON correspondant. |
x-cs-url |
target.url : x-cs-url |
Mappé directement à partir du champ JSON correspondant. |
x-cs-userip |
security_result.detection_fields[].key : "x-cs-userip"security_result.detection_fields[].value : x-cs-userip |
Mappé directement à partir du champ JSON correspondant. |
x-other-category |
security_result.category_details[] : x-other-category |
Mappé directement à partir du champ JSON correspondant. |
x-other-category-id |
security_result.detection_fields[].key : "x-other-category-id"security_result.detection_fields[].value : x-other-category-id |
Mappé directement à partir du champ JSON correspondant. |
x-policy-action |
security_result.action : valeur dérivéesecurity_result.action_details : x-policy-action |
security_result.action est dérivé de la conversion de x-policy-action en majuscules. Si la valeur en majuscules est "ALLOW" ou "BLOCK", elle est utilisée directement. Sinon, il n'est pas mappé.security_result.action_details est mappé directement à partir de x-policy-action . |
x-policy-dst-host |
security_result.detection_fields[].key : "x-policy-dst-host"security_result.detection_fields[].value : x-policy-dst-host |
Mappé directement à partir du champ JSON correspondant. |
x-policy-dst-host-source |
security_result.detection_fields[].key : "x-policy-dst-host-source"security_result.detection_fields[].value : x-policy-dst-host-source |
Mappé directement à partir du champ JSON correspondant. |
x-policy-dst-ip |
security_result.detection_fields[].key : "x-policy-dst-ip"security_result.detection_fields[].value : x-policy-dst-ip |
Mappé directement à partir du champ JSON correspondant. |
x-policy-name |
security_result.rule_name : x-policy-name |
Mappé directement à partir du champ JSON correspondant. |
x-policy-src-ip |
security_result.detection_fields[].key : "x-policy-src-ip"security_result.detection_fields[].value : x-policy-src-ip |
Mappé directement à partir du champ JSON correspondant. |
x-r-cert-enddate |
network.tls.server.certificate.not_after.seconds : secondes d'epoch à partir de x-r-cert-enddate |
La date est convertie en secondes d'epoch. |
x-r-cert-expired |
additional.fields[].key : "x-r-cert-expired"additional.fields[].value.string_value : x-r-cert-expired |
Mappé directement à partir du champ JSON correspondant. |
x-r-cert-incomplete-chain |
additional.fields[].key : "x-r-cert-incomplete-chain"additional.fields[].value.string_value : x-r-cert-incomplete-chain |
Mappé directement à partir du champ JSON correspondant. |
x-r-cert-issuer-cn |
network.tls.server.certificate.issuer : x-r-cert-issuer-cn |
Mappé directement à partir du champ JSON correspondant. |
x-r-cert-mismatch |
additional.fields[].key : "x-r-cert-mismatch"additional.fields[].value.string_value : x-r-cert-mismatch |
Mappé directement à partir du champ JSON correspondant. |
x-r-cert-revoked |
additional.fields[].key : "x-r-cert-revoked"additional.fields[].value.string_value : x-r-cert-revoked |
Mappé directement à partir du champ JSON correspondant. |
x-r-cert-self-signed |
additional.fields[].key : "x-r-cert-self-signed"additional.fields[].value.string_value : x-r-cert-self-signed |
Mappé directement à partir du champ JSON correspondant. |
x-r-cert-startdate |
network.tls.server.certificate.not_before.seconds : secondes d'epoch à partir de x-r-cert-startdate |
La date est convertie en secondes d'epoch. |
x-r-cert-subject-cn |
network.tls.server.certificate.subject : x-r-cert-subject-cn |
Mappé directement à partir du champ JSON correspondant. |
x-r-cert-untrusted-root |
additional.fields[].key : "x-r-cert-untrusted-root"additional.fields[].value.string_value : x-r-cert-untrusted-root |
Mappé directement à partir du champ JSON correspondant. |
x-r-cert-valid |
additional.fields[].key : "x-r-cert-valid"additional.fields[].value.string_value : x-r-cert-valid |
Mappé directement à partir du champ JSON correspondant. |
x-request-id |
additional.fields[].key : "requestId"additional.fields[].value.string_value : x-request-id |
Mappé directement à partir du champ JSON correspondant. |
x-rs-file-category |
additional.fields[].key : "x-rs-file-category"additional.fields[].value.string_value : x-rs-file-category |
Mappé directement à partir du champ JSON correspondant. |
x-rs-file-type |
additional.fields[].key : "x-rs-file-type"additional.fields[].value.string_value : x-rs-file-type |
Mappé directement à partir du champ JSON correspondant. |
x-s-country |
target.location.country_or_region : x-s-country |
Mappé directement à partir du champ JSON correspondant. |
x-s-dp-name |
additional.fields[].key : "x-s-dp-name"additional.fields[].value.string_value : x-s-dp-name |
Mappé directement à partir du champ JSON correspondant. |
x-s-latitude |
target.location.region_coordinates.latitude : x-s-latitude |
Mappé directement à partir du champ JSON correspondant. |
x-s-location |
target.location.name : x-s-location |
Mappé directement à partir du champ JSON correspondant. |
x-s-longitude |
target.location.region_coordinates.longitude : x-s-longitude |
Mappé directement à partir du champ JSON correspondant. |
x-s-region |
target.location.state : x-s-region |
Mappé directement à partir du champ JSON correspondant. |
x-s-zipcode |
additional.fields[].key : "x-s-zipcode"additional.fields[].value.string_value : x-s-zipcode |
Mappé directement à partir du champ JSON correspondant. |
x-sr-ssl-cipher |
security_result.detection_fields[].key : "x-sr-ssl-cipher"security_result.detection_fields[].value : x-sr-ssl-cipher |
Mappé directement à partir du champ JSON correspondant. |
x-sr-ssl-client-certificate-error |
security_result.detection_fields[].key : "x-sr-ssl-client-certificate-error"security_result.detection_fields[].value : x-sr-ssl-client-certificate-error |
Mappé directement à partir du champ JSON correspondant. |
x-sr-ssl-engine-action |
security_result.detection_fields[].key : "x-sr-ssl-engine-action"security_result.detection_fields[].value : x-sr-ssl-engine-action |
Mappé directement à partir du champ JSON correspondant. |
x-sr-ssl-engine-action-reason |
security_result.detection_fields[].key : "x-sr-ssl-engine-action-reason"security_result.detection_fields[].value : x-sr-ssl-engine-action-reason |
Mappé directement à partir du champ JSON correspondant. |
x-sr-ssl-handshake-error |
security_result.detection_fields[].key : "x-sr-ssl-handshake-error"security_result.detection_fields[].value : x-sr-ssl-handshake-error |
Mappé directement à partir du champ JSON correspondant. |
x-sr-ssl-ja3s |
network.tls.server.ja3s : x-sr-ssl-ja3s |
Mappé directement à partir du champ JSON correspondant. |
x-sr-ssl-malformed-ssl |
security_result.detection_fields[].key : "x-sr-ssl-malformed-ssl"security_result.detection_fields[].value : x-sr-ssl-malformed-ssl |
Mappé directement à partir du champ JSON correspondant. |
x-sr-ssl-version |
security_result.detection_fields[].key : "x-sr-ssl-version"security_result.detection_fields[].value : x-sr-ssl-version |
Mappé directement à partir du champ JSON correspondant. |
x-s-custom-signing-ca-error |
security_result.detection_fields[].key : "x-s-custom-signing-ca-error"security_result.detection_fields[].value : x-s-custom-signing-ca-error |
Mappé directement à partir du champ JSON correspondant. |
x-ssl-bypass |
security_result.detection_fields[].key : "SSL BYPASS"security_result.detection_fields[].value : x-ssl-bypass ou x-ssl-bypass-reason |
Si x-ssl-bypass est défini sur "Oui" et que x-ssl-bypass-reason est présent, la valeur de x-ssl-bypass-reason est utilisée. Sinon, la valeur x-ssl-bypass est utilisée. |
x-ssl-policy-action |
security_result.detection_fields[].key : "x-ssl-policy-action"security_result.detection_fields[].value : x-ssl-policy-action |
Mappé directement à partir du champ JSON correspondant. |
x-ssl-policy-categories |
security_result.category_details[] : x-ssl-policy-categories |
Mappé directement à partir du champ JSON correspondant. |
x-ssl-policy-dst-host |
security_result.detection_fields[].key : "x-ssl-policy-dst-host"security_result.detection_fields[].value : x-ssl-policy-dst-host |
Mappé directement à partir du champ JSON correspondant. |
x-ssl-policy-dst-host-source |
security_result.detection_fields[].key : "x-ssl-policy-dst-host-source"security_result.detection_fields[].value : x-ssl-policy-dst-host-source |
Mappé directement à partir du champ JSON correspondant. |
x-ssl-policy-dst-ip |
security_result.detection_fields[].key : "x-ssl-policy-dst-ip"security_result.detection_fields[].value : x-ssl-policy-dst-ip |
Mappé directement à partir du champ JSON correspondant. |
x-ssl-policy-name |
security_result.rule_name : x-ssl-policy-name |
Mappé directement à partir du champ JSON correspondant. |
x-ssl-policy-src-ip |
security_result.detection_fields[].key : "x-ssl-policy-src-ip"security_result.detection_fields[].value : x-ssl-policy-src-ip |
Mappé directement à partir du champ JSON correspondant. |
x-sr-dst-ip |
security_result.detection_fields[].key : "x-sr-dst-ip"security_result.detection_fields[].value : x-sr-dst-ip |
Mappé directement à partir du champ JSON correspondant. |
x-sr-dst-port |
security_result.detection_fields[].key : "x-sr-dst-port"security_result.detection_fields[].value : x-sr-dst-port |
Mappé directement à partir du champ JSON correspondant. |
x-type |
additional.fields[].key : "xType"additional.fields[].value.string_value : x-type |
Mappé directement à partir du champ JSON correspondant. |
x-transaction-id |
additional.fields[].key : "transactionId"additional.fields[].value.string_value : x-transaction-id |
Mappé directement à partir du champ JSON correspondant. |
N/A | metadata.vendor_name : "Netskope" |
Valeur codée en dur dans l'analyseur. |
N/A | metadata.product_name : "Netskope Webproxy" |
Définissez-le sur "Netskope Webproxy" s'il n'est pas déjà présent. |
N/A | metadata.log_type : "NETSKOPE_WEBPROXY" |
Valeur codée en dur dans l'analyseur. |
Modifications
2024-06-04
- Ajout de Grok pour gérer les journaux non analysés.
- Mappage de "url" sur "target.url".
- Mappage de "appSessionId" sur "network.session_id".
- Mappage de "page" sur "network.http.referral_url".
- Mappage de "appcategory" sur "security_result.category_details".
- Mappage de "clientBytes" sur "network.sent_bytes".
- Mappage de "serverBytes" sur "network.received_bytes".
- Mappage de "ccl" sur "security_result.confidence_details".
- Mappage des champs "IncidentID", "applicationType", "browser" et "cci" sur "security_result.detection_fields".
2024-04-22
- "x-cs-app-ccl","x-cs-app-instance-id","x-cs-app-tags" ,"x-cs-app-instance-name" ,"x-cs-app-instance-tag", "x-cs-app-to-user","x-cs-app-object-id" et "x-cs-app-from-user" mappés sur "additional.fields".
2024-02-26
- Modification de la mise en correspondance de "cs-bytes" de "network.received_bytes" à "network.sent_bytes".
- Modification de la mise en correspondance de "sc-bytes" de "network.sent_bytes" à "network.received_bytes".
- Mappage de "x-cs-app-object-name" sur "additional.fields".
- Mappage de "x-cs-app-from-user" sur "principal.user.email_addresses".
2023-12-22
- Si la valeur "cs-dns" est "null", le mappage "cs-host" est modifié de "principal.hostname" à "target.hostname".
- Modification du mappage "cs-dns" de "principal.hostname" à "target.hostname".
- Si la valeur "sc-status" est "null", mappez "rs-status" sur "network.http.response_code".
- Mappage de "x-cs-app" sur "principal.application".
- Mappage de "x-cs-src-ip-egress" sur "principal.ip".
2023-12-08
- Ajout d'une vérification on_error pour analyser les journaux d'erreur.
- Définissez "metadata.vendor_name" sur "Netskope" et "metadata.product_name" sur "Netskope Webproxy".
- Ajout d'une vérification conditionnelle pour "src_region", "src_country", "src_location", "dst_region", "dst_country" et "dst_location" avant le mappage.
2023-10-09
- "dvchost" a été mappé sur "target.hostname" si "target.hostname" n'est pas présent.
- Ajout d'une vérification de valeur nulle avant le mappage "requestClientApplication".
2023-09-12
- Mappage de "x-cs-dst-ip" sur "target.ip".
- Mappage de "x-cs-src-ip" sur "principal.ip".
- Mappage de "x-cs-src-port" sur "principal.port".
- Mappage de "x-cs-dst-port" sur "target.port".
- Ajout de la vérification on_error pour le filtre de date.
- Ajout de vérifications conditionnelles avant la mise en correspondance de "metadata.event_type".
2023-08-28
- Mappage de "cs-uri" sur "additional.fields".
- Mappage de "cs-uri-port" sur "additional.fields".
- Mappage de "x-s-zipcode" sur "additional.fields".
- Mappage de "x-c-zipcode" sur "additional.fields".
- Mappage de "x-cs-site" sur "additional.fields".
- Mappage de "x-category" sur "additional.fields".
- Mappage de "x-sr-ssl-version" sur "security_result.detection_fields".
- Mappage de "x-sr-ssl-cipher" sur "security_result.detection_fields".
- Mappage de "x-cs-src-ip-egress" sur "security_result.detection_fields".
- Mappage de "x-cs-userip" sur "security_result.detection_fields".
- Mappage de "x-cs-url" sur "target.url".
- Mappage de "x-cs-uri-path" sur "additional.fields".
- Mappage de "x-cs-app-cci" sur "additional.fields".
- "x-cs-app-object-type" a été mappé sur "additional.fields".
- "x-rs-file-type" a été mappé sur "additional.fields".
- Mappage de "x-rs-file-category" sur "additional.fields".
2023-08-17
- Prise en charge du nouveau format de journal au format JSON.
2023-06-22
- Prise en charge du nouveau format de journal SYSLOG+JSON.
2023-05-30
- Mappage de "duser" sur "target.user.email_addresses".
- Mappage de "requestClientApplication" sur "network.http.parsed_user_agent".
2023-02-03
- "Domaine" a été mappé sur "principal.administrative_domain".
2023-01-09
- Ajout de vérifications conditionnelles pour le mappage de différents types d'événements en fonction des paramètres obligatoires présents.
- Analyse des différents formats de "rt".
2022-04-06
- Amélioration : ajout de mises en correspondance pour les nouveaux champs
- md5, mwDetectionEngine, mwProfile, mwType mappés sur udm.
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.