Collecter les journaux Fluentd

Ce document explique comment collecter des journaux Fluentd en configurant Fluentd et un redirecteur Google Security Operations. Ce document liste également les types de journaux et la version de Fluentd compatibles.

Pour en savoir plus, consultez Ingestion de données dans Google Security Operations.

Présentation

Le schéma d'architecture de déploiement suivant montre comment Fluentd est installé sur le serveur de redirecteur et sur le serveur d'agrégation pour envoyer les journaux à Google Security Operations. Chaque déploiement client peut différer de cette représentation et être plus complexe.

Architecture de déploiement

Le schéma de l'architecture présente les composants suivants:

  • Système Linux. Système Linux à surveiller. Le système Linux se compose des fichiers à surveiller et du serveur de transfert Fluentd.

  • Système Microsoft Windows Système Microsoft Windows à surveiller, dans lequel le serveur de transfert Fluentd est installé.

  • Transfert Fluentd. Le redirecteur Fluentd collecte des informations à partir du système Microsoft Windows ou Linux, puis les transmet à l'agrégateur Fluentd.

  • Agrégateur Fluentd. L'agrégateur Fluentd reçoit les journaux du redirecteur Fluentd et les transmet au redirecteur Google Security Operations.

  • redirecteur Google Security Operations : Le redirecteur Google Security Operations est un composant logiciel léger, déployé sur le réseau du client et compatible avec syslog. Le redirecteur Google Security Operations transfère les journaux à Google Security Operations.

  • Opérations de sécurité Google Google Security Operations conserve et analyse les journaux de l'agrégateur Fluentd.

Une étiquette d'ingestion identifie l'analyseur qui normalise les données de journaux brutes au format UDM structuré. Les informations de ce document s'appliquent à l'analyseur doté de l'étiquette d'ingestion FLUENTD.

Avant de commencer

  • Assurez-vous que le redirecteur Fluentd est installé sur les systèmes Microsoft Windows ou Linux que vous prévoyez de surveiller. Pour en savoir plus sur l'installation du redirecteur Fluentd, consultez la section Installation de Fluentd.

  • Utilisez une version Fluentd compatible avec l'analyseur Google Security Operations. L'analyseur Google Security Operations est compatible avec Fluentd version 1.0.

  • Assurez-vous que l'agrégateur Fluentd est installé et configuré sur le serveur Linux central.

  • Assurez-vous que tous les systèmes de l'architecture de déploiement sont configurés dans le fuseau horaire UTC.

  • Vérifiez les types de journaux compatibles avec l'analyseur Google Security Operations. Le tableau suivant répertorie les produits et les chemins d'accès aux fichiers journaux compatibles avec l'analyseur Google Security Operations:

    Système d'exploitation Produit Chemin d'accès au fichier journal
    Microsoft Windows Microsoft Windows Journaux des événements
    Linux Linux /var/log/audit/audit.log
    Linux Linux /var/log/syslog
    Linux apache2 /var/log/apache2/access.log
    Linux apache2 /var/log/apache2/error.log
    Linux apache2 /var/log/apache2/other_vhosts_access.log
    Linux apache2 /var/log/apache2/novnc-server-access.log
    Linux OpenVpn /var/log/openvpnas.log
    Linux Nginx /var/log/nginx/access.log
    Linux Nginx /var/log/nginx/error.log
    Linux rkhunter /var/log/rkhunter.log
    Linux Linux /var/log/auth.log
    Linux Linux /var/log/kern.log
    Linux Rundeck /var/log/rundeck/service.log
    Linux Samba /var/log/samba/log.winbindd
    Linux Linux /var/log/mail.log

Configurer le redirecteur et agrégateur Fluentd, ainsi que le redirecteur Google Security Operations

  1. Pour surveiller les journaux générés par les systèmes Linux, créez un fichier td-agent.conf afin de spécifier la configuration de la surveillance des journaux pour le redirecteur Fluentd. Voici un exemple de fichier de configuration pour le redirecteur Fluentd sur le système Linux:

    <source>
    @type tail
    path /var/log/nginx/access.log
    pos_file /var/log/td-agent/nginx-access.log.pos
    tag mytag.nginx.access
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path /var/log/nginx/error.log
    pos_file /var/log/td-agent/nginx-error.log.pos
    tag mytag.nginx.error
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path /var/log/apache2/access.log
    pos_file /var/log/td-agent/apache-access.log.pos
    tag mytag.apache.access
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path /var/log/apache2/error.log
    pos_file /var/log/td-agent/apache-error.log.pos
    tag mytag.apache.error
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path /var/log/audit/audit.log
    pos_file /var/log/td-agent/audit.log.pos
    tag mytag.audit
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path /var/log/syslog/syslog.log
    pos_file /var/log/td-agent/syslog.log.pos
    tag mytag.syslog
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path  /var/log/apache2/other_vhosts_access.log
    pos_file /var/log/td-agent/vhost.log.pos
    tag mytag.apache.other_vhosts_access
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path  /var/log/apache2/novnc-server-access.log
    pos_file /var/log/td-agent/novnc.log.pos
    tag mytag.apache.novnc-server-access
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path /var/log/openvpnas.log
    pos_file /var/log/td-agent/openvpnas.log.pos
    tag mytag.openvpnas
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path /var/log/auth.log
    pos_file /var/log/td-agent/auth.log.pos
    tag mytag.auth
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path /var/log/kern.log
    pos_file /var/log/td-agent/kern.log.pos
    tag mytag.kern
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path /var/log/rundeck/service.log
    pos_file /var/log/td-agent/rundeck.log.pos
    tag mytag.rundeck
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path /var/log/mail.log
    pos_file /var/log/td-agent/mail.log.pos
    tag mytag.mail
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    path /var/log/rkhunter.log
    pos_file /var/log/td-agent/rkhunter.log.pos
    tag mytag.rkhunter
    <parse>
    @type none
    </parse>
    </source>
    
    <source>
    @type tail
    Path /var/log/samba/log.winbindd
    pos_file /var/log/td-agent/winbindd.log.pos
    tag mytag.winbindd
    <parse>
    @type none
    </parse>
    </source>
    
    <filter  mytag.**>
    @type record_transformer
    <record>
    forwarder_hostname "#{Socket.gethostname}"
    </record>
    </filter>
    
    <filter  mytag.nginx.access.**>
    @type record_transformer
    <record>
    path "/var/log/nginx/access.log"
    </record>
    </filter>
    
    <filter  mytag.nginx.error.**>
    @type record_transformer
    <record>
    path "/var/log/nginx/error.log"
    </record>
    </filter>
    
    <filter  mytag.apache.access.**>
    @type record_transformer
    <record>
    path "/var/log/apache2/access.log"
    </record>
    </filter>
    
    <filter  mytag.apache.error.**>
    @type record_transformer
    <record>
    path "/var/log/apache2/error.log"
    </record>
    </filter>
    
    <filter  mytag.audit.**>
    @type record_transformer
    <record>
    path "/var/log/audit/audit.log"
    </record>
    </filter>
    
    <filter  mytag.syslog.**>
    @type record_transformer
    <record>
    path "/var/log/syslog/syslog.log"
    </record>
    </filter>
    
    <filter  mytag.apache.other_vhosts_access.**>
    @type record_transformer
    <record>
    path "/var/log/apache2/other_vhosts_access.log"
    </record>
    </filter>
    
    <filter  mytag.apache.novnc-server-access.**>
    @type record_transformer
    <record>
    path "/var/log/apache2/novnc-server-access.log"
    </record>
    </filter>
    
    <filter mytag.openvpnas.**>
    @type record_transformer
    <record>
    path "/var/log/openvpnas.log"
    </record>
    </filter>
    
    <filter mytag.auth.**>
    @type record_transformer
    <record>
    path "/var/log/auth.log"
    </record>
    </filter>
    
    <filter mytag.kern.**>
    @type record_transformer
    <record>
    path "/var/log/kern.log"
    </record>
    </filter>
    
    <filter mytag.rundeck.**>
    @type record_transformer
    <record>
    path "/var/log/rundeck/service.log"
    </record>
    </filter>
    
    <filter mytag.mail.**>
    @type record_transformer
    <record>
    path "/var/log/mail.log"
    </record>
    </filter>
    
    <filter mytag.rkhunter.**>
    @type record_transformer
    <record>
    path "/var/log/rkhunter.log"
    </record>
    </filter>
    
    <filter mytag.winbindd.**>
    @type record_transformer
    <record>
    path "/var/log/samba/log.winbindd"
    </record>
    </filter>
    
    <match mytag.**>
    @type forward
    # primary host
    <server>
    host <AGGREGATOR_HOSTNAME>
    port <AGGREGATOR_PORT>
    </server>
    </match>
    
  2. Pour surveiller les journaux générés par les systèmes Microsoft Windows, créez un fichier td-agent.conf afin de spécifier la configuration de la surveillance des journaux pour le redirecteur Fluentd. Voici un exemple de fichier de configuration pour le redirecteur Fluentd sur le système Microsoft Windows:

    <source>
    @type windows_eventlog
    @id windows_eventlog
    channels application,security,system
    read_existing_events true
    read_interval 2
    tag windows.raw
    render_as_xml true
    <storage>
    @type local
    persistent true
    path E:\windows.pos
    </storage>
    </source>
    <match windowslog>
    @type forward
    <server>
    host <AGGREGATOR_HOSTNAME>
    port <AGGREGATOR_PORT>
    username <AGGREGATOR_USERNAME>
    password <AGGREGATOR_PASSWORD>
    </server>
    </match>
    
    
  3. Pour transférer les journaux de l'agrégateur Fluentd vers le redirecteur Google Security Operations, créez un fichier de configuration au format suivant:

    <source>
    @type forward
    port <AGGREGATOR_PORT>
    </source>
    
    ## Forwarding
    <match mytag.**>
    @id output_system_forward
    @type forward
    # IP and port of the forwarder
    <server>
     host <CHRONICLE_FORWARDER_HOSTNAME>
     port <CHRONICLE_FORWARDER_PORT>
    </server>
    </match>
    
  4. Configurez le redirecteur Google Security Operations pour envoyer des journaux à Google Security Operations. Pour en savoir plus, consultez la section Installer et configurer le redirecteur sous Linux. Voici un exemple de configuration du redirecteur Google Security Operations:

    common:
      enabled: true
      data_type: FLUENTD
      batch_n_seconds: 10
      batch_n_bytes: 1048576
    tcp_address: 0.0.0.0:10514
    connection_timeout_sec: 60
    

Documentation de référence sur le mappage de champs

Cette section explique comment l'analyseur applique des modèles Grok pour les systèmes Linux et Microsoft Windows et comment il mappe les champs de journal Fluentd aux champs UDM (Google Security Operations Unified Data Model) de chaque type de journal.

Pour en savoir plus sur le mappage des champs courants, consultez la section Champs communs.

Pour obtenir des informations de référence sur les chemins d'accès aux journaux, les modèles Grok pour les exemples de journaux, les types d'événements et les champs UDM sur les systèmes Linux, reportez-vous aux sections suivantes:

Pour en savoir plus sur les événements Microsoft Windows compatibles et les champs UDM correspondants, consultez la page Données d'événements Microsoft Windows.

Champs communs

Le tableau suivant répertorie les champs de journal courants et les champs UDM correspondants.

Champ de journal commun Champ UDM
collected_time metadata.collected_timestamp
inner_message.message inner_message
inner_message.forwarder_hostname target.hostname ou principal.hostname
inner_message.path event_source

Système Linux

Le tableau suivant répertorie les chemins d'accès aux journaux du système Linux, le modèle Grok pour les exemples de journaux, le type d'événement et les mappages UDM:

Chemin d'accès au journal Exemple de journal Modèle Grok Type d'événement Mappage UDM
/var/log/apache2/error.log [Jeu. 28 avril 16:13:01.283342 2022] [core:notice] [pid 18394:tid 140188660751296] [client 1.200.32.47:59840] n'a pas réussi à établir la connexion [{timestamp}][{log_module}:{log_level}][pid{pid}(<optional_field>:tid{tid}|)](<optional_field> [client {client_ip}:{client_port}]|) (?<error_message>.*) NETWORK_UNCATEGORIZED

Le code temporel est mappé sur metadata.event_timestamp

log_module est mappé sur target.resource.name

log_level est mappé sur security_result.severity

pid est mappé sur target.process.parent_process.pid.

tid est mappé sur target.process.pid.

client_ip est mappé sur principal.ip.

client_port est mappé sur principal.port

error_message est mappé sur security_result.description

Network.application_protocol est défini sur "HTTP"

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

/var/log/apache2/error.log [Jeu. 28 avril 16:13:01.283342 2022] [core:notice] [pid 18394:tid 140188660751296] Échec de la connexion [{timestamp}][{log_module}:{severity}][pid{pid}(<optional_field>:tid{tid}|)]{error_message} NETWORK_UNCATEGORIZED

Le code temporel est mappé sur metadata.event_timestamp

log_module est mappé sur target.resource.name

log_level est mappé sur security_result.severity

pid est mappé sur target.process.parent_process.pid.

tid est mappé sur target.process.pid.

error_message est mappé sur security_result.description

Network.application_protocol est défini sur "HTTP"

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

/var/log/apache2/error.log [Jeu. 28 avril 16:13:01.283342 2022] [core:notice] [pid 18394:tid 140188660751296] AH00094: Ligne de commande: '/usr/sbin/apache2' [{timestamp}][{log_module}:{log_level}][pid{pid}(<optional_field>:tid{tid}|)](<optional_field> [client {client_ip}:{client_port}]|) (?<error_message>.*),referer{referer_url} NETWORK_UNCATEGORIZED

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

Le code temporel est mappé sur metadata.event_timestamp

log_module est mappé sur target.resource.name

log_level est mappé sur security_result.severity

pid est mappé sur target.process.parent_process.pid.

tid est mappé sur target.process.pid.

client_ip est mappé sur principal.ip.

client_port est mappé sur principal.port

error_message est mappé sur security_result.description

target.platform est défini sur "LINUX"

Le champ Referer_url est mappé sur network.http.referral_url.

/var/log/apache2/error.log [Dim janv. 30 15:14:47.260309 2022] [proxy_http:error] [pid 12515:tid 140035781285632] [client 1.200.32.47:59840] AH01114: HTTP: "referer connection" [{timestamp}] [{log_module}:{log_level}] [pid {pid}(<optional_field>:tid{tid}|)] [client {client_ip}:{client_port}]( <message_text>HTTP: )?{error_message}:( {target_ip})(<optional_field>,referer{referer_url})?" NETWORK_HTTP

Le code temporel est mappé sur metadata.event_timestamp

log_module est mappé sur target.resource.name

log_level est mappé sur security_result.severity

pid est mappé sur target.process.parent_process.pid.

tid est mappé sur target.process.pid.

client_ip est mappé sur principal.ip.

client_port est mappé sur principal.port

error_message est mappé sur security_result.description

"target_ip" est mappé sur "target.ip".

Le champ Referer_url est mappé sur network.http.referral_url.

Network.application_protocol est défini sur "HTTP"

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

/var/log/apache2/error.log [Sat Feb 02 00:30:55 2019] Nouvelle connexion: [connection: gTxkX8Z6tjk] [client 192.0.2.1:50786] [{timestamp}]<message_text>connection:[connection:{connection_id}][client{client_ip}:{client_port}] NETWORK_UNCATEGORIZED

Le code temporel est mappé sur metadata.event_timestamp

client_ip est mappé sur principal.ip.

client_port est mappé sur principal.port

connection_id est mappé sur network.session_id.

Network.application_protocol est défini sur "HTTP"

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

/var/log/apache2/error.log [Sat Feb 02 00:30:55 2019] Nouvelle requête: [connection: j8BjX4Z5tjk] [request: ACtkX1Z5tjk] [pid 8] [client 192.0.2.1:50784] [{timestamp}]<message_text>request:[connection:{connection_id}][request:{request_id}][pid{pid}][client{client_ip}:{client_port}] NETWORK_UNCATEGORIZED

Le code temporel est mappé sur metadata.event_timestamp

request_id est mappé sur security_result.detection_fields.(key/value)

client_ip est mappé sur principal.ip.

client_port est mappé sur principal.port

pid est mappé sur target.process.parent_process.pid.

connection_id est mappé sur network.session_id.

Network.application_protocol est défini sur "HTTP"

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

/var/log/apache2/error.log [Sat Feb 02 00:30:55 2019] [info] [C: j8BjX4Z5tjk] [R: p7pjX4Z5tjk] [pid 8] core.c(4739): [client 192.0.2.1:50784] Fichier AH0012/apache. [{timestamp}] [{log_level}][C:{connection_id}][R:{request_id}][pid {pid}(<optional_field>:tid{tid}|)]<message_text>[client {client_ip}:{client_port}]{error_message}:{file_path} NETWORK_UNCATEGORIZED

Le code temporel est mappé sur metadata.event_timestamp

log_level est mappé sur security_result.severity

request_id est mappé sur security_result.detection_fields.(key/value)

client_ip est mappé sur principal.ip.

client_port est mappé sur principal.port

pid est mappé sur target.process.parent_process.pid.

connection_id est mappé sur network.session_id.

error_message est mappé sur security_result.description

file_path est mappé sur target.file.full_path

Network.application_protocol est défini sur "HTTP"

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

/var/log/apache2/access.log 192.0.2.1 - - [28/avril/2022:17:35:52 +0530] "GET / HTTP/1.1" 200 3476 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb2Kit/537/HTML ({client_ip})?<message_text>{userid}[{timestamp}](<optional_field>{method}/(<optional_field>{resource}?) {client_protocol}?){result_status}{object_size}(<optional_field>(<optional_field>{referer_url}?)(<optional_field>{user_agent}?)? NETWORK_HTTP

client_ip est mappé sur principal.ip.

userid est mappé sur principal.user.userid

L'hôte est mappé sur principal.hostname.

Le code temporel est mappé sur metadata.event_timestamp

est mappée sur network.http.method

La ressource est mappée sur principal.resource.name

client_protocol est mappé sur network.application_protocol.

Le paramètre "result_status" est mappé sur "network.http.response_code"

"object_size" est mappé sur "network.sent_bytes"

Le champ Referer_url est mappé sur network.http.referral_url.

user_agent est mappé à network.http.user_agent

network.ip_protocol est défini sur "TCP"

network.direction est défini sur "OUTBOUND"

Network.application_protocol est défini sur "HTTP"

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

var/log/apache2/other_vhosts_access.log wintest.example.com:80 ::1 - - [14/Jan/2022:14:08:16 -0700] \"GET /server-status?auto HTTP/1.1\" 200 1415 \"-\" \"Python-urllib/2.7\" {target_host}:{NUMBER:target_port} {client_ip} - (<optional_field>{host}?) [{timestamp}](<optional_field>{method}/(<optional_field>{resource}?){client_protocol}?){result_status}{object_size}(<optional_field>{referer_url}?)(<optional_field>{user_agent}?) NETWORK_HTTP target_host est mappé sur target.hostname.

target_port est mappé sur target.port.

client_ip est mappé sur principal.ip.

userid est mappé sur principal.user.userid

L'hôte est mappé sur principal.hostname.

Le code temporel est mappé sur metadata.event_timestamp

est mappée sur network.http.method

La ressource est mappée sur principal.resource.name

Le paramètre "result_status" est mappé sur "network.http.response_code"

"object_size" est mappé sur "network.sent_bytes"

Le champ Referer_url est mappé sur network.http.referral_url.

user_agent est mappé à network.http.user_agent

network.ip_protocol est défini sur "TCP"

network.direction est défini sur "OUTBOUND"

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

Network.application_protocol est défini sur "HTTP"

var/log/apache2/novnc-server-access.log wintest.example.com:80 ::1 - - [14/Jan/2022:14:08:16 -0700] \"GET /server-status?auto HTTP/1.1\" 200 1415 \"-\" \"http://\" {target_host}:{NUMBER:target_port} {client_ip} - (<optional_field>{host}?) [{timestamp}](<optional_field>{method}/(<optional_field>{resource}?){client_protocol}?){result_status}{object_size}(<optional_field>{referer_url}?)(<optional_field>{user_agent}?) NETWORK_HTTP

client_ip est mappé sur principal.ip.

userid est mappé sur principal.user.userid

est mappée sur network.http.method

chemin d'accès est mappé sur target.url

Le paramètre "result_status" est mappé sur "network.http.response_code"

"object_size" est mappé sur "network.sent_bytes"

Le champ Referer_url est mappé sur network.http.referral_url.

user_agent est mappé à network.http.user_agent

network.ip_protocol est défini sur "TCP"

network.direction est défini sur "OUTBOUND"

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

Network.application_protocol est défini sur "HTTP"

/var/log/apache2/access.log "http://192.0.2.1/test/first.html" -> /google.com (<optional_field>{referer_url}?)->(<optional_field>{path}?) GENERIC_EVENT

chemin d'accès est mappé sur target.url

Le champ Referer_url est mappé sur network.http.referral_url.

network.direction est défini sur "OUTBOUND"

target.platform est défini sur "LINUX"

Network.application_protocol est défini sur "HTTP"

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

/var/log/apache2/access.log Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.67.0 Chrome/98.0.4758.141 Electron/17.4.1 Safari/537.36 (<champ_facultatif>{user_agent}) GENERIC_EVENT

user_agent est mappé à network.http.user_agent

network.direction est défini sur "OUTBOUND"

target.platform est défini sur "LINUX"

Network.application_protocol est défini sur "HTTP"

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "Apache"

"metadata.product_name" est défini sur "Serveur HTTP Apache"

var/log/nginx/access.log 192.0.2.1 - admin [05/May/2022:11:53:27 +0530] "GET /icons/Ubuntu-logo.png HTTP/1.1" 404 209 "http://198.51.100.1/" "Mozilla/5.0 (Windows NT4Keck/HTML) {principal_ip} - (<optional_field>{principal_user_userid}?) [{timestamp}] {http_method} /(<optional_field>{resource_name}?|) {protocol}(<message_text>){response_code} {received_bytes}(<optional_field>{referer_url}) ({user_agent}|{user_agent})? NETWORK_HTTP

l'heure est mappée sur metadata.timestamp

ip est mappée sur target.ip.

principal_ip est mappé sur principal.ip

principal_user_userid est mappé sur principal.user.userid

"metadata_timestamp" est mappé sur "timestamp"

http_method est mappé à network.http.method

resource_name est mappée sur principal.resource.name

le protocole est mappé sur network.application_protocol = (HTTP)

"response_code" est mappé sur "network.http.response_code"

La valeur "receive_bytes" est mappée sur network.sent_bytes.

Le champ Referer_url est mappé sur network.http.referral_url.

user_agent est mappé à network.http.user_agent

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "NGINX"

"metadata.product_name" est défini sur "NGINX"

network.ip_protocol est défini sur "TCP"

network.direction est défini sur "OUTBOUND"

var/log/nginx/error.log 29/01/2022 13:51:48 [error] 593#593: *62432 open() \"/usr/share/nginx/html/nginx_status\" failed (2: No such file or directory), client: 192.0.2.1, server: localhost, request: \"GET /nginx_status HTTP/1\" "{year}\/{month}\/{day}{time}[{severity}]{pid}#{thread_id}:{inner_message2}"

"inner_message2" est mappé sur "{security_result_description_2},client:{principal_ip},server:(<champ_facultatif>{target_hostname}?),request:"{http_method} /(<champ_facultatif>{resource_name}?) {protocol}/1.1",host:"({target_ip}:{target_port})?"

"bind() to ({target_ip}|[{target_ip}]):{target_port} failed ({security_description})",

"\*{cid}{security_description}",

"{security_description}"

NETWORK_HTTP

thread_id est mappé sur principal.process.pid.

severity est mappé sur security_result.severity

(le débogage est mappé sur UNKNOWN_SEVERITY, les informations sont mappées sur INFORMATIONAL, l'avertissement est mappé sur LOW, l'avertissement est mappé à MEDIUM, l'erreur est mappée à ERROR, le critique est mappé sur CRITICAL, l'alerte est mappée à HIGH)

target_file_full_path est mappé sur target.file.full_path

principal_ip est mappé sur principal.ip

target_hostname est mappé à target.hostname

http_method est mappé à network.http.method

resource_name est mappée sur principal.resource.name

est mappé sur "TCP"

"target_ip" est mappé sur "target.ip".

target_port est mappé sur target.port.

security_description + security_result_description_2 est mappée sur security_result.description

pid est mappé sur principal.process.parent_process.pid.

Network.application_protocol est défini sur "HTTP"

le code temporel est mappé sur {year}/{day}/{month} {time}

target.platform est défini sur "LINUX"

"metadata.vendor_name" est défini sur "NGINX"

"metadata.product_name" est défini sur "NGINX"

network.ip_protocol est défini sur "TCP"

network.direction est défini sur "OUTBOUND"

var/log/rkhunter.log [14:10:40] Échec de la vérification des commandes requises [<message_text>]{description_sécurité} MISE À JOUR DE L'ÉTAT

l'heure est mappée sur metadata.timestamp

security_description est mappée sur security_result.description

principal.platform est défini sur "LINUX"

metadata.vendor_name est défini sur "RootKit Hunter"

metadata.product_name est défini sur "RootKit Hunter"

var/log/rkhunter.log [14:09:52] Recherche du fichier "/dev/.oz/.nap/rkit/terror". [ Not found ]. [<message_text>] {description_sécurité} {chemin_du_fichier}[\{metadata_description}] FILE_UNCATEGORIZED "metadata_description" est mappé sur "metadata.description"

file_path est mappé sur target.file.full_path

security_description est mappée sur security_result.description

principal.platform est défini sur "LINUX"

metadata.vendor_name est défini sur "RootKit Hunter"

metadata.product_name est défini sur "RootKit Hunter"

var/log/rkhunter.log fluentd: taille du fichier réduite (nœud inode restant): '/var/log/rkhunter.log'. (<optional_field><message_text>:){metadata_description}:'{file_path}' FILE_UNCATEGORIZED

l'heure est mappée sur metadata.timestamp

"metadata_description" est mappé sur "metadata.description"

file_path est mappé sur target.file.full_path

principal.platform est défini sur "LINUX"

metadata.vendor_name est défini sur "RootKit Hunter"

metadata.product_name est défini sur "RootKit Hunter"

/var/log/kern.log 28 avril 12:41:35 kernel localhost: [ 5079.912215] ctnetlink v0.93: enregistrement avec nfnetlink. {timestamp}{principal_hostname}{metadata_product_event_type}:[<message_text>]{metadata_description} MISE À JOUR DE L'ÉTAT

l'horodatage est mappé sur "metadata.event_timestamp"

principal_hostname est mappé sur "principal.hostname"

metadata_product_event_type est mappé sur "metadata.product_event_type"

"metadata_description" est mappé sur "metadata.description"

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

principal.platform est défini sur "LINUX"

/var/log/kern.log 6 juil.11:17:01 kernel Ubuntu18: [ 0.030139] smpboot: CPU0: Intel(R) Xeon(R) Gold 5220R CPU @ 2,20 GHz (famille: 0x6, modèle: 0x55, stepping: 0x7) {timestamp}{principal_hostname}{metadata_product_event_type}:([<message_text>])<message_text>:\CPU0:{principal_asset_hardware_cpu_model}({metadata_description}) STATUS_UPDATE

l'horodatage est mappé sur "metadata.event_timestamp"

principal_hostname est mappé sur "principal.hostname"

metadata_product_event_type est mappé sur "metadata.product_event_type"

principal_asset_hardware_cpu_model est mappé sur "principal.asset.hardware.cpu_model"

"metadata_description" est mappé sur "metadata.description"

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

principal.platform est défini sur "LINUX"

cpu_model est mappé sur principal.asset.hardware.cpu_model

/var/log/syslog.log 24 mai 10:30:42 Ubuntu18 systemd[1]: Démarrage de la session 112 de l'utilisateur kajal. {collected_timestamp}{hostname}{command_line}(<optional_field>[{pid}]):{message} STATUS_UPDATE

collecté_time est mappé sur metadata.event_timestamp.

Le nom d'hôte est mappé sur principal.hostname.

pid est mappé sur principal.process.pid.

message est mappé sur metadata.description

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

principal.platform est défini sur "LINUX"

command_line est mappée sur principal.process.command_line

/var/log/syslog.log 6 juillet 10h14:37 Ubuntu18 rsyslogd : l'ID utilisateur de rsyslogd est passé à 102 {collected_timestamp}{hostname}{command_line}:{message}to{user_id} STATUS_UPDATE

collecté_time est mappé sur metadata.collected_timestamp

Le nom d'hôte est mappé sur principal.hostname.

message est mappé sur metadata.description

user_id est mappé sur principal.user.userid

command_line est mappée sur principal.process.command_line

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

principal.platform est défini sur "LINUX"

/var/log/syslog.log 6 juil. 10:36:48 Ubuntu18 systemd[1]: Démarrage du service de journalisation système... {collected_timestamp}{hostname}{command_line}(<optional_field>|[{pid}]):{message} STATUS_UPDATE

collecté_time est mappé sur metadata.event_timestamp.

Le nom d'hôte est mappé sur principal.hostname.

pid est mappé sur principal.process.pid.

message est mappé sur metadata.description

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

principal.platform est défini sur "LINUX"

command_line est mappée sur principal.process.command_line

var/log/openvpnas.log 2022-04-29T10:51:22+0530 [stdout#info] [OVPN 4] OUT: '2022-04-29 05:21:22 mohit_AUTOLOGIN/198.51.100.1:16245 MULTI: Learn1: 16245 MULTI:Learn1-1.0 {timestamp}[stdout#{log_level}][OVPN <message_text>]OUT:(<champ_facultatif>'|")<texte_message>-<texte_message>{utilisateur}\/{ip}:{port}MULTI:Learn:{local_ip}->{target_hostname}?{target_ip}:{port}(<champ_facultatif>'|") NETWORK_HTTP

l'horodatage est mappé sur "metadata.timestamp"

log_level est mappé sur security_result.severity

local_ip est mappé sur principal.ip.

"target_ip" est mappé sur "target.ip".

target_hostname est mappé sur principal.hostname

le port est mappé à target.port

"user" est mappé sur principal.user.user_display_name

"metadata.vendor_name" est défini sur "OpenVPN"

"metadata.product_name" est défini sur "OpenVPN Access Server"

principal.platform est défini sur "LINUX"

var/log/openvpnas.log 28-04-2022T16:14:13+0530 [stdout#info] [OVPN 6] SORT: '2022-04-28 16:14:13 versions de la bibliothèque: OpenSSL 1.1.1 11 sept. 2018, LZO 2.08' {timestamp}[stdout#{log_level}][OVPN <message_text>]OUT:(<optional_field>'|")<message_text>{msg}(<optional_field>'|") MISE À JOUR DE L'ÉTAT

l'horodatage est mappé sur "metadata.timestamp"

log_level est mappé sur security_result.severity

message est mappé sur security_result.description

"metadata.vendor_name" est défini sur "OpenVPN"

"metadata.product_name" est défini sur "OpenVPN Access Server"

principal.platform est défini sur "LINUX"

var/log/openvpnas.log 2022-04-28T16:14:13+0530 [stdout#info] [OVPN 6] OUT: '2022-04-28 16:14:13 net_addr_v4_add: 198.51.100.1/23 dev as0t6'

{timestamp}[stdout#{log_level}][OVPN <message_text>]OUT:<optional_field>'|"<message_text>-<message_text>-<message_text><message_text>{message}<optional_field>'|"

message est mappé sur (net_addr_v4_add|net_route_v4_best_gw):{target_ip}/{target_port}

MISE À JOUR DE L'ÉTAT

principal.platform est défini sur "LINUX"

"target_ip" est mappé sur "target.ip".

target_port est mappé sur target.port.

severity est mappé sur security_result.severity

l'horodatage est mappé sur "metadata.timestamp"

"metadata.vendor_name" est défini sur "OpenVPN"

"metadata.product_name" est défini sur "OpenVPN Access Server"

var/log/openvpnas.log 2022-04-29T10:51:22+0530 [stdout#info] [OVPN 4] OUT: '2022-04-29 05:21:22 198.51.100.1:16245 [mohit_AUTOLOGIN] Peer Connection Initiated with [mohit_AUTOLOGIN]Peer Connection Initiated with [INET_9].

{timestamp}[stdout#{log_level}][OVPN <message_text>]OUT:(<optional_field>'|")<message_text>{message}(<optional_field>'|")

message est mappé sur <message_text>avec[<message_text>]<message_text>:{port}<message_text>

MISE À JOUR DE L'ÉTAT

l'horodatage est mappé sur "metadata.timestamp"

log_level est mappé sur security_result.severity

"metadata.vendor_name" est défini sur "OpenVPN"

"metadata.product_name" est défini sur "OpenVPN Access Server"

principal.platform est défini sur Linux

"target_ip" est mappé sur "target.ip".

target_port est mappé sur target.port.

target_hostname est mappé à target.hostname

intermediary_ip est mappé sur intermediary.ip.

var/log/openvpnas.log 2022-04-29T10:51:22+0530 {timestamp}[stdout#{log_level}][OVPN <message_text>]OUT:(<champ_facultatif>'|")<texte_message>{utilisateur}\/{ip}:{message}(<champ_facultatif>'|") MISE À JOUR DE L'ÉTAT

l'horodatage est mappé sur "metadata.timestamp"

log_level est mappé sur security_result.severity

message est mappé sur metadata.description

L'utilisateur est mappé à target.hostname.

ip est mappée sur target.ip.

Le port est mappé à taregt.port

"metadata.vendor_name" est défini sur "OpenVPN"

"metadata.product_name" est défini sur "OpenVPN Access Server"

principal.platform est défini sur Linux

var/log/openvpnas.log 2022-04-29T10:51:22+0530 [stdout#info] AUTH SUCCESS {'status': 0, 'user': 'mohit', 'reason': 'AuthAutoLogin: autologin certificate auth succeeded', 'proplist': {'prop_autogenerate': 'true', 'prop_autologin': 'true', 'pvt_password_digest': '[redacted]', 'type': 'user_connect'}, 'common_name': 'mohit_AUTOLOGIN', 'serial': '3', 'serial_list': []} cli='win'/'3.git::d3f8b18b'/'OCWindows_3.3.6-2752' {timestamp}[stdout#{log_level}]{summary}{'<message_text>':({status})?'<message_text>':({user})?'<message_text>':({reason})?<message_text>}, 'common_name':'{user_name}'<message_text>}cli='{cli}' MISE À JOUR DE L'ÉTAT

l'horodatage est mappé sur "metadata.timestamp"

log_level est mappé sur security_result.severity

message est mappé sur security_result.description

Le résumé est mappé sur security_result.summary

user_name est mappé sur principal.user.user_display_name

La CLI est mappée sur principal.process.command_line

état est mappé sur principal.user.user_authentication_status.

"metadata.vendor_name" est défini sur "OpenVPN"

"metadata.product_name" est défini sur "OpenVPN Access Server"

principal.platform est défini sur "LINUX"

/var/log/rundeck/service.log [2022-05-04T17:03:11,166] WARN config.NavigableMap - L'accès à la clé de configuration '[filterNames]' via la notation par points est obsolète et sera supprimé dans une prochaine version. Utilisez plutôt "config.getProperty(key, targetClass)". [{timestamp}]{severity}{summary}\-{security_description}

sur la ligne de commande {command_line}\({file_path}:<message_text>\)

MISE À JOUR DE L'ÉTAT command_line est mappée sur "target.process.command_line".

file_path est mappé sur "target.process.file.full_path"

l'horodatage est mappé sur "metadata.event_timestamp"

gravité est mappée sur "security_result.severity"

le résumé est mappé sur "security_result.summary"

security_description est mappée sur "security_result.description" ;

"metadata.product_name" est défini sur "FLUENTD"

metadata.vendor_name est défini sur "FLUENTD"

/var/log/auth.log 4 juil. 19:26:19 Ubuntu18 systemd-logind[982]: session 153 supprimée. {timestamp} {principal_hostname}{principal_application}(<optional_field>[{pid}]):{security_description}{network_session_id}?(of user{principal_user_userid})? USER_LOGOUT

l'horodatage est mappé sur "metadata.timestamp"

principal_hostname est mappé à target.hostname si la valeur est "USER_LOGOUT", sinon il est mappé à principal.hostname

principal_application est mappé à target.application si la valeur est "USER_LOGOUT", sinon elle est mappée sur "principal.application"

pid est mappé à target.process.pid si la valeur est "USER_LOGOUT", sinon il est mappé à principal.process.pid.

security_description est mappée sur "security_result.description" ;

Le champ "network_session_id" est mappé sur "network.session_id".

principal_user_userid est mappé à principal.user.userid si la valeur est "USER_LOGOUT", sinon elle est mappée à target.user.userid.

"principal.platform" est défini sur "LINUX"

Si l'option "security_description" de l'événement est définie sur "Removed session" (session supprimée), le champ event_type est défini sur USER_LOGOUT.

Le champ extensions.auth.type est défini sur AUTHTYPE_UNSPECIFIED.

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

/var/log/auth.log 27 juin 11:07:17 Ubuntu18 systemd-logind[804]: nouvelle session 564 de la racine de l'utilisateur. {timestamp} {principal_hostname}{principal_application}(<optional_field>[{pid}]):{security_description}{network_session_id}?(of user{principal_user_userid})? USER_LOGIN

l'horodatage est mappé sur "metadata.timestamp"

principal_hostname est mappé à target.hostname si la valeur est "USER_LOGOUT", sinon il est mappé à principal.hostname

principal_application est mappé à target.application si la valeur est "USER_LOGOUT", sinon elle est mappée sur "principal.application"

pid est mappé à target.process.pid si la valeur est "USER_LOGOUT", sinon il est mappé à principal.process.pid.

security_description est mappée sur "security_result.description" ;

Le champ "network_session_id" est mappé sur "network.session_id".

principal_user_userid est mappé à principal.user.userid si la valeur est "USER_LOGOUT", sinon elle est mappée à target.user.userid.

"principal.platform" est défini sur "LINUX"

"network.application_protocol" est mappé sur "SSH"

if(new_session) event_type est défini sur USER_LOGIN

Le champ extensions.auth.type est défini sur AUTHTYPE_UNSPECIFIED.

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

/var/log/auth.log 27 juin 11:07:17 Ubuntu18 sshd[9349]: Mot de passe racine accepté pour le port 198.51.100.1 sur le port 57619 ssh2 {timestamp} {principal_hostname}{principal_application}(<optional_field>[{pid}])<optional_field> {security_description} for (invalid user )?{principal_user_userid} from {principal_ip} port {principal_port} ssh2(:{security_result_detection_fields_ssh_kv}SHA256:{security_result_detection_fields_kv})? USER_LOGIN

l'horodatage est mappé sur "metadata.timestamp"

principal_hostname est mappé à target.hostname si la valeur est "USER_LOGOUT", sinon il est mappé à principal.hostname

principal_application est mappé à target.application si la valeur est "USER_LOGOUT", sinon elle est mappée sur "principal.application"

pid est mappé à target.process.pid si la valeur est "USER_LOGOUT", sinon il est mappé à principal.process.pid.

security_description est mappée sur "security_result.description" ;

principal_user_userid est mappé à principal.user.userid si la valeur est "USER_LOGOUT", sinon elle est mappée à target.user.userid.

principal_ip est mappé sur "principal.ip".

principal_port est mappé sur "principal.port"

security_result_detection_fields_ssh_kv est mappé sur "security_result.detection_fields.key/value" ;

security_result_detection_fields_kv est mappé sur "security_result.detection_fields.key/value" ;

"principal.platform" est défini sur "LINUX"

"network.application_protocol" est défini sur "SSH"

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

/var/log/auth.log 28 avril 11:51:13 Ubuntu18 sudo[24149]: root : TTY=pts/5 ; PWD=/ ; USER=root ; COMMAND=/bin/ls {timestamp} {principal_hostname}{principal_application}(<optional_field>[{pid}])<optional_field> {principal_user_userid} :( {security_description} ;)? TTY=<message_text> ; PWD={principal_process_command_line_1} ; USER={principal_user_attribute_labels_uid_kv} ; COMMAND={principal_process_command_line_2} MISE À JOUR DE L'ÉTAT

l'horodatage est mappé sur "metadata.timestamp"

principal_hostname est mappé sur principal.hostname

principal_application est mappé sur principal.application

pid est mappé sur principal.process.pid.

principal_user_userid est mappé sur target.user.userid

security_description est mappée sur "security_result.description" ;

principal_process_command_line_1 est mappé sur "principal.process.command_line".

principal_process_command_line_2 est mappé sur "principal.process.command_line".

principal_user_attribute_labels_uid_kv est mappé sur "principal.user.attribute.labels.key/value"

"principal.platform" est défini sur "LINUX"

/var/log/auth.log 4 juil. 19:39:01 Ubuntu18 CRON[17217]: pam_unix(cron:session): session ouverte pour l'utilisateur root par (uid=0) {timestamp} {principal_hostname}{principal_application}(<optional_field>[{pid}])<optional_field> {security_description} for (invalid user|user)?{principal_user_userid}(by (uid={principal_user_attribute_labels_uid_kv}))?$ USER_LOGIN

l'horodatage est mappé sur "metadata.timestamp"

principal_hostname est mappé à target.hostname si la valeur est "USER_LOGOUT", sinon il est mappé à principal.hostname

principal_application est mappé à target.application si la valeur est "USER_LOGOUT", sinon elle est mappée sur "principal.application"

pid est mappé à target.process.pid si la valeur est "USER_LOGOUT", sinon il est mappé à principal.process.pid.

security_description est mappée sur "security_result.description" ;

principal_user_userid est mappé à principal.user.userid si la valeur est "USER_LOGOUT", sinon elle est mappée à target.user.userid.

principal_user_attribute_labels_uid_kv est mappé sur "principal.user.attribute.labels.key/value"

"principal.platform" est défini sur "LINUX"

"network.application_protocol" est défini sur "SSH"

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

/var/log/auth.log 4 juil. 19:24:43 Ubuntu18 sshd[14731]: pam_unix(sshd:session): session fermée pour le compte racine de l'utilisateur {timestamp} {principal_hostname}{principal_application}<optional_filed>[{pid}]): {security_description} for (invalid user|user){principal_user_userid} USER_LOGOUT

l'horodatage est mappé sur "metadata.timestamp"

principal_hostname est mappé à target.hostname si la valeur est "USER_LOGOUT", sinon il est mappé à principal.hostname

principal_application est mappé à target.application si la valeur est "USER_LOGOUT", sinon elle est mappée sur "principal.application"

pid est mappé à target.process.pid si la valeur est "USER_LOGOUT", sinon il est mappé à principal.process.pid.

security_description est mappée sur "security_result.description" ;

principal_user_userid est mappé à principal.user.userid si la valeur est "USER_LOGOUT", sinon elle est mappée à target.user.userid.

principal_user_attribute_labels_uid_kv est mappé sur principal.user.attribute.labels.key/value

"principal.platform" est défini sur "LINUX"

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

/var/log/auth.log 30 juin 11:32:26 Ubuntu18 sshd[29425]: Connexion réinitialisée en authentifiant la racine de l'utilisateur 198.51.100.1 sur le port 52518 [preauth] {timestamp} {principal_hostname}{principal_application}(<optional_field>[{pid}]):{security_description}(from|{principal_user_userid}){target_ip}port{target_port}<optional_field>[preauth]|:<text_message>{security_summary}|) USER_LOGOUT

l'horodatage est mappé sur "metadata.timestamp"

principal_hostname est mappé à target.hostname si la valeur est "USER_LOGOUT", sinon il est mappé à principal.hostname

principal_application est mappé à target.application si la valeur est "USER_LOGOUT", sinon elle est mappée sur "principal.application"

pid est mappé à target.process.pid si la valeur est "USER_LOGOUT", sinon il est mappé à principal.process.pid.

security_description est mappée sur security_result.description

security_summary est mappé sur security_result.summary

principal_user_userid est mappé à principal.user.userid si la valeur est "USER_LOGOUT", sinon elle est mappée à target.user.userid.

"target_ip" est mappé sur "target.ip".

"target_port" est mappé sur "target.port".

principal.platform" est défini sur "LINUX"

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

var/log/samba/log.winbindd [2022/05/05 13:51:22.212484, 0] ../source3/winbindd/winbindd_cache.c:3170(Initialize_winbindd_cache)bidding_winbindd_cache: vider le cache et recréer avec le numéro de version 2 {timestamp},{severity}(<optional_field>,pid={pid},effective({principal_user_attribute_labels_kv},{principal_group_attribute_labels_kv}),real({principal_user_userid},{principal_group_product_object_id}))?]<message_text>:{security_description} MISE À JOUR DE L'ÉTAT

l'horodatage est mappé sur "metadata.timestamp"

pid est mappé sur "principal.process.pid".

principal_user_attribute_labels_kv est mappé sur "principal.user.attribute.labels".

principal_group_attribute_labels_kv est mappé sur "principal.group.attribute.labels"

principal_user_userid est mappé sur "principal.user.userid"

principal_group_product_object_id est mappé sur "principal.group.product_object_id"

security_description est mappée sur "security_result.description" ;

"metadata_description" est mappé sur "metadata.description"

metadata.product_name" est défini sur "FLUENTD"

metadata.vendor_name" est défini sur "FLUENTD"

var/log/samba/log.winbindd messagerie_dgm_init: échec de la liaison: espace restant sur l'appareil {user_id}: {desc} MISE À JOUR DE L'ÉTAT

metadata.product_name" est défini sur "FLUENTD"

metadata.vendor_name" est défini sur "FLUENTD"

user_id est mappé sur principal.user.userid

"desc" est mappé sur "metadata.description"

/var/log/mail.log 16 juillet 11:40:56 Ubuntu18 sendmail[9341]: 22G6AtwH009341: from=<fluentd@Ubuntu18>, size=377, class=0, nrcpts=1, metadata_descriptionid=<202203160610.22G6AtwH01 daemon.2cd4localhost {timestamp} {target_hostname} {application}[{pid}]: <message_text>:{KV} MISE À JOUR DE L'ÉTAT

target_hostname est mappé à target.hostname

application est mappée sur target.application

pid est mappé sur target.process.pid

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

/var/log/mail.log 7 juillet 13:44:01 postfixe/retrait production[22580]: AE4271627DB: uid=0 from=<root> {timestamp} {target_hostname} {application}[{pid}]: <message_text>{KV} EMAIL_UNCATEGORIZED

target_hostname est mappé à target.hostname

application est mappée sur target.application

pid est mappé sur target.process.pid

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

/var/log/mail.log 7 juillet 13:44:01 postfix/nettoyage production[23434]: AE4271627DB: message-id=<20150207184401.AE4271627DB@server.hostname.01> {timestamp} {target_hostname} {application}[{pid}]: <message_text> message-id=<{resource_name}> MISE À JOUR DE L'ÉTAT

target_hostname est mappé à target.hostname

application est mappée sur target.application

pid est mappé sur target.process.pid

resource_name est mappée sur target.resource.name

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

/var/log/mail.log 7 juillet 13:44:01 prod postfix/qmgr[3539]: AE4271627DB: from=<root@server.hostname.01>, size=565, nrcpt=1 (file d'attente active) {timestamp} {target_hostname} {application}[{pid}]: <message_text>{KV} EMAIL_UNCATEGORIZED

target_hostname est mappé à target.hostname

application est mappée sur target.application

pid est mappé sur target.process.pid

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

/var/log/mail.log 7 juillet à 13:44:01 prod postfix/smtp[23436]: connexion à gmail-smtp-in.l.example.com[2607:xxxx:xxxx:xxx::xx]:25: réseau inaccessible {timestamp} {target_hostname} {application}[{pid}]: <message_text>{KV} MISE À JOUR DE L'ÉTAT

target_hostname est mappé à target.hostname

application est mappée sur target.application

pid est mappé sur target.process.pid

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

/var/log/mail.log 7 juillet 13:44:02 prod postfix/local[23439]: E62521627DC: to=<root@server.hostname.01>, relay=local, delay=0.01, delay=0/0.01/0/0, dsn=2.0.0, status=sent (envoyé à la boîte aux lettres) {timestamp} {target_hostname} {application}[{pid}]: <message_text>{KV} EMAIL_UNCATEGORIZED

target_hostname est mappé à target.hostname

application est mappée sur target.application

pid est mappé sur target.process.pid

metadata.vendor_name est défini sur "FLUENTD"

"metadata.product_name" est défini sur "FLUENTD"

Auditer

Champs de journaux d'audit vers des champs UDM

Le tableau suivant répertorie les champs de journal du type de journal d'audit et les champs UDM correspondants.

Champ du journal Champ UDM
acct target.user.user_display_name
addr principal.ip
arch about.labels.key/value
auid target.user.userid
cgroup principal.process.file.full_path
cmd target.process.command_line
comm target.application
cwd target.file.full_path
Données about.labels.key/value
Devmajor about.labels.key/value
développeur about.labels.key/value
egid target.group.product_object_id
Euid target.user.userid
exe target.process.file.full_path
exit target.labels.key/value
famille network.ip_protocol est défini sur "IP6IN4" si "ip_protocol" == 2 ; sinon, il est défini sur "UNKNOWN_IP_PROTOCOL"
type de fichier target.file.mime_type
fsgid target.group.product_object_id
fsuid target.user.userid
gid target.group.product_object_id
nom d'hôte target.hostname
Type ICMP "network.ip_protocol" est défini sur "ICMP"
id Si [audit_log_type] == "ADD_USER", target.user.userid est défini sur "%{id}"

Si [audit_log_type] == "ADD_GROUP", target.group.product_object_id est défini sur "%{id}"

else target.user.attribute.labels.key/value est défini sur id

nœud d'index target.resource.product_object_id
clé security_result.detection_fields.key/value
list security_result.about.labels.key/value
Standard target.resource.attribute.permissions.name

target.resource.attribute.permissions.type

name target.file.full_path
new-disk target.resource.name
new-mem target.resource.attribute.labels.key/value
nouveau-vcpu target.resource.attribute.labels.key/value
New Net pincipal.mac
new_gid target.group.product_object_id
Oauid target.user.userid
Ocomm target.process.command_line
opid target.process.pid
Oses network.session_id
ouid target.user.userid
obj_gid target.group.product_object_id
obj_role target.user.attribute.role.name
obj_uid target.user.userid
obj_user target.user.user_display_name
ogid target.group.product_object_id
ouid target.user.userid
chemin d'accès target.file.full_path
permanente target.asset.attribute.permissions.name
pid target.process.pid
ppid target.parent_process.pid
proto Si [ip_protocol] == 2, network.ip_protocol est défini sur "IP6IN4"

sinon network.ip_protocol est défini sur "UNKNOWN_IP_PROTOCOL"

res security_result.summary
résultat security_result.summary
triste security_result.detection_fields.key/value
Sauid target.user.attribute.labels.key/value
ses network.session_id
Sgid target.group.product_object_id
sig security_result.detection_fields.key/value
subj_user target.user.user_display_name
success Si success=='yes', security_result.summary est défini sur "system call was successfully" (l'appel système a abouti), else_result.summary est défini sur "systemcall was failed" (échec de l'appel système).
suid target.user.userid
appel système about.labels.key/value
terminal target.labels.key/value
tty target.labels.key/value
uid Si [audit_log_type] dans [SYSCALL, SERVICE_START, ADD_GROUP, ADD_USER, MAC_IPSEC_EVENT, MAC_UNLBL_STCADD, OBJ_PID, CONFIG_CHANGE, SECCOMP, USER_CHAUTHTOK, USYS_CONFIG, DEL_GROUP, DEL_USER, USER_CMD ID de compte principal, USER_MAC_POLICY] est défini sur USER_MAC_POLICY.

sinon uid est défini sur target.user.userid

vm target.resource.name

Passer des types de journaux d'audit au type d'événement UDM

Le tableau suivant répertorie les types de journaux d'audit et les types d'événements UDM correspondants.

Type de journal d'audit Type d'événement UDM Description
ADD_GROUP GROUP_CREATION Déclenché lorsqu'un groupe d'espace utilisateur est ajouté.
ADD_USER USER_CREATION Déclenché lorsqu'un compte utilisateur d'espace utilisateur est ajouté.
ANOM_ABEND GENERIC_EVENT / PROCESS_TERMINATION Déclenché lorsqu'un processus se termine de manière anormale (avec un signal susceptible de provoquer un vidage de mémoire, s'il est activé).
AVC GENERIC_EVENT Déclenchement de l'enregistrement d'une vérification des autorisations SELinux.
CONFIG_CHANGE USER_RESOURCE_UPDATE_CONTENT Déclenché lorsque la configuration du système d'audit est modifiée.
CRED_ACQ USER_LOGIN Déclenché lorsqu'un utilisateur obtient des identifiants d'espace utilisateur.
CRED_DISP USER_LOGOUT Déclenchement lorsqu'un utilisateur supprime les identifiants de l'espace utilisateur.
CRED_REFR USER_LOGIN Déclenchement lorsqu'un utilisateur actualise ses identifiants d'espace utilisateur.
CRYPTO_KEY_USER USER_RESOURCE_ACCESS Déclenchement de l'enregistrement de l'identifiant de clé cryptographique utilisé à des fins de chiffrement.
CRYPTO_SESSION PROCESS_TERMINATION Déclenché pour enregistrer les paramètres définis lors de l'établissement d'une session TLS.
CWD SYSTEM_AUDIT_LOG_UNCATEGORIZED Déclenchement de l'enregistrement du répertoire de travail actuel.
DAEMON_ABORT PROCESS_TERMINATION Déclenché lorsqu'un daemon est arrêté en raison d'une erreur.
DAEMON_END PROCESS_TERMINATION Déclenché lorsqu'un daemon est arrêté avec succès.
DAEMON_RESUME PROCESS_UNCATEGORIZED Déclenché lorsque le daemon auditd reprend la journalisation.
DAEMON_ROTATE PROCESS_UNCATEGORIZED Déclenché lorsque le daemon auditd effectue la rotation des fichiers journaux d'audit.
DAEMON_START PROCESS_LAUNCH Déclenché lors du démarrage du daemon auditd.
DEL_GROUP GROUP_DELETION Déclenché lorsqu'un groupe d'espace utilisateur est supprimé
En attente USER_DELETION Déclenché lorsqu'un utilisateur de l'espace utilisateur est supprimé
Fichiers EXECVE PROCESS_LAUNCH Déclenchement de l'enregistrement des arguments de l'appel système execve(2).
MAC_CONFIG_CHANGE GENERIC_EVENT Déclenché lorsqu'une valeur booléenne SELinux est modifiée.
MAC_IPSEC_EVENT SYSTEM_AUDIT_LOG_UNCATEGORIZED Déclenchement pour enregistrer des informations sur un événement IPSec, lorsqu'il en détecte un ou lorsque la configuration IPSec change.
MAC_POLICY_LOAD GENERIC_EVENT Déclenché lorsqu'un fichier de règle SELinux est chargé.
MAC_STATUS GENERIC_EVENT Déclenché lors de la modification du mode SELinux (application forcée, permissif, désactivé).
MAC_UNLBL_STCADD SYSTEM_AUDIT_LOG_UNCATEGORIZED Déclenché lorsqu'une étiquette statique est ajoutée lors de l'utilisation des fonctionnalités d'étiquetage de paquets du noyau fournies par NetLabel.
NETFILTER_CFG GENERIC_EVENT Déclenché lorsque des modifications de la chaîne Netfilter sont détectées.
OBJ_PID SYSTEM_AUDIT_LOG_UNCATEGORIZED Déclenché pour enregistrer des informations sur un processus auquel un signal est envoyé.
PATH FILE_OPEN/GENERIC_EVENT Déclenchement pour enregistrer les informations sur le chemin du nom de fichier.
SELINUX_ERR GENERIC_EVENT Déclenché lorsqu'une erreur SELinux interne est détectée.
SERVICE_START SERVICE_START Déclenché lorsqu'un service est démarré.
SERVICE_STOP SERVICE_STOP Déclenché lorsqu'un service est arrêté.
SYSCALL GENERIC_EVENT Déclenchement de l'enregistrement d'un appel système au noyau.
SYSTEM_BOOT STATUS_STARTUP Déclenché au démarrage du système.
SYSTEM_RUNLEVEL STATUS_UPDATE Déclenché lorsque le niveau d'exécution du système est modifié.
SYSTEM_SHUTDOWN STATUS_SHUTDOWN Déclenchement lorsque le système est à l'arrêt.
USER_ACCT SETTING_MODIFICATION Déclenché lorsqu'un compte utilisateur d'un espace utilisateur est modifié.
USER_AUTH USER_LOGIN Déclenchement lorsqu'une tentative d'authentification de l'espace utilisateur est détectée.
USER_AVC USER_UNCATEGORIZED Déclenché lorsqu'un message AVC d'espace utilisateur est généré.
USER_CHAUTHTOK USER_RESOURCE_UPDATE_CONTENT Déclenché lorsqu'un attribut de compte utilisateur est modifié.
USER_CMD USER_COMMUNICATION Déclenché lorsqu'une commande shell d'espace utilisateur est exécutée.
USER_END USER_LOGOUT Déclenché lorsqu'une session d'espace utilisateur se termine.
USER_ERR USER_UNCATEGORIZED Déclenchement lorsqu'une erreur d'état du compte utilisateur est détectée.
USER_LOGIN USER_LOGIN Déclenché lorsqu'un utilisateur se connecte.
USER_LOGOUT USER_LOGOUT Déclenchement lorsqu'un utilisateur se déconnecte.
USER_MAC_POLICY_LOAD RESOURCE_READ Déclenché lorsqu'un daemon d'espace utilisateur charge une règle SELinux.
USER_MGMT USER_UNCATEGORIZED Déclenchement pour enregistrer les données de gestion de l'espace utilisateur.
USER_ROLE_CHANGE USER_CHANGE_PERMISSIONS Déclenché lorsque le rôle SELinux d'un utilisateur est modifié.
USER_START USER_LOGIN Déclenché au démarrage d'une session d'espace utilisateur.
USYS_CONFIG USER_RESOURCE_UPDATE_CONTENT Déclenché lorsqu'une modification de la configuration système de l'espace utilisateur est détectée.
VIRT_CONTROL STATUS_UPDATE Déclenché lorsqu'une machine virtuelle est démarrée, mise en pause ou arrêtée.
VIRT_MACHINE_ID USER_RESOURCE_ACCESS Déclenchement pour enregistrer la liaison d'un libellé à une machine virtuelle.
VIRT_RESOURCE USER_RESOURCE_ACCESS Déclenchement pour enregistrer l'attribution des ressources d'une machine virtuelle.

Mail (Messagerie)

Envoyer les champs de journal de messagerie vers les champs UDM

Le tableau suivant répertorie les champs de journal du type de journal de messagerie et les champs UDM correspondants.

Champ du journal Champ UDM
Classe about.labels.key/value
Ctladdr principal.user.user_display_name
Origine(s) network.email.from
MSgid network.email.mail_id
Proto network.application_protocol
Relais intermediary.hostname

intermediary.ip

Taille network.received_bytes
Statistiques security_result.summary
à network.email.to

Types de journaux de messagerie vers le type d'événement UDM

Le tableau suivant répertorie les types de journaux de messagerie et les types d'événements UDM correspondants correspondants.

Type de journal des e-mails Type d'événement UDM
envoyer un e-mail MISE À JOUR DE L'ÉTAT
pickup EMAIL_UNCATEGORIZED
cleanup MISE À JOUR DE L'ÉTAT
qmgr EMAIL_UNCATEGORIZED
smtp MISE À JOUR DE L'ÉTAT
interprétabilité locale EMAIL_UNCATEGORIZED

Étapes suivantes