Logs von Nix Systems Ubuntu Server (Unix-System) erfassen
In diesem Dokument wird beschrieben, wie Sie Ubuntu Server-Logs (Unix-System) mit Bindplane in Google Security Operations aufnehmen. Der Parser liest Syslog- und JSON-formatierte Logs ein, initialisiert eine Vielzahl von Feldern des einheitlichen Datenmodells (Unified Data Model, UDM) mit leeren Strings, führt mehrere String-Ersetzungen im Feld message
durch und versucht dann, die Nachricht als JSON zu parsen. Wenn das JSON-Parsing fehlschlägt, werden Grok-Muster verwendet, um Felder basierend auf dem Inhalt von message
und event_details.original
zu extrahieren. Die extrahierten Felder werden basierend auf dem Ereignistyp und verschiedenen bedingten Prüfungen dem UDM zugeordnet. Dabei werden verschiedene Log-Formate und ‑Strukturen aus verschiedenen Unix-Systemprozessen und ‑Diensten verarbeitet.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
- Privilegierter Zugriff auf einen RHEL-Server
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Collection Agents auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
Linux-Installation
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
Führen Sie dazu diesen Befehl aus:
sudo sh -c `$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)` install_unix.sh
Zusätzliche Installationsressourcen
Weitere Installationsoptionen finden Sie im Installationsleitfaden.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
- Rufen Sie die Konfigurationsdatei auf:
- Suchen Sie die Datei
config.yaml
. Normalerweise befindet sie sich unter Linux im Verzeichnis/etc/bindplane-agent/
. - Öffnen Sie die Datei mit einem Texteditor (z. B.
nano
odervi
).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so:receivers: filelog/unix: include: - /var/log/auth.log - /var/log/lastlog - /var/log/btmp - /var/log/wtmp - /var/log/faillog - /var/log/dpkg.log - /var/log/boot.log - /var/log/kern.log - /var/log/syslog 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]
Ersetzen Sie
<customer_id>
durch die tatsächliche Kunden-ID.Aktualisieren Sie
/path/to/ingestion-authentication-file.json
auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.
Bindplane-Agent starten und Änderungen anwenden
Starten Sie den Bindplane-Agent:
sudo systemctl start bindplane-agent
Aktivieren Sie den observIQ OTEL Collector-Dienst:
systemctl enable --now bindplane-agent
Starten Sie den Bindplane-Agent bei Bedarf neu:
sudo systemctl restart bindplane-agent
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
AccessControlRuleAction |
security_result.action |
Wenn AccessControlRuleAction Allow ist, legen Sie ALLOW fest. Wenn AccessControlRuleAction Block ist, legen Sie BLOCK fest. |
ACPolicy |
security_result.rule_labels |
Schlüssel: ACPolicy , Wert: ACPolicy |
AccessControlRuleName |
security_result.rule_name |
Direkte Zuordnung |
acct |
event.idm.read_only_udm.target.user.userid |
Direkte Zuordnung nach dem Entfernen von Anführungszeichen und umgekehrten Schrägstrichen. |
addr |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Direkte Zuordnung, wenn nicht leer, ? oder UNKNOWN . |
ApplicationProtocol |
event.idm.read_only_udm.network.application_protocol |
Direkte Zuordnung |
auid |
event.idm.read_only_udm.additional.fields |
Schlüssel: auid , Wert: auid |
comm |
event.idm.read_only_udm.target.process.command_line |
Direkte Zuordnung |
command |
event.idm.read_only_udm.target.process.command_line |
Direkte Zuordnung nach dem Entfernen von voran- und nachgestellten Leerzeichen. |
Computer |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Direkte Zuordnung Wenn leer, verwenden Sie HostName . |
ConnectionID |
security_result.detection_fields |
Schlüssel: Connection ID , Wert: ConnectionID |
cwd |
event.idm.read_only_udm.target.process.file.full_path |
Direkte Zuordnung nach dem Entfernen von Anführungszeichen. |
data |
message |
Wird in Grok-Mustern verwendet. |
desc |
security_result.description |
Direkte Zuordnung |
description |
event.idm.read_only_udm.metadata.description , security_result.description |
Direkte Zuordnung |
descript |
security_result.description |
Direkte Zuordnung nach dem Entfernen von Hashes. |
DeviceUUID |
event.idm.read_only_udm.metadata.product_log_id |
Direkte Zuordnung |
DNSQuery |
event.idm.read_only_udm.additional.fields |
Schlüssel: DNSQuery , Wert: DNSQuery |
DNSRecordType |
event.idm.read_only_udm.additional.fields |
Schlüssel: DNSRecordType , Wert: DNSRecordType |
DNSResponseType |
event.idm.read_only_udm.additional.fields |
Schlüssel: DNSResponseType , Wert: DNSResponseType |
DNS_TTL |
event.idm.read_only_udm.additional.fields |
Schlüssel: DNS_TTL , Wert: DNS_TTL |
DstIP |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Direkte Zuordnung |
DstPort |
event.idm.read_only_udm.target.port |
Direkte Zuordnung, in Ganzzahl konvertiert. |
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 |
Wenn eine gültige IP-Adresse vorhanden ist, wird sie der primären/Ziel-IP-Adresse zugeordnet. Wenn „hostname“, wird der Prinzipal-/Ziel-Hostname zugeordnet. Wird auch für die Zwischen-IP verwendet, wenn es sich um eine gültige IP-Adresse handelt. |
EgressInterface |
event.idm.read_only_udm.principal.asset.attribute.labels |
Schlüssel: EgressInterface , Wert: EgressInterface |
EgressVRF |
event.idm.read_only_udm.principal.asset.attribute.labels |
Schlüssel: EgressVRF , Wert: EgressVRF |
EgressZone |
event.idm.read_only_udm.target.location.name |
Direkte Zuordnung |
eventType |
event.idm.read_only_udm.metadata.product_event_type , event.idm.read_only_udm.target.application |
Direkte Zuordnung Für SERVICE_START und SERVICE_STOP , zu target.application zugeordnet und dann gelöscht. |
EventTime |
@timestamp |
Als Zeitstempel geparst. |
exe |
event.idm.read_only_udm.target.process.command_line |
Direkte Zuordnung nach dem Entfernen von Anführungszeichen und umgekehrten Schrägstrichen. |
extended_description |
event.idm.read_only_udm.metadata.description |
Direkte Zuordnung nach dem Entfernen von Bindestrichen und Anführungszeichen. |
Facility |
event.idm.read_only_udm.principal.resource.attribute.labels |
Schlüssel: Facility , Wert: Facility |
filepath |
event.idm.read_only_udm.principal.process.file.full_path |
Direkte Zuordnung |
file_path |
event.idm.read_only_udm.target.file.full_path |
Direkte Zuordnung |
file_path_value |
event.idm.read_only_udm.target.file.full_path |
Direkte Zuordnung |
FirstPacketSecond |
security_result.detection_fields |
Schlüssel: FirstPacketSecond , Wert: FirstPacketSecond |
from |
event.idm.read_only_udm.network.email.from |
Direkte Zuordnung nach dem Entfernen der spitzen Klammern. |
generic_ip |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Direkte Zuordnung, wenn eine gültige IP-Adresse und nicht A256: . |
gid |
event.idm.read_only_udm.target.user.group_identifiers |
Direkte Zuordnung |
grp |
event.idm.read_only_udm.target.group.group_display_name |
Direkte Zuordnung nach dem Entfernen von Anführungszeichen und umgekehrten Schrägstrichen. |
hashing_algo |
security_result.summary |
Direkte Zuordnung |
home |
event.idm.read_only_udm.target.file.full_path |
Direkte Zuordnung |
HostName |
Computer |
Wird verwendet, wenn Computer leer ist. |
HostIP |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Der Teil von HostIP vor % wird extrahiert und als validated_ip zugeordnet. |
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 |
Direkte Zuordnung, wenn nicht leer oder ? . |
host_name |
event.idm.read_only_udm.target.hostname , event.idm.read_only_udm.target.asset.hostname |
Direkte Zuordnung |
InitiatorBytes |
event.idm.read_only_udm.network.sent_bytes |
Direkte Zuordnung, in eine vorzeichenlose Ganzzahl konvertiert. |
InitiatorPackets |
event.idm.read_only_udm.network.sent_packets |
Direkte Zuordnung, in Ganzzahl konvertiert. |
insertId |
event.idm.read_only_udm.metadata.product_log_id |
Direkte Zuordnung |
InstanceID |
security_result.detection_fields |
Schlüssel: Instance ID , Wert: InstanceID |
int_dvc |
event.idm.read_only_udm.intermediary.hostname |
Direkte Zuordnung |
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 |
Direkte Zuordnung |
ip_protocol |
event.idm.read_only_udm.network.ip_protocol |
Direkte Zuordnung |
laddr |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Direkte Zuordnung, wenn nicht leer oder ? . |
level |
security_result.severity |
Bei info auf INFORMATIONAL . |
log.syslog.facility.name |
event.idm.read_only_udm.target.application |
Direkte Zuordnung |
log.syslog.severity.name |
security_result.severity |
Bei Emergency auf HIGH . |
logName |
logname |
Direkte Zuordnung |
log_description |
security_result.description |
Direkte Zuordnung |
log_level |
security_result.severity |
Bei error auf ERROR . |
log_summary |
security_result.summary |
Direkte Zuordnung |
logger_name |
event.idm.read_only_udm.principal.resource.attribute.labels |
Schlüssel: logger_name , Wert: logger_name |
log_type |
event.idm.read_only_udm.metadata.log_type |
Hartcodiert auf NIX_SYSTEM . |
lport |
event.idm.read_only_udm.principal.port |
Direkte Zuordnung, in Ganzzahl konvertiert. |
MG |
event.idm.read_only_udm.principal.resource.attribute.labels |
Schlüssel: MG , Wert: MG |
method |
event.idm.read_only_udm.network.http.method |
Direkte Zuordnung, in Großbuchstaben umgewandelt. |
msg1 |
event.idm.read_only_udm.metadata.description , event.idm.read_only_udm.additional.fields , security_result.description |
Mit Grok-Mustern geparst. Wenn event_type GENERIC_EVENT ist, wird description zugeordnet. |
msg2 |
event.idm.read_only_udm.network.received_bytes , security_result.summary |
Wenn sie Ziffern enthält, wird sie in eine Ganzzahl ohne Vorzeichen konvertiert und received_bytes zugeordnet. Andernfalls wird summary zugeordnet. |
NAPPolicy |
security_result.rule_labels |
Schlüssel: NAPPolicy , Wert: NAPPolicy |
name |
event.idm.read_only_udm.target.process.file.full_path |
Direkte Zuordnung nach dem Entfernen von Anführungszeichen. |
outcome |
security_result.action |
Wenn Succeeded success enthält, legen Sie ALLOW fest. |
p_id |
event.idm.read_only_udm.target.process.pid |
Direkte Zuordnung |
pid |
event.idm.read_only_udm.target.process.pid , event.idm.read_only_udm.principal.process.pid |
Direkte Zuordnung |
principal_hostname |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Direkte Zuordnung |
principal_ip |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Direkte Zuordnung |
principal_present |
event.idm.read_only_udm.metadata.event_type |
Wenn true und has_target true ist, setzen Sie event_type auf NETWORK_UNCATEGORIZED . Wenn true oder user_present true ist, setzen Sie event_type auf USER_UNCATEGORIZED . |
process |
event.idm.read_only_udm.target.application , event.idm.read_only_udm.metadata.product_event_type |
Direkte Zuordnung Wenn eventType leer ist, wird es als target.application verwendet. |
ProcessID |
event.idm.read_only_udm.principal.process.pid |
Direkte Zuordnung, in String konvertiert. |
ProcessName |
event.idm.read_only_udm.principal.resource.attribute.labels |
Schlüssel: ProcessName , Wert: ProcessName |
prod_eve_type |
event.idm.read_only_udm.metadata.product_event_type |
Direkte Zuordnung |
product_event_type |
event.idm.read_only_udm.metadata.product_event_type |
Direkte Zuordnung |
Protocol |
event.idm.read_only_udm.network.ip_protocol |
Wenn icmp , udp oder tcp (unabhängig von der Groß-/Kleinschreibung) übereinstimmt, wird der entsprechende Großbuchstabenwert zugeordnet. |
proto |
event.idm.read_only_udm.network.application_protocol |
Bei ssh oder ssh2 auf SSH . |
pwd |
event.idm.read_only_udm.target.file.full_path |
Direkte Zuordnung |
reason |
security_result.summary , security_result.description |
Wird in Kombination mit action und desc verwendet, um security_result.description zu erstellen. Auch security_result.summary zugeordnet. |
relayHostname |
event.idm.read_only_udm.intermediary.hostname |
Direkte Zuordnung |
relayIp |
event.idm.read_only_udm.intermediary.ip |
Direkte Zuordnung |
res |
security_result.summary |
Direkte Zuordnung |
resource.labels.instance_id |
event.idm.read_only_udm.target.resource.product_object_id |
Direkte Zuordnung |
resource.labels.project_id |
event.idm.read_only_udm.target.asset.attribute.cloud.project.id |
Direkte Zuordnung |
resource.labels.zone |
event.idm.read_only_udm.target.asset.attribute.cloud.availability_zone |
Direkte Zuordnung |
resource.type |
event.idm.read_only_udm.target.resource.resource_subtype |
Direkte Zuordnung |
response_code |
event.idm.read_only_udm.network.http.response_code |
Direkte Zuordnung, in Ganzzahl konvertiert. |
ResponderBytes |
event.idm.read_only_udm.network.received_bytes |
Direkte Zuordnung, in eine vorzeichenlose Ganzzahl konvertiert. |
ResponderPackets |
event.idm.read_only_udm.network.received_packets |
Direkte Zuordnung, in Ganzzahl konvertiert. |
rhost |
event.idm.read_only_udm.additional.fields |
Schlüssel: rhost , Wert: rhost |
ruser |
srcUser |
Direkte Zuordnung |
sec_action |
security_result.action |
Auf Grundlage von action oder eventType zugeordnet. |
sec_summary |
security_result.summary |
Direkte Zuordnung |
security_action |
security_result.action |
Direkte Zuordnung |
sent_bytes |
event.idm.read_only_udm.network.sent_bytes |
Direkte Zuordnung, in eine vorzeichenlose Ganzzahl konvertiert. |
ses |
event.idm.read_only_udm.network.session_id , event.idm.read_only_udm.network.session_duration |
Wenn numerisch, wird der Wert als UNIX-Zeitstempel geparst und session_duration zugeordnet. Andernfalls wird session_id zugeordnet. |
SeverityLevel |
security_result.severity |
Je nach Wert werden unterschiedliche Schweregrade zugeordnet („notice“/„info“ –> INFORMATIONAL, „warn“ –> HIGH, „error“ –> ERROR, „other“ –> UNKNOWN_SEVERITY). |
sessionId |
event.idm.read_only_udm.network.session_id |
Direkte Zuordnung |
size |
event.idm.read_only_udm.network.received_bytes |
Direkte Zuordnung, in eine vorzeichenlose Ganzzahl konvertiert. |
source |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Direkte Zuordnung nach dem Entfernen von vorangestellten Leerzeichen. |
SourceSystem |
event.idm.read_only_udm.principal.resource.attribute.labels , event.idm.read_only_udm.principal.platform |
Schlüssel: SourceSystem , Wert: SourceSystem . Wird auch platform zugeordnet (Linux –> LINUX, Windows –> WINDOWS, Mac/iOS –> MAC). |
SrcIP |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Direkte Zuordnung |
SrcPort |
event.idm.read_only_udm.principal.port |
Direkte Zuordnung, in Ganzzahl konvertiert. |
srcIp |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Direkte Zuordnung |
srcPort |
event.idm.read_only_udm.principal.port |
Direkte Zuordnung, in Ganzzahl konvertiert. |
srcUser |
event.idm.read_only_udm.principal.user.userid |
Direkte Zuordnung |
src_user |
event.idm.read_only_udm.principal.user.userid |
Direkte Zuordnung |
src_user_display_name |
event.idm.read_only_udm.principal.user.user_display_name |
Direkte Zuordnung |
status |
security_result.action |
Bei Deferred auf BLOCK . Bei Sent auf ALLOW . |
summary |
security_result.summary |
Direkte Zuordnung |
SyslogMessage |
security_result.description |
Direkte Zuordnung |
targetEmail |
event.idm.read_only_udm.network.email.to |
Direkte Zuordnung |
targetEmailfrom |
event.idm.read_only_udm.network.email.from |
Direkte Zuordnung |
targetHostname |
event.idm.read_only_udm.target.hostname , event.idm.read_only_udm.target.asset.hostname |
Direkte Zuordnung |
target_hostname |
event.idm.read_only_udm.target.hostname , event.idm.read_only_udm.target.asset.hostname |
Direkte Zuordnung |
target_ip |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
Direkte Zuordnung |
target_mac |
event.idm.read_only_udm.target.mac |
Direkte Zuordnung |
target_uri |
event.idm.read_only_udm.target.url |
Direkte Zuordnung |
TenantId |
event.idm.read_only_udm.principal.user.product_object_id |
Direkte Zuordnung |
terminal |
event.idm.read_only_udm.additional.fields |
Schlüssel: terminal , Wert: terminal , falls nicht leer, oder ? . |
TimeGenerated |
event.idm.read_only_udm.metadata.collected_timestamp |
Als Zeitstempel geparst. |
timestamp |
@timestamp |
Als Zeitstempel geparst. |
tls_cipher |
event.idm.read_only_udm.network.tls.cipher |
Direkte Zuordnung |
Type |
event.idm.read_only_udm.principal.resource.attribute.labels |
Schlüssel: Type , Wert: Type |
uid |
event.idm.read_only_udm.principal.user.userid |
Bei 0 auf root . Andernfalls erfolgt eine direkte Zuordnung. |
uid_2 |
event.idm.read_only_udm.target.user.userid |
Direkte Zuordnung, wenn uid leer ist. |
unit |
event.idm.read_only_udm.target.application |
Direkte Zuordnung |
url |
event.idm.read_only_udm.target.url |
Direkte Zuordnung |
user |
username |
Direkte Zuordnung |
username |
event.idm.read_only_udm.target.user.userid , event.idm.read_only_udm.principal.user.userid |
Direkte Zuordnung |
user_display_name |
event.idm.read_only_udm.target.user.user_display_name |
Direkte Zuordnung |
user_present |
event.idm.read_only_udm.metadata.event_type |
Wenn true oder principal_present true ist, setzen Sie event_type auf USER_UNCATEGORIZED . |
_Internal_WorkspaceResourceId |
event.idm.read_only_udm.target.resource.attribute.labels , event.idm.read_only_udm.target.resource.product_object_id |
Schlüssel: _Internal_WorkspaceResourceId , Wert: _Internal_WorkspaceResourceId . Die Abo-ID wird extrahiert und product_object_id zugeordnet. |
_ItemId |
event.idm.read_only_udm.principal.resource.attribute.labels |
Schlüssel: _ItemId , Wert: _ItemId |
_ResourceId |
event.idm.read_only_udm.principal.resource.attribute.labels , event.idm.read_only_udm.principal.resource.product_object_id |
Schlüssel: _ResourceId , Wert: _ResourceId . Die Abo-ID wird extrahiert und product_object_id zugeordnet. |
_timestamp |
@timestamp |
Als Zeitstempel geparst. |
_timestamp_tz |
@timestamp |
Als Zeitstempel geparst. |
event.idm.read_only_udm.metadata.event_type
: Wird anfangs auf GENERIC_EVENT
gesetzt und dann basierend auf der Parserlogik überschrieben.
event.idm.read_only_udm.metadata.product_name
: Hartcodiert auf Unix System
.
event.idm.read_only_udm.extensions.auth.type
: Bei bestimmten Ereignistypen auf MACHINE
festgelegt.
event.idm.read_only_udm.target.asset.attribute.cloud.environment
: Auf GOOGLE_CLOUD_PLATFORM
für Google Cloud Audit-Logs festgelegt.
event.idm.read_only_udm.target.resource.resource_type
: Auf VIRTUAL_MACHINE
für Google Cloud Audit-Logs festgelegt.
event.idm.read_only_udm.extensions.auth.mechanism
: Legen Sie USERNAME_PASSWORD
für Anmeldeereignisse fest.
has_target_resource
: Auf true
setzen, wenn resource.labels.instance_id
oder _Internal_WorkspaceResourceId
vorhanden ist.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten