Mengumpulkan data syslog Apple macOS

Didukung di:

Parser ini menggunakan pola grok untuk mengekstrak kolom dari pesan syslog Apple macOS dan mengisi Unified Data Model (UDM) dengan nilai yang diekstrak, termasuk stempel waktu, nama host, host perantara, command line, ID proses, dan deskripsi. Parser mengategorikan peristiwa sebagai STATUS_UPDATE jika nama host ada; jika tidak, parser akan menetapkan kategori GENERIC_EVENT ke peristiwa. Terakhir, parser memperkaya peristiwa UDM dengan informasi vendor dan produk.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Security Operations.
  • Pastikan Anda memiliki akses root ke host Auditd.
  • Pastikan Anda telah menginstal rsyslog di host Auditd.
  • Pastikan Anda memiliki Windows 2012 SP2 atau yang lebih baru atau host Linux dengan systemd.
  • Jika berjalan di balik proxy, pastikan port firewall terbuka.

Mendapatkan file autentikasi penyerapan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Proses Transfer.

Mendapatkan ID pelanggan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Profil.
  3. Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.

Menginstal Agen BindPlane

  1. Untuk penginstalan Windows, jalankan skrip berikut:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet.
  2. Untuk penginstalan Linux, jalankan skrip berikut:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh.
  3. Opsi penginstalan tambahan dapat ditemukan di panduan penginstalan ini.

Mengonfigurasi Agen BindPlane untuk menyerap Syslog dan mengirim ke Google SecOps

  1. Akses komputer tempat BindPlane diinstal.
  2. Edit file config.yaml sebagai berikut:

    receivers:
      tcplog:
        # Replace the below port <54525> and IP <0.0.0.0> with your specific values
        listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: auditd
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Mulai ulang Agen BindPlane untuk menerapkan perubahan menggunakan perintah berikut: sudo systemctl bindplane restart

Mengekspor Syslog dari macOS

  1. Instal syslog-ng menggunakan Homebrew:

    brew install syslog-ng
    
  2. Konfigurasikan syslog-ng:

    • Edit file syslog-ng.conf (biasanya terletak di /usr/local/etc/syslog-ng/syslog-ng.conf):
    sudo vi /usr/local/etc/syslog-ng/syslog-ng.conf
    
    • Tambahkan blok konfigurasi berikut.
      • Bergantung pada konfigurasi BindPlane, Anda dapat mengubah metode pengiriman menjadi tcp atau membiarkannya sebagai udp.
      • Ganti <BindPlaneAgent_IP> dan <BindPlaneAgent_Port> dengan alamat IP dan port sebenarnya dari Agen BindPlane Anda:
    source s_local { system(); internal(); };
    destination d_secops { tcp("<BindPlaneAgent_IP>:<BindPlaneAgent_Port>"); };
    log { source(s_local); destination(d_secops); };
    
  3. Mulai ulang layanan syslog-ng:

    brew services restart syslog-ng
    
  4. Periksa status syslog-ng (Anda akan melihat syslog-ng tercantum sebagai dimulai):

    brew services list
    

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
data read_only_udm.metadata.description Nilai kolom description diekstrak dari kolom data dalam log mentah menggunakan pola grok.
data read_only_udm.principal.hostname Nama host diekstrak dari kolom data menggunakan pola grok.
data read_only_udm.intermediary.hostname Nama host perantara diekstrak dari kolom data menggunakan pola grok.
data read_only_udm.principal.process.command_line Command line proses diekstrak dari kolom data menggunakan pola grok.
data read_only_udm.principal.process.pid ID proses diekstrak dari kolom data menggunakan pola grok.
data read_only_udm.metadata.event_timestamp Stempel waktu peristiwa diekstrak dari kolom data menggunakan pola grok dan dikonversi menjadi objek stempel waktu. Di-hardcode ke "MacOS" di parser. Di-hardcode ke "Apple" di parser. Tetapkan ke "STATUS_UPDATE" jika nama host diekstrak dari log, jika tidak, tetapkan ke "GENERIC_EVENT".
log_type read_only_udm.metadata.log_type Dipetakan langsung dari kolom log_type log mentah.

Perubahan

2022-05-04

  • Parser yang baru dibuat.