Mengumpulkan log ManageEngine ADAudit Plus

Didukung di:

Dokumen ini menjelaskan cara menyerap log ManageEngine ADAudit Plus ke Google Security Operations menggunakan agen Bindplane. Parser menangani log dari ADAudit Plus, mengonversinya ke dalam format UDM. Alat ini menggunakan pola grok untuk mengekstrak kolom dari pesan berformat SYSLOG (CEF) dan kunci-nilai, memetakannya ke kolom UDM berdasarkan jenis peristiwa yang berasal dari profil pemberitahuan dan laporan, serta memperkaya data dengan konteks tambahan. Parser juga menangani skenario tertentu seperti kegagalan login, perubahan pengguna, dan modifikasi file, serta menyesuaikan pemetaan UDM.

Sebelum memulai

  • Pastikan Anda memiliki instance Google SecOps.
  • Pastikan Anda menggunakan Windows 2016 atau yang lebih baru, atau host Linux dengan systemd.
  • Jika beroperasi dari balik proxy, pastikan port firewall terbuka.
  • Pastikan Anda memiliki akses istimewa ke ManageEngine ADAudit.

Mendapatkan kredensial Google SecOps untuk agen Bindplane

Untuk mengautentikasi agen Bindplane ke Google SecOps, pilih salah satu metode berikut:

  • Deployment baru: Gunakan Chronicle API (Opsi 1).
  • Deployment lama: Terus gunakan file autentikasi penyerapan (Opsi 2) hingga Ingestion API dihentikan pada 20 Juli 2027.
  1. Login ke konsolGoogle Cloud dan pilih project Google Cloud yang ditautkan ke instance Google SecOps Anda.
  2. Buka IAM & Admin > Service Accounts.
  3. Klik Create service account.
  4. Berikan detail konfigurasi berikut:
    • Service account name: Masukkan nama akun (misalnya, bindplane-ingest).
    • Deskripsi akun layanan: Masukkan deskripsi (misalnya, Bindplane agent log ingestion).
  5. Klik Create and continue.
  6. Di bagian Grant this service account access to project, klik Select a role, lalu pilih Chronicle Editor.
  7. Klik Continue lalu klik Done.
  8. Klik akun layanan yang Anda buat, lalu buka tab Keys.
  9. Klik Add key > Create new key.
  10. Pilih JSON, lalu klik Create. File kunci akan didownload ke komputer Anda.
  11. Simpan file kunci sebagai ingestion-auth.json di direktori Bindplane collector (/opt/observiq-otel-collector/ingestion-auth.json di Linux atau C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json di Windows), atau perbarui creds_file_path di config.yaml agar sesuai dengan jalur tempat Anda menyimpannya.
  12. Buka IAM & Admin > Settings dan salin Project number. Anda akan memerlukannya untuk konfigurasi pengekspor.

Opsi 2: Mendownload file autentikasi penyerapan (lama)

  1. Login ke konsol Google SecOps.
  2. Buka SIEM Settings > Collection Agents.
  3. Download file autentikasi penyerapan.
  4. Simpan file dengan aman di sistem tempat agen 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

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

Mengonfigurasi agen Bindplane untuk menyerap Syslog dan mengirimkannya ke Google SecOps

  1. Akses file konfigurasi:

    1. Cari file config.yaml. Biasanya, file ini berada di direktori /opt/observiq-otel-collector/ di Linux atau di direktori penginstalan di Windows.
    2. 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:
            protocol: https
            # Region of your instance, for example us, europe, asia-southeast1
            location: <LOCATION>
            # Project number of the Google Cloud project linked to the instance
            project: '<PROJECT_NUMBER>'
            compression: gzip
            # 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: chronicle.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: ADAUDIT_PLUS
                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 <LOCATION> dengan region instance Google SecOps Anda (misalnya, us, europe, atau asia-southeast1). Pengekspor akan menambahkan awalan chronicle.googleapis.com dengan nilai ini.

  5. Ganti <PROJECT_NUMBER> dengan nomor project dari IAM & Admin > Settings.

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

  7. Ganti /path/to/ingestion-authentication-file.json dengan jalur tempat file kunci akun layanan (Opsi 1) disimpan di bagian Mendapatkan kredensial Google SecOps untuk agen Bindplane.

Pengekspor API penyerapan lama

  • Jika Anda menggunakan file autentikasi penyerapan dari Opsi 2, ganti blok exporters dengan kode berikut. Tetapkan creds ke jalur ke file autentikasi penyerapan, dan jika instance Anda berada di luar AS, ganti malachiteingestion-pa.googleapis.com dengan endpoint regional Anda (misalnya, europe-malachiteingestion-pa.googleapis.com).

    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # 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
            ingestion_labels:
                log_type: ADAUDIT_PLUS
                raw_log_field: body
    

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 Syslog ManageEngine ADAudit Plus

  1. Login ke UI web ManageEngine ADAudit Plus.
  2. Buka Admin > Konfigurasi > Integrasi SIEM.
  3. Pilih Enable untuk mengirim log ADAudit Plus.
  4. Pilih format ArcSight (CEF).
  5. Berikan detail konfigurasi berikut:
    • IP Address: Alamat IP agen Bindplane.
    • Port: Nomor port BindPlane; misalnya, 514 untuk UDP.
    • Target Type: Pilih UDP (Anda juga dapat memilih TCP, bergantung pada konfigurasi agen Bindplane Anda).
  6. Klik Simpan.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
ACCOUNT_DOMAIN principal.administrative_domain Nilai ACCOUNT_DOMAIN dari log mentah ditetapkan ke kolom UDM ini.
ACCOUNT_NAME principal.user.userid Nilai ACCOUNT_NAME dari log mentah ditetapkan ke kolom UDM ini.
ALERT_PROFILE security_result.summary Nilai ALERT_PROFILE dari log mentah ditetapkan ke kolom UDM ini.
APPLICATION_NAME target.resource.name Nilai APPLICATION_NAME dari log mentah ditetapkan ke kolom UDM ini. Juga menyetel target.resource.resource_type ke TASK dan has_target_resource ke true.
CALLER_DISPLAY_NAME target.user.user_display_name Nilai CALLER_DISPLAY_NAME dari log mentah ditetapkan ke kolom UDM ini.
CALLER_USER_NAME target.user.userid Nilai CALLER_USER_NAME dari log mentah ditetapkan ke kolom UDM ini.
CALLER_USER_SID target.group.windows_sid Nilai CALLER_USER_SID dari log mentah ditetapkan ke kolom UDM ini setelah menghapus karakter [%,{,}]. Tindakan ini hanya dilakukan jika nilainya cocok dengan pola SID Windows.
Category metadata.product_event_type Nilai Category dari log mentah ditetapkan ke kolom UDM ini.
CLIENT_HOST_NAME target.hostname, target.asset.hostname Nilai CLIENT_HOST_NAME dari log mentah ditetapkan ke kolom UDM ini.
CLIENT_IP_ADDRESS target.ip, target.asset.ip Nilai CLIENT_IP_ADDRESS dari log mentah ditetapkan ke kolom UDM ini setelah divalidasi sebagai alamat IP yang valid.
CLIENT_PORT target.port Nilai CLIENT_PORT dari log mentah ditetapkan ke kolom UDM ini setelah dikonversi menjadi bilangan bulat.
DOMAIN target.administrative_domain Nilai DOMAIN dari log mentah ditetapkan ke kolom UDM ini. Nilai ini mungkin akan ditimpa nanti oleh ACCOUNT_DOMAIN jika ada.
FILE_LOCATION target.file.full_path Nilai FILE_LOCATION dari log mentah ditetapkan ke kolom UDM ini.
FILE_NAME target.file.full_path Nilai FILE_NAME dari log mentah ditetapkan ke kolom UDM ini jika FILE_LOCATION tidak ada.
FORMAT_MESSAGE security_result.description Nilai FORMAT_MESSAGE dari log mentah ditetapkan ke kolom UDM ini. Bagian dari kolom ini dapat digunakan untuk mengisi kolom UDM lainnya, lalu dihapus dari deskripsi.
IP principal.ip, principal.asset.ip Nilai IP dari log mentah ditetapkan ke kolom UDM ini setelah divalidasi sebagai alamat IP yang valid.
loggerHost intermediary.hostname, intermediary.asset.hostname Nilai loggerHost yang diekstrak dari kolom pesan log mentah ditetapkan ke kolom UDM ini.
login_name target.user.userid atau target.user.email_addresses atau target.user.user_display_name Jika nilai berisi @, nilai tersebut akan diperlakukan sebagai alamat email. Jika berisi spasi, nama tersebut akan diperlakukan sebagai nama tampilan. Jika tidak, nilai tersebut akan diperlakukan sebagai ID pengguna. Juga menetapkan event_type ke USER_LOGIN, extensions.auth.type ke MACHINE, dan extensions.auth.mechanism ke USERNAME_PASSWORD.
RECORD_NUMBER principal.process.pid Nilai RECORD_NUMBER dari log mentah ditetapkan ke kolom UDM ini.
REPORT_PROFILE metadata.description Nilai REPORT_PROFILE dari log mentah ditetapkan ke kolom UDM ini.
SEVERITY security_result.severity Nilai SEVERITY menentukan nilai kolom UDM ini: 1 dipetakan ke LOW, 2 dipetakan ke MEDIUM, dan 3 dipetakan ke HIGH.
SOURCE principal.hostname, principal.asset.hostname Nilai SOURCE dari log mentah, yang digabungkan dengan DOMAIN jika SOURCE tidak berisi bagian domain, ditetapkan ke kolom UDM ini. Juga menetapkan has_principal_host ke true.
TIME_GENERATED metadata.event_timestamp.seconds Nilai TIME_GENERATED dari log mentah digunakan sebagai stempel waktu peristiwa.
UNIQUE_ID metadata.product_log_id Nilai UNIQUE_ID dari log mentah ditetapkan ke kolom UDM ini.
USERNAME principal.user.userid Nilai USERNAME dari log mentah ditetapkan ke kolom UDM ini jika ACCOUNT_NAME tidak ada.
USER_OU_GUID metadata.product_log_id Nilai USER_OU_GUID dari log mentah, setelah menghapus tanda kurung kurawal, ditetapkan ke kolom UDM ini jika UNIQUE_ID tidak ada.
access_mode security_result.detection_fields.value Nilai access_mode dari log mentah ditetapkan ke kolom UDM ini, dengan kunci yang ditetapkan ke ACCESS_MODE.
action_name security_result.description Nilai action_name dari log mentah ditetapkan ke kolom UDM ini.
domain_name principal.administrative_domain Nilai domain_name dari log mentah ditetapkan ke kolom UDM ini.
event.idm.read_only_udm.extensions.auth.mechanism event.idm.read_only_udm.extensions.auth.mechanism Setel ke USERNAME_PASSWORD jika login_name ada atau jika event_type adalah USER_LOGIN.
event.idm.read_only_udm.extensions.auth.type event.idm.read_only_udm.extensions.auth.type Tetapkan ke MACHINE jika login_name ada atau jika event_type adalah USER_LOGIN.
event.idm.read_only_udm.metadata.event_type event.idm.read_only_udm.metadata.event_type Ditentukan oleh parser berdasarkan nilai ALERT_PROFILE, REPORT_PROFILE, dan FORMAT_MESSAGE. Dapat berupa salah satu dari beberapa nilai, termasuk USER_CHANGE_PERMISSIONS, USER_STATS, USER_LOGIN, USER_CHANGE_PASSWORD, SETTING_MODIFICATION, FILE_DELETION, FILE_MODIFICATION, STATUS_SHUTDOWN, SCHEDULED_TASK_CREATION, FILE_READ, NETWORK_CONNECTION, GENERIC_EVENT, USER_UNCATEGORIZED, atau STATUS_UPDATE.
event.idm.read_only_udm.metadata.log_type event.idm.read_only_udm.metadata.log_type Selalu ditetapkan ke ADAUDIT_PLUS.
event.idm.read_only_udm.metadata.product_name event.idm.read_only_udm.metadata.product_name Selalu ditetapkan ke ADAudit Plus.
event.idm.read_only_udm.metadata.vendor_name event.idm.read_only_udm.metadata.vendor_name Selalu ditetapkan ke Zoho Corporation.
host principal.hostname, principal.asset.hostname Nilai host dari log mentah ditetapkan ke kolom UDM ini. Juga menetapkan has_principal_host ke true.
intermediary.hostname, intermediary.asset.hostname intermediary.hostname, intermediary.asset.hostname Tetapkan ke nilai loggerHost.
principalHost principal.hostname, principal.asset.hostname Nilai principalHost dari log mentah ditetapkan ke kolom UDM ini setelah memeriksa apakah itu adalah IP. Juga menetapkan has_principal_host ke true.
security_result.action security_result.action Tetapkan ke ALLOW jika outcome atau msg_data_2 berisi Success, atau jika FORMAT_MESSAGE berisi Status:Success. Tetapkan ke BLOCK jika status berisi denied, locked out, incorrect, does not meet, atau Unable to validate. Tetapkan ke BLOCK jika ALERT_PROFILE adalah Logon Failures for Admin Users.
security_result.category security_result.category Disetel ke POLICY_VIOLATION jika event_type adalah USER_STATS atau jika ALERT_PROFILE adalah Logon Failures for Admin Users.
security_result.rule_name security_result.rule_name Diekstrak dari kolom FORMAT_MESSAGE jika berisi Reason:.
status security_result.summary Nilai status dari log mentah ditetapkan ke kolom UDM ini.
targetHost target.hostname, target.asset.hostname atau target.ip, target.asset.ip Nilai targetHost dari log mentah ditetapkan ke kolom UDM ini setelah memeriksa apakah itu adalah IP.
targetUser target.user.userid Nilai targetUser dari log mentah ditetapkan ke kolom UDM ini.
_CNtargetUser target.user.user_display_name Nilai _CNtargetUser dari log mentah ditetapkan ke kolom UDM ini.
_user principal.user.userid atau target.user.userid Nilai _user dari log mentah ditetapkan ke principal.user.userid kecuali jika event_type adalah USER_CHANGE_PASSWORD, yang dalam hal ini ditetapkan ke target.user.userid.

Log Perubahan

Melihat Log Perubahan untuk parser ini

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