Raccogliere i log di Nix System Red Hat

Supportato in:

Questo documento spiega come importare i log di RHEL Server (Unix System) in Google Security Operations utilizzando Bindplane. Il parser acquisisce i log formattati in formato syslog e JSON, inizializza un'ampia gamma di campi UDM con stringhe vuote, esegue diverse sostituzioni di stringhe nel campo message e poi tenta di analizzare il messaggio come JSON. Se l'analisi JSON non va a buon fine, utilizza i pattern grok per estrarre i campi in base ai contenuti di message e event_details.original, mappando i campi estratti all'UDM in base al tipo di evento e a vari controlli condizionali, gestendo diversi formati e strutture di log da vari processi e servizi del sistema Unix.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps
  • Se l'esecuzione avviene tramite un proxy, le porte del firewall sono aperte
  • Accesso con privilegi a un server RHEL

Recuperare il file di autenticazione importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione importazione. Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.

Recuperare l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.

Installa l'agente Bindplane

Installazione di Linux

  1. Apri un terminale con privilegi di root o sudo.
  2. Esegui questo comando:

    sudo sh -c `$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)` install_unix.sh
    

Risorse aggiuntive per l'installazione

Per ulteriori opzioni di installazione, consulta la guida all'installazione.

Configura l'agente Bindplane per importare Syslog e inviarli a Google SecOps

  1. Accedi al file di configurazione:
    • Individua il file config.yaml. In genere si trova nella directory /etc/bindplane-agent/ su Linux.
    • Apri il file utilizzando un editor di testo (ad esempio nano o vi).
  2. Modifica il file config.yaml come segue:

          receivers:
              filelog/linux:
              include:
                - /var/log/messages
                - /var/log/lastlog
                - /var/log/btmp
                - /var/log/wtmp
                - /var/log/secure
                - /var/log/cron
                - /var/log/maillog
                - /var/log/boot
              start_at: end
              poll_interval: 5s
    
          exporters:
              chronicle/linux:
                  # Adjust the path to the credentials file you downloaded in Step 1
                  creds: '/path/to/ingestion-authentication-file.json'
                  # Replace with your actual customer ID from Step 2
                  customer_id: <customer_id>
                  endpoint: malachiteingestion-pa.googleapis.com
                  # Add optional ingestion labels for better organization
                  log_type: 'NIX_SYSTEM'
                  override_log_type: false
                  raw_log_field: body
    
          service:
            pipelines:
              logs/linux:
                receivers:
                - filelog/linux
            exporters: [chronicle/linux]
          ```
    
  1. Sostituisci <customer_id> con l'ID cliente effettivo.
  2. Aggiorna /path/to/ingestion-authentication-file.json al percorso in cui è stato salvato il file di autenticazione nella sezione Recupera il file di autenticazione per l'importazione di Google SecOps.

    Avvia l'agente Bindplane e applica le modifiche

  3. Avvia l'agente Bindplane:

    sudo systemctl start bindplane-agent
    
  4. Attiva il servizio di raccolta otel di observIQ:

    systemctl enable --now bindplane-agent
    
  5. Se necessario, riavvia l'agente Bindplane:

    sudo systemctl restart bindplane-agent
    

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
AccessControlRuleAction security_result.action Se AccessControlRuleAction è Allow, impostalo su ALLOW. Se AccessControlRuleAction è Block, impostalo su BLOCK.
ACPolicy security_result.rule_labels Chiave: ACPolicy, valore: ACPolicy
AccessControlRuleName security_result.rule_name Mappatura diretta.
acct event.idm.read_only_udm.target.user.userid Mappatura diretta dopo la rimozione di virgolette e barre rovesciate.
addr event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip Mappatura diretta se non è vuoto, ? o UNKNOWN.
ApplicationProtocol event.idm.read_only_udm.network.application_protocol Mappatura diretta.
auid event.idm.read_only_udm.additional.fields Chiave: auid, valore: auid
comm event.idm.read_only_udm.target.process.command_line Mappatura diretta.
command event.idm.read_only_udm.target.process.command_line Mappatura diretta dopo la rimozione degli spazi vuoti iniziali e finali.
Computer event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappatura diretta. Se il campo è vuoto, utilizza HostName.
ConnectionID security_result.detection_fields Chiave: Connection ID, valore: ConnectionID
cwd event.idm.read_only_udm.target.process.file.full_path Mappatura diretta dopo la rimozione delle virgolette.
data message Utilizzato nei pattern grok.
desc security_result.description Mappatura diretta.
description event.idm.read_only_udm.metadata.description, security_result.description Mappatura diretta.
descript security_result.description Mappatura diretta dopo la rimozione degli hash.
DeviceUUID event.idm.read_only_udm.metadata.product_log_id Mappatura diretta.
DNSQuery event.idm.read_only_udm.additional.fields Chiave: DNSQuery, valore: DNSQuery
DNSRecordType event.idm.read_only_udm.additional.fields Chiave: DNSRecordType, valore: DNSRecordType
DNSResponseType event.idm.read_only_udm.additional.fields Chiave: DNSResponseType, valore: DNSResponseType
DNS_TTL event.idm.read_only_udm.additional.fields Chiave: DNS_TTL, valore: DNS_TTL
DstIP event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip Mappatura diretta.
DstPort event.idm.read_only_udm.target.port Mappatura diretta, convertita in numero intero.
dvc event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip, event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.intermediary.ip, event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip, event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Se l'IP è valido, viene mappato sull'IP principale/di destinazione. Se nome host, mappato al nome host principale/di destinazione. Utilizzato anche per l'IP intermediario, se valido.
EgressInterface event.idm.read_only_udm.principal.asset.attribute.labels Chiave: EgressInterface, valore: EgressInterface
EgressVRF event.idm.read_only_udm.principal.asset.attribute.labels Chiave: EgressVRF, valore: EgressVRF
EgressZone event.idm.read_only_udm.target.location.name Mappatura diretta.
eventType event.idm.read_only_udm.metadata.product_event_type, event.idm.read_only_udm.target.application Mappatura diretta. Per SERVICE_START e SERVICE_STOP, mappati su target.application e poi cancellati.
EventTime @timestamp Analizzato come timestamp.
exe event.idm.read_only_udm.target.process.command_line Mappatura diretta dopo la rimozione di virgolette e barre rovesciate.
extended_description event.idm.read_only_udm.metadata.description Mappatura diretta dopo la rimozione di trattini e virgolette.
Facility event.idm.read_only_udm.principal.resource.attribute.labels Chiave: Facility, valore: Facility
filepath event.idm.read_only_udm.principal.process.file.full_path Mappatura diretta.
file_path event.idm.read_only_udm.target.file.full_path Mappatura diretta.
file_path_value event.idm.read_only_udm.target.file.full_path Mappatura diretta.
FirstPacketSecond security_result.detection_fields Chiave: FirstPacketSecond, valore: FirstPacketSecond
from event.idm.read_only_udm.network.email.from Mappatura diretta dopo la rimozione delle parentesi angolari.
generic_ip event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip Mappatura diretta se un IP valido e non A256:.
gid event.idm.read_only_udm.target.user.group_identifiers Mappatura diretta.
grp event.idm.read_only_udm.target.group.group_display_name Mappatura diretta dopo la rimozione di virgolette e barre rovesciate.
hashing_algo security_result.summary Mappatura diretta.
home event.idm.read_only_udm.target.file.full_path Mappatura diretta.
HostName Computer Utilizzato se Computer è vuoto.
HostIP event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip La parte di HostIP prima di % viene estratta e mappata come validated_ip.
hostname event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname, event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappatura diretta se non è vuoto o ?.
host_name event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Mappatura diretta.
InitiatorBytes event.idm.read_only_udm.network.sent_bytes Mappatura diretta, convertita in numero intero senza segno.
InitiatorPackets event.idm.read_only_udm.network.sent_packets Mappatura diretta, convertita in numero intero.
insertId event.idm.read_only_udm.metadata.product_log_id Mappatura diretta.
InstanceID security_result.detection_fields Chiave: Instance ID, valore: InstanceID
int_dvc event.idm.read_only_udm.intermediary.hostname Mappatura diretta.
ip event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip, event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip Mappatura diretta.
ip_protocol event.idm.read_only_udm.network.ip_protocol Mappatura diretta.
laddr event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip Mappatura diretta se non è vuoto o ?.
level security_result.severity Se info, imposta su INFORMATIONAL.
log.syslog.facility.name event.idm.read_only_udm.target.application Mappatura diretta.
log.syslog.severity.name security_result.severity Se Emergency, imposta su HIGH.
logName logname Mappatura diretta.
log_description security_result.description Mappatura diretta.
log_level security_result.severity Se error, imposta su ERROR.
log_summary security_result.summary Mappatura diretta.
logger_name event.idm.read_only_udm.principal.resource.attribute.labels Chiave: logger_name, valore: logger_name
log_type event.idm.read_only_udm.metadata.log_type Codificato in modo permanente su NIX_SYSTEM.
lport event.idm.read_only_udm.principal.port Mappatura diretta, convertita in numero intero.
MG event.idm.read_only_udm.principal.resource.attribute.labels Chiave: MG, valore: MG
method event.idm.read_only_udm.network.http.method Mappatura diretta, convertita in maiuscolo.
msg1 event.idm.read_only_udm.metadata.description, event.idm.read_only_udm.additional.fields, security_result.description Analizzati utilizzando i pattern grok. Se event_type è GENERIC_EVENT, mappato a description.
msg2 event.idm.read_only_udm.network.received_bytes, security_result.summary Se contiene cifre, viene convertito in un numero intero senza segno e mappato a received_bytes. In caso contrario, viene mappato a summary.
NAPPolicy security_result.rule_labels Chiave: NAPPolicy, valore: NAPPolicy
name event.idm.read_only_udm.target.process.file.full_path Mappatura diretta dopo la rimozione delle virgolette.
outcome security_result.action Se Succeeded o contiene success, imposta su ALLOW.
p_id event.idm.read_only_udm.target.process.pid Mappatura diretta.
pid event.idm.read_only_udm.target.process.pid, event.idm.read_only_udm.principal.process.pid Mappatura diretta.
principal_hostname event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappatura diretta.
principal_ip event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip Mappatura diretta.
principal_present event.idm.read_only_udm.metadata.event_type Se true e has_target è true, imposta event_type su NETWORK_UNCATEGORIZED. Se true o user_present è true, imposta event_type su USER_UNCATEGORIZED.
process event.idm.read_only_udm.target.application, event.idm.read_only_udm.metadata.product_event_type Mappatura diretta. Se eventType è vuoto, viene utilizzato come target.application.
ProcessID event.idm.read_only_udm.principal.process.pid Mappatura diretta, convertita in stringa.
ProcessName event.idm.read_only_udm.principal.resource.attribute.labels Chiave: ProcessName, valore: ProcessName
prod_eve_type event.idm.read_only_udm.metadata.product_event_type Mappatura diretta.
product_event_type event.idm.read_only_udm.metadata.product_event_type Mappatura diretta.
Protocol event.idm.read_only_udm.network.ip_protocol Se corrisponde a icmp, udp o tcp (senza distinzione tra maiuscole e minuscole), viene mappato al valore corrispondente in maiuscolo.
proto event.idm.read_only_udm.network.application_protocol Se ssh o ssh2, imposta su SSH.
pwd event.idm.read_only_udm.target.file.full_path Mappatura diretta.
reason security_result.summary, security_result.description Utilizzato in combinazione con action e desc per creare security_result.description. Mappato anche a security_result.summary.
relayHostname event.idm.read_only_udm.intermediary.hostname Mappatura diretta.
relayIp event.idm.read_only_udm.intermediary.ip Mappatura diretta.
res security_result.summary Mappatura diretta.
resource.labels.instance_id event.idm.read_only_udm.target.resource.product_object_id Mappatura diretta.
resource.labels.project_id event.idm.read_only_udm.target.asset.attribute.cloud.project.id Mappatura diretta.
resource.labels.zone event.idm.read_only_udm.target.asset.attribute.cloud.availability_zone Mappatura diretta.
resource.type event.idm.read_only_udm.target.resource.resource_subtype Mappatura diretta.
response_code event.idm.read_only_udm.network.http.response_code Mappatura diretta, convertita in numero intero.
ResponderBytes event.idm.read_only_udm.network.received_bytes Mappatura diretta, convertita in numero intero senza segno.
ResponderPackets event.idm.read_only_udm.network.received_packets Mappatura diretta, convertita in numero intero.
rhost event.idm.read_only_udm.additional.fields Chiave: rhost, valore: rhost
ruser srcUser Mappatura diretta.
sec_action security_result.action Mappatura eseguita in base a action o eventType.
sec_summary security_result.summary Mappatura diretta.
security_action security_result.action Mappatura diretta.
sent_bytes event.idm.read_only_udm.network.sent_bytes Mappatura diretta, convertita in numero intero senza segno.
ses event.idm.read_only_udm.network.session_id, event.idm.read_only_udm.network.session_duration Se numerico, viene analizzato come timestamp UNIX e mappato a session_duration. In caso contrario, viene mappato a session_id.
SeverityLevel security_result.severity Mappato a gravità diverse in base al valore (notice/info -> INFORMATIONAL, warn -> HIGH, error -> ERROR, other -> UNKNOWN_SEVERITY).
sessionId event.idm.read_only_udm.network.session_id Mappatura diretta.
size event.idm.read_only_udm.network.received_bytes Mappatura diretta, convertita in numero intero senza segno.
source event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Mappatura diretta dopo la rimozione dello spazio vuoto iniziale.
SourceSystem event.idm.read_only_udm.principal.resource.attribute.labels, event.idm.read_only_udm.principal.platform Chiave: SourceSystem, valore: SourceSystem. Mappato anche su platform (Linux -> LINUX, Window -> WINDOWS, Mac/iOS -> MAC).
SrcIP event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip Mappatura diretta.
SrcPort event.idm.read_only_udm.principal.port Mappatura diretta, convertita in numero intero.
srcIp event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip Mappatura diretta.
srcPort event.idm.read_only_udm.principal.port Mappatura diretta, convertita in numero intero.
srcUser event.idm.read_only_udm.principal.user.userid Mappatura diretta.
src_user event.idm.read_only_udm.principal.user.userid Mappatura diretta.
src_user_display_name event.idm.read_only_udm.principal.user.user_display_name Mappatura diretta.
status security_result.action Se Deferred, imposta su BLOCK. Se Sent, imposta su ALLOW.
summary security_result.summary Mappatura diretta.
SyslogMessage security_result.description Mappatura diretta.
targetEmail event.idm.read_only_udm.network.email.to Mappatura diretta.
targetEmailfrom event.idm.read_only_udm.network.email.from Mappatura diretta.
targetHostname event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Mappatura diretta.
target_hostname event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Mappatura diretta.
target_ip event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip Mappatura diretta.
target_mac event.idm.read_only_udm.target.mac Mappatura diretta.
target_uri event.idm.read_only_udm.target.url Mappatura diretta.
TenantId event.idm.read_only_udm.principal.user.product_object_id Mappatura diretta.
terminal event.idm.read_only_udm.additional.fields Chiave: terminal, valore: terminal se non è vuoto o ?.
TimeGenerated event.idm.read_only_udm.metadata.collected_timestamp Analizzato come timestamp.
timestamp @timestamp Analizzato come timestamp.
tls_cipher event.idm.read_only_udm.network.tls.cipher Mappatura diretta.
Type event.idm.read_only_udm.principal.resource.attribute.labels Chiave: Type, valore: Type
uid event.idm.read_only_udm.principal.user.userid Se 0, imposta su root. In caso contrario, mappatura diretta.
uid_2 event.idm.read_only_udm.target.user.userid Mappatura diretta se uid è vuoto.
unit event.idm.read_only_udm.target.application Mappatura diretta.
url event.idm.read_only_udm.target.url Mappatura diretta.
user username Mappatura diretta.
username event.idm.read_only_udm.target.user.userid, event.idm.read_only_udm.principal.user.userid Mappatura diretta.
user_display_name event.idm.read_only_udm.target.user.user_display_name Mappatura diretta.
user_present event.idm.read_only_udm.metadata.event_type Se true o principal_present è true, imposta event_type su USER_UNCATEGORIZED.
_Internal_WorkspaceResourceId event.idm.read_only_udm.target.resource.attribute.labels, event.idm.read_only_udm.target.resource.product_object_id Chiave: _Internal_WorkspaceResourceId, valore: _Internal_WorkspaceResourceId. L'ID abbonamento viene estratto e mappato a product_object_id.
_ItemId event.idm.read_only_udm.principal.resource.attribute.labels Chiave: _ItemId, valore: _ItemId
_ResourceId event.idm.read_only_udm.principal.resource.attribute.labels, event.idm.read_only_udm.principal.resource.product_object_id Chiave: _ResourceId, valore: _ResourceId. L'ID abbonamento viene estratto e mappato a product_object_id.
_timestamp @timestamp Analizzato come timestamp.
_timestamp_tz @timestamp Analizzato come timestamp.
  • event.idm.read_only_udm.metadata.event_type: inizialmente impostato su GENERIC_EVENT, poi sovrascritto in base alla logica del parser.
  • event.idm.read_only_udm.metadata.product_name: Codificato su Unix System.
  • event.idm.read_only_udm.extensions.auth.type: imposta su MACHINE per determinati tipi di eventi.
  • event.idm.read_only_udm.target.asset.attribute.cloud.environment: impostato su GOOGLE_CLOUD_PLATFORM per i log di controllo di Google Cloud .
  • event.idm.read_only_udm.target.resource.resource_type: impostato su VIRTUAL_MACHINE per i log di controllo di Google Cloud .
  • event.idm.read_only_udm.extensions.auth.mechanism: imposta su USERNAME_PASSWORD per gli eventi di accesso.
  • has_target_resource: imposta su true se è presente resource.labels.instance_id o _Internal_WorkspaceResourceId.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.