Mengumpulkan log ManageEngine ADAudit Plus
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.
Opsi 1: Buat akun layanan untuk Chronicle API (direkomendasikan)
- Login ke konsolGoogle Cloud dan pilih project Google Cloud yang ditautkan ke instance Google SecOps Anda.
- Buka IAM & Admin > Service Accounts.
- Klik Create service account.
- Berikan detail konfigurasi berikut:
- Service account name: Masukkan nama akun (misalnya,
bindplane-ingest). - Deskripsi akun layanan: Masukkan deskripsi (misalnya,
Bindplane agent log ingestion).
- Service account name: Masukkan nama akun (misalnya,
- Klik Create and continue.
- Di bagian Grant this service account access to project, klik Select a role, lalu pilih Chronicle Editor.
- Klik Continue lalu klik Done.
- Klik akun layanan yang Anda buat, lalu buka tab Keys.
- Klik Add key > Create new key.
- Pilih JSON, lalu klik Create. File kunci akan didownload ke komputer Anda.
- Simpan file kunci sebagai
ingestion-auth.jsondi direktori Bindplane collector (/opt/observiq-otel-collector/ingestion-auth.jsondi Linux atauC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsondi Windows), atau perbaruicreds_file_pathdiconfig.yamlagar sesuai dengan jalur tempat Anda menyimpannya. - Buka IAM & Admin > Settings dan salin Project number. Anda akan memerlukannya untuk konfigurasi pengekspor.
Opsi 2: Mendownload file autentikasi penyerapan (lama)
- Login ke konsol Google SecOps.
- Buka SIEM Settings > Collection Agents.
- Download file autentikasi penyerapan.
- Simpan file dengan aman di sistem tempat agen BindPlane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.
Menginstal agen Bindplane
Penginstalan Windows
- Buka Command Prompt atau PowerShell sebagai administrator.
Jalankan perintah berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Penginstalan Linux
- Buka terminal dengan hak istimewa root atau sudo.
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 pemasangan tambahan, lihat panduan pemasangan ini.
Mengonfigurasi agen Bindplane untuk menyerap Syslog dan mengirimkannya ke Google SecOps
Akses file konfigurasi:
- Cari file
config.yaml. Biasanya, file ini berada di direktori/opt/observiq-otel-collector/di Linux atau di direktori penginstalan di Windows. - Buka file menggunakan editor teks (misalnya,
nano,vi, atau Notepad).
- Cari file
Edit file
config.yamlsebagai 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_labelsGanti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.
Ganti
<LOCATION>dengan region instance Google SecOps Anda (misalnya,us,europe, atauasia-southeast1). Pengekspor akan menambahkan awalanchronicle.googleapis.comdengan nilai ini.Ganti
<PROJECT_NUMBER>dengan nomor project dari IAM & Admin > Settings.Ganti
<customer_id>dengan ID pelanggan yang sebenarnya.Ganti
/path/to/ingestion-authentication-file.jsondengan 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
exportersdengan kode berikut. Tetapkancredske jalur ke file autentikasi penyerapan, dan jika instance Anda berada di luar AS, gantimalachiteingestion-pa.googleapis.comdengan 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-agentUntuk 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
- Login ke UI web ManageEngine ADAudit Plus.
- Buka Admin > Konfigurasi > Integrasi SIEM.
- Pilih Enable untuk mengirim log ADAudit Plus.
- Pilih format ArcSight (CEF).
- Berikan detail konfigurasi berikut:
- IP Address: Alamat IP agen Bindplane.
- Port: Nomor port BindPlane; misalnya,
514untuk UDP. - Target Type: Pilih UDP (Anda juga dapat memilih TCP, bergantung pada konfigurasi agen Bindplane Anda).
- 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.