Mengumpulkan log ForgeRock OpenAM

Didukung di:

Dokumen ini menjelaskan cara menyerap log ForgeRock OpenAM ke Google Security Operations menggunakan Bindplane. Parser mengekstrak kolom dari log dalam format CSV, Syslog + KV, atau JSON, menormalisasinya, dan memetakannya ke Model Data Terpadu (UDM). Logstash menangani berbagai jenis peristiwa OpenAM, termasuk login/logout, hasil akses, dan log umum, yang memperkaya data dengan informasi pengguna, grup, dan jaringan sekaligus melakukan transformasi tertentu untuk berbagai format log dan jenis peristiwa. Parser memprioritaskan penguraian JSON, lalu kembali ke Syslog+KV, dan terakhir CSV, yang akan menghapus log dengan format yang tidak didukung.

Sebelum memulai

Pastikan Anda memenuhi prasyarat berikut:

  • Instance Google SecOps
  • Windows 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Jika dijalankan di belakang proxy, port firewall terbuka
  • Akses istimewa ke Forgerock OpenAM (misalnya, amAdmin)

Mendapatkan file autentikasi penyerapan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  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.

Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya ke Google SecOps

  1. Akses file konfigurasi:
    • Cari file config.yaml. Biasanya, file ini berada di direktori /etc/bindplane-agent/ 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: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: 'OPENAM'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.

  4. Ganti <customer_id> dengan ID pelanggan yang sebenarnya.

  5. Perbarui /path/to/ingestion-authentication-file.json ke jalur tempat file autentikasi disimpan di bagian Dapatkan file autentikasi penyerapan Google SecOps.

Mulai ulang agen Bindplane untuk menerapkan perubahan

  • Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:

    sudo systemctl restart bindplane-agent
    
  • Untuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Mengonfigurasi Audit Logging di Forgerock OpenAM

  1. Login ke konsol AM.
  2. Buka Configure > Global Services > Audit Logging.
  3. Aktifkan Logging audit untuk memulai fitur logging audit.
  4. Dalam daftar Filter yang diizinkan untuk kolom dan Filter yang diblokir untuk kolom, masukkan nilai yang akan disertakan (daftar yang diizinkan) atau dikecualikan (daftar yang diblokir) dari log peristiwa audit.
  5. Klik Simpan.

Mengonfigurasi Handler Syslog untuk Forgerock OpenAM

  1. Login ke konsol AM sebagai administrator, misalnya amAdmin.
  2. Untuk membuat pengendali peristiwa di konfigurasi global, buka Konfigurasi > Layanan Global > Audit Logging.
  3. Untuk membuat pengendali peristiwa di realm, buka Realms > Realm Name > Services > Audit Logging.
  4. Klik Tambahkan Konfigurasi Sekunder > Syslog.
  5. Berikan detail konfigurasi berikut:
    • Nama: Masukkan nama untuk pengendali peristiwa (misalnya, Google SecOps Syslog Event Handler).
    • Nama host server: Masukkan alamat IP agen Bindplane.
    • Port server: Masukkan nomor port agen Bindplane (misalnya, 514 untuk UDP).
    • Transport Protocol: Pilih UDP.
    • Waktu tunggu koneksi: Masukkan jumlah detik untuk menghubungkan (misalnya, 120).
    • Opsional: Aktifkan opsi Buffering.
  6. Klik Buat.
  7. Setelah handler peristiwa audit syslog dibuat, beberapa tab konfigurasi akan muncul.
  8. Pada tab General Handler Configuration, pilih Enabled untuk mengaktifkan pengendali peristiwa, jika dinonaktifkan.
  9. Pilih topik untuk log audit:
    • Akses
    • Aktivitas
    • Autentikasi
    • Konfigurasi
  10. Klik Simpan.
  11. Di tab Syslog Configuration, berikan detail konfigurasi berikut:
    • Nama host server: Masukkan alamat IP agen Bindplane.
    • Port server: Masukkan nomor port agen Bindplane.
    • Waktu tunggu koneksi: Masukkan jumlah detik untuk menghubungkan (misalnya, 120).
    • Transport Protocol: Pilih UDP.
    • Fasilitas: Pilih Local0.
    • Semua topik menetapkan tingkat keparahan ke INFORMASI.
  12. Klik Simpan.
  13. Di tab Buffering, pilih Buffering Diaktifkan untuk mengaktifkannya.

  14. Klik Simpan.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
client.ip principal.ip Alamat IP klien yang membuat permintaan.
client.ip principal.asset.ip Alamat IP aset klien yang membuat permintaan.
client.port principal.port Port yang digunakan oleh klien yang membuat permintaan.
entries[0].info.authLevel principal.resource.resource_subtype Tingkat autentikasi yang terkait dengan peristiwa. Diawali dengan "authLevel:".
entries[0].info.displayName security_result.description Nama deskriptif untuk node di hierarki autentikasi.
entries[0].info.ipAddress principal.asset.ip Alamat IP yang terkait dengan pihak utama dalam peristiwa.
entries[0].info.ipAddress principal.ip Alamat IP yang terkait dengan pihak utama dalam peristiwa.
entries[0].info.nodeId principal.resource.id ID unik node di pohon autentikasi. Diawali dengan "nodeId:".
entries[0].info.nodeOutcome principal.resource.attribute.labels.value Hasil node di pohon autentikasi.
entries[0].info.nodeType principal.resource.type Jenis node di pohon autentikasi. Diawali dengan "nodeType:".
entries[0].info.treeName principal.resource.name Nama hierarki autentikasi. Diawali dengan "treeName:".
eventName metadata.product_event_type Nama peristiwa mentah dari log OpenAM.
http.request.headers.host[0] target.asset.hostname Nama host server target, diekstrak dari header host.
http.request.headers.host[0] target.hostname Nama host server target, diekstrak dari header host.
http.request.headers.user-agent[0] network.http.user_agent Agen pengguna permintaan HTTP.
http.request.method network.http.method Metode HTTP yang digunakan dalam permintaan.
http.request.path target.url Jalur URL permintaan HTTP.
info.failureReason security_result.summary Alasan kegagalan autentikasi. Dikodekan secara permanen ke "SSO". Ditentukan oleh logika berdasarkan eventName dan kolom lainnya. Dapat berupa GENERIC_EVENT, USER_LOGIN, USER_LOGOUT, NETWORK_HTTP, atau STATUS_UPDATE. Dikodekan secara permanen ke "OPENAM". Dikodekan secara permanen ke "OpenAM". Hardcode ke "ForgeRock".
principal target.user.userid ID pengguna yang terlibat dalam peristiwa, diekstrak dari kolom userId, principal, atau runAs.
result security_result.action_details Hasil acara (misalnya, "SUCCESSFUL", "FAILED").
response.detail.reason security_result.summary Alasan kegagalan dalam peristiwa hasil akses.
response.status security_result.action_details Status respons dalam peristiwa hasil akses.
runAs target.user.userid ID pengguna yang terlibat dalam peristiwa, diekstrak dari kolom userId, principal, atau runAs.
security_result.action security_result.action Tindakan yang diambil sebagai akibat dari peristiwa keamanan (misalnya, "ALLOW", "BLOCK").
server.ip target.asset.ip Alamat IP server target.
server.ip target.ip Alamat IP server target.
server.port target.port Port server target.
timestamp metadata.event_timestamp Stempel waktu acara.
trackingIds metadata.product_log_id ID pelacakan yang terkait dengan peristiwa.
transactionId metadata.product_deployment_id ID transaksi yang terkait dengan peristiwa.
userId target.user.userid ID pengguna yang terlibat dalam peristiwa, diekstrak dari kolom userId, principal, atau runAs.
userId target.user.group_identifiers ID grup yang terkait dengan pengguna.
am_group target.user.group_identifiers ID grup yang terkait dengan pengguna.
am_user target.user.email_addresses Alamat email pengguna, jika ada di kolom am_user.
loginID[0] target.user.userid ID login yang digunakan dalam acara.
loginID[0] target.user.email_addresses Alamat email yang digunakan untuk login, jika ada di kolom loginID.
hostip intermediary.hostname Nama host perangkat perantara.
hostip intermediary.ip Alamat IP perangkat perantara.
src_ip principal.asset.ip Alamat IP sumber.
src_ip principal.ip Alamat IP sumber.
desc metadata.description Deskripsi peristiwa.
payload metadata.description Payload peristiwa.

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