Mengumpulkan Log Sistem macOS

Didukung di:

Dokumen ini menjelaskan cara menyerap log sistem macOS ke Google Security Operations menggunakan Bindplane. macOS menggunakan sistem Apple Unified Logging untuk merekam peristiwa tingkat sistem, termasuk autentikasi, eksekusi proses, aktivitas kernel, dan perilaku aplikasi. Log ini dapat diteruskan melalui syslog ke pengumpul jarak jauh untuk analisis dan pemantauan keamanan terpusat.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps.
  • Host Windows 2016 atau yang lebih baru atau Linux dengan systemd.
  • Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane.
  • Akses administratif ke endpoint macOS yang akan meneruskan log.
  • macOS 10.12 (Sierra) atau yang lebih baru dengan dukungan Unified Logging.

Mendapatkan file autentikasi penyerapan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka SIEM Settings > Collection Agent.
  3. Download File Autentikasi Penyerapan.
    • Simpan file dengan aman di sistem tempat BindPlane akan diinstal.

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

Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.

Penginstalan Windows

  1. Buka Command Prompt atau PowerShell sebagai administrator.
  2. Jalankan perintah berikut:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Penginstalan Linux

  1. Buka terminal dengan hak istimewa root atau sudo.
  2. Jalankan perintah berikut:

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

Referensi penginstalan tambahan

Untuk opsi penginstalan tambahan, lihat panduan penginstalan ini.

Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya ke Google SecOps

  1. Akses File Konfigurasi:

    • Temukan file config.yaml. Biasanya, file ini berada di direktori /observiq-otel-collector/ di Linux atau di direktori penginstalan di Windows.
    • Buka file menggunakan editor teks (misalnya, nano, vi, atau Notepad).
  2. Edit file config.yaml sebagai berikut:

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <PLACEHOLDER_CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'MACOS'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
  • Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.
  • Ganti <PLACEHOLDER_CUSTOMER_ID> dengan ID Pelanggan yang sebenarnya.
  • Ganti /path/to/ingestion-authentication-file.json dengan jalur file tempat file autentikasi disimpan di bagian Mendapatkan file autentikasi penyerapan Google SecOps.

Mulai ulang agen Bindplane untuk menerapkan perubahan

Untuk memulai ulang agen Bindplane di Linux:

  1. Jalankan perintah berikut:

    sudo systemctl restart observiq-otel-collector
    
  2. Pastikan layanan sedang berjalan:

    sudo systemctl status observiq-otel-collector
    
  3. Periksa log untuk mengetahui error:

    sudo journalctl -u observiq-otel-collector -f
    

Untuk memulai ulang agen Bindplane di Windows:

  1. Pilih salah satu opsi berikut:

    • Command Prompt atau PowerShell sebagai administrator:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • Konsol layanan:
      1. Tekan Win+R, ketik services.msc, lalu tekan Enter.
      2. Temukan observIQ OpenTelemetry Collector.
      3. Klik kanan, lalu pilih Mulai Ulang.
  2. Pastikan layanan sedang berjalan:

    sc query observiq-otel-collector
    
  3. Periksa log untuk mengetahui error:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

Mengonfigurasi penerusan syslog macOS

macOS menggunakan sistem Unified Logging. Untuk meneruskan log ke agen Bindplane melalui syslog, konfigurasi layanan syslogd bawaan di setiap endpoint macOS.

Opsi 1: Mengonfigurasi penerusan syslog menggunakan syslog.conf

  1. Buka Terminal di endpoint macOS.
  2. Edit file konfigurasi syslog:

    sudo nano /etc/syslog.conf
    
  3. Tambahkan baris berikut di akhir file untuk meneruskan semua log melalui UDP ke agen Bindplane:

    *.*     @<BINDPLANE_IP_ADDRESS>:514
    
    • Ganti <BINDPLANE_IP_ADDRESS> dengan alamat IP host agen BindPlane (misalnya, 192.168.1.100).
  4. Simpan file dan keluar.

  5. Mulai ulang daemon syslog:

    sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
    sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
    

Opsi 2: Mengonfigurasi penerusan syslog menggunakan asl.conf

  1. Buka Terminal di endpoint macOS.
  2. Edit file konfigurasi ASL:

    sudo nano /etc/asl.conf
    
  3. Tambahkan baris berikut untuk meneruskan log ke server syslog jarak jauh:

    ? [= Sender kernel] forward <BINDPLANE_IP_ADDRESS>:514
    ? [<= Level notice] forward <BINDPLANE_IP_ADDRESS>:514
    
    • Ganti <BINDPLANE_IP_ADDRESS> dengan alamat IP host agen Bindplane.
  4. Simpan file dan keluar.

  5. Mulai ulang daemon syslog:

    sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
    sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
    

Memverifikasi penerusan log

  1. Di endpoint macOS, buat pesan log pengujian:

    logger -p user.notice "Test syslog message for Bindplane"
    
  2. Di host agen BindPlane, periksa log agen untuk pesan masuk:

    sudo journalctl -u observiq-otel-collector -f
    

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
activityIdentifier_label additional.fields Digabung
backtrace_label additional.fields Digabung
bootUUID_label additional.fields Digabung
category_label additional.fields Digabung
chronicle_log_type_label additional.fields Digabung
formatString_label additional.fields Digabung
log_type_label additional.fields Digabung
machTimestamp_label additional.fields Digabung
messageType_label additional.fields Digabung
parentActivityIdentifier_label additional.fields Digabung
processImageUUID_label additional.fields Digabung
senderImageUUID_label additional.fields Digabung
senderProgramCounter_label additional.fields Digabung
subprocess_label additional.fields Digabung
subsystem_label additional.fields Digabung
threadID_label additional.fields Digabung
traceID_label additional.fields Digabung
intermediary_host intermediary.hostname Dipetakan secara langsung
attributes.message metadata.description Dipetakan secara langsung
description metadata.description Dipetakan secara langsung
eventMessage metadata.description Dipetakan secara langsung
timestamp metadata.event_timestamp Diurai sebagai ISO8601
has_principal metadata.event_type Dipetakan: trueSTATUS_UPDATE
has_user metadata.event_type Dipetakan: trueUSER_UNCATEGORIZED
attributes.process metadata.product_event_type Dipetakan secara langsung
eventType metadata.product_event_type Dipetakan secara langsung
attributes.host principal.asset.hostname Dipetakan secara langsung
hostname principal.asset.hostname Dipetakan secara langsung
source principal.asset.hostname Dipetakan secara langsung
senderImagePath principal.file.full_path Dipetakan secara langsung
attributes.host principal.hostname Dipetakan secara langsung
hostname principal.hostname Dipetakan secara langsung
source principal.hostname Dipetakan secara langsung
command_line principal.process.command_line Dipetakan secara langsung
processImagePath principal.process.file.full_path Dipetakan secara langsung
attributes.pid principal.process.pid Dipetakan secara langsung
processID principal.process.pid Dipetakan secara langsung
process_id principal.process.pid Dipetakan secara langsung
userID principal.user.userid Dipetakan secara langsung
T/A metadata.event_type Konstanta: USER_UNCATEGORIZED
T/A metadata.product_name Konstanta: MacOS
T/A metadata.vendor_name Konstanta: Apple
T/A principal.platform Konstanta: MAC

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.