Raccogliere i log di Nix System Red Hat
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
- Accedi alla console Google SecOps.
 - Vai a Impostazioni SIEM > Agenti di raccolta.
 - 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
- Accedi alla console Google SecOps.
 - Vai a Impostazioni SIEM > Profilo.
 - Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.
 
Installa l'agente Bindplane
Installazione di Linux
- Apri un terminale con privilegi di root o sudo.
 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
- 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 
nanoovi). 
 - Individua il file 
 Modifica il file
config.yamlcome 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] ```
- Sostituisci 
<customer_id>con l'ID cliente effettivo. Aggiorna
/path/to/ingestion-authentication-file.jsonal 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
Avvia l'agente Bindplane:
sudo systemctl start bindplane-agentAttiva il servizio di raccolta otel di observIQ:
systemctl enable --now bindplane-agentSe 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 suGENERIC_EVENT, poi sovrascritto in base alla logica del parser.event.idm.read_only_udm.metadata.product_name: Codificato suUnix System.event.idm.read_only_udm.extensions.auth.type: imposta suMACHINEper determinati tipi di eventi.event.idm.read_only_udm.target.asset.attribute.cloud.environment: impostato suGOOGLE_CLOUD_PLATFORMper i log di controllo di Google Cloud .event.idm.read_only_udm.target.resource.resource_type: impostato suVIRTUAL_MACHINEper i log di controllo di Google Cloud .event.idm.read_only_udm.extensions.auth.mechanism: imposta suUSERNAME_PASSWORDper gli eventi di accesso.has_target_resource: imposta sutruese è presenteresource.labels.instance_ido_Internal_WorkspaceResourceId.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.