Mengumpulkan log IBM Guardium
Dokumen ini menjelaskan cara menyerap log IBM Guardium ke Google Security Operations menggunakan Bindplane.
IBM Guardium adalah platform pemantauan aktivitas database dan perlindungan data yang menyediakan pemantauan, audit, dan perlindungan real-time untuk database dan sistem file. Guardium menawarkan kemampuan penilaian kerentanan, penemuan dan klasifikasi data, pemantauan aktivitas database, dan pelaporan kepatuhan.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Windows Server 2016 atau yang lebih baru, atau host Linux dengan
systemd - Konektivitas jaringan antara agen Bindplane dan IBM Guardium Collector
- Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
- Akses istimewa ke IBM Guardium CLI
- IBM Guardium versi 9.1 atau yang lebih baru untuk dukungan syslog terenkripsi (opsional)
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: Membuat akun layanan untuk Chronicle API (direkomendasikan)
- Login ke Google Cloud konsol 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:
- Nama akun layanan: Masukkan nama untuk akun (misalnya,
bindplane-ingest). - Deskripsi akun layanan: Masukkan deskripsi (misalnya,
Bindplane agent log ingestion).
- Nama akun layanan: Masukkan nama untuk 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 didownload ke komputer Anda.
- Simpan file kunci sebagai
ingestion-auth.jsondi direktori pengumpul Bindplane (/opt/observiq-otel-collector/ingestion-auth.jsondi Linux atauC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsondi Windows), atau perbaruicreds_file_pathdiconfig.yamlagar cocok 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
Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.
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" /quietTunggu hingga penginstalan selesai.
Verifikasi penginstalan dengan menjalankan:
sc query observiq-otel-collector
Layanan akan ditampilkan sebagai RUNNING.
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.shTunggu hingga penginstalan selesai.
Verifikasi penginstalan dengan menjalankan:
sudo systemctl status observiq-otel-collector
Layanan akan ditampilkan sebagai aktif (berjalan).
Referensi penginstalan tambahan
Untuk opsi pemasangan dan pemecahan masalah tambahan, lihat Panduan pemasangan agen Bindplane.
Mengonfigurasi agen Bindplane untuk menyerap syslog dan mengirimkannya ke Google SecOps
Menemukan file konfigurasi
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Mengedit file konfigurasi
Ganti seluruh konten
config.yamldengan konfigurasi berikut:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/guardium: 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 creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: chronicle.googleapis.com log_type: GUARDIUM raw_log_field: body ingestion_labels: log_source: guardium service: pipelines: logs/guardium_to_chronicle: receivers: - udplog exporters: - chronicle/guardium
Parameter konfigurasi
Ganti placeholder berikut:
Konfigurasi penerima:
- Gunakan
udploguntuk syslog UDP (paling umum untuk Guardium). - Gunakan
tcploguntuk syslog TCP jika diperlukan. - Alamat pemrosesan
0.0.0.0:514memproses semua antarmuka di port 514.
- Gunakan
Konfigurasi pengekspor:
creds_file_path: Jalur lengkap ke file kunci JSON akun layanan (Opsi 1):- Linux:
/opt/observiq-otel-collector/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: ID Pelanggan dari langkah sebelumnya.location: Ganti<LOCATION>dengan region instance Google SecOps Anda (misalnya,us,europe, atauasia-southeast1). Pengekspor mengawalichronicle.googleapis.comdengan nilai ini. Lihat Endpoint Regional untuk mengetahui daftar lengkapnya.project: Ganti<PROJECT_NUMBER>dengan nomor project dari IAM & Admin > Settings.endpoint: Tetap tetapkan kechronicle.googleapis.com.log_type: HarusGUARDIUM.ingestion_labels: Label opsional dalam format YAML.
Pengekspor API penyerapan lama
Jika Anda menggunakan file autentikasi penyerapan dari Opsi 2, ganti blok
exportersdengan kode berikut. Tetapkancreds_file_pathke jalur file autentikasi penyerapan, dan jika instance Anda berada di luar Amerika Serikat, gantimalachiteingestion-pa.googleapis.comdengan endpoint regional Anda (misalnya,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/guardium: compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: GUARDIUM raw_log_field: body ingestion_labels: log_source: guardium
Menyimpan file konfigurasi
Setelah mengedit, simpan file:
- Linux: Tekan
Ctrl+O, laluEnter, laluCtrl+X - Windows: Klik File > Save
Mulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:
sudo systemctl restart observiq-otel-collectorPastikan layanan sedang berjalan:
sudo systemctl status observiq-otel-collectorPeriksa log untuk mengetahui error:
sudo journalctl -u observiq-otel-collector -f
Untuk memulai ulang agen Bindplane di Windows, pilih salah satu opsi berikut:
Command Prompt atau PowerShell sebagai administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorKonsol layanan:
- Tekan
Win+R, ketikservices.msc, lalu tekan Enter. - Cari observIQ OpenTelemetry Collector.
Klik kanan, lalu pilih Restart.
Pastikan layanan sedang berjalan:
sc query observiq-otel-collectorPeriksa log untuk mengetahui error:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Tekan
Mengonfigurasi penerusan syslog IBM Guardium
Mengonfigurasi tujuan syslog melalui CLI
Untuk membuat tujuan syslog bagi peristiwa di IBM Guardium, Anda harus login ke antarmuka command line dan menentukan alamat IP untuk host agen Bindplane.
- Dengan menggunakan SSH, login ke IBM Guardium Collector sebagai pengguna CLI.
Ketik perintah berikut untuk mengonfigurasi tujuan syslog:
Untuk syslog UDP (direkomendasikan):
store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP udpUntuk syslog TCP:
store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP:514 tcpUntuk tingkat keseriusan tertentu:
store remotelog add non_encrypted daemon.alert BINDPLANE_AGENT_IP udp store remotelog add non_encrypted daemon.err BINDPLANE_AGENT_IP udp store remotelog add non_encrypted daemon.warning BINDPLANE_AGENT_IP udp- Ganti
BINDPLANE_AGENT_IPdengan alamat IP host tempat agen Bindplane diinstal.
- Ganti
Verifikasi konfigurasi dengan menjalankan:
show remotelogOutput akan menampilkan tujuan syslog jarak jauh yang Anda konfigurasi.
Mengonfigurasi syslog terenkripsi (opsional)
Jika Anda memerlukan penerusan syslog terenkripsi, IBM Guardium versi 9.1 dan yang lebih baru mendukung enkripsi TLS melalui TCP.
- Dapatkan sertifikat publik dalam format PEM dari certificate authority yang digunakan oleh penerima syslog jarak jauh Anda.
- Login ke CLI di Guardium Collector.
Ketik perintah berikut:
store remotelog add encrypted daemon.all BINDPLANE_AGENT_IP:6514 tcpSaat diminta, tempel sertifikat CA dalam format PEM, termasuk baris BEGIN dan END, lalu tekan
Ctrl+D.Guardium menyimpan sertifikat sebagai
/etc/pki/rsyslog/ca.pem.
Mengonfigurasi template pesan (opsional)
Guardium mendukung beberapa format pesan, termasuk CEF (Common Event Format) dan LEEF (Log Event Extended Format). Format default cocok untuk sebagian besar deployment.
Untuk menyesuaikan template pesan:
- Login ke GUI peralatan Guardium sebagai pengguna dengan hak istimewa admin.
- Buka konsol admin > Configuration > Global Profile.
- Di bagian Template Pesan, edit template dengan format yang Anda inginkan.
- Klik Simpan.
Mengonfigurasi kebijakan untuk mengirim pemberitahuan ke syslog
Kebijakan di IBM Guardium bertanggung jawab untuk bereaksi terhadap peristiwa dan meneruskan informasi peristiwa ke penerima syslog jarak jauh.
Mengonfigurasi tindakan pemberitahuan kebijakan
- Login ke GUI perangkat Guardium.
- Klik tab Alat.
- Dari navigasi kiri, pilih Policy Builder.
- Dari panel Pencari Kebijakan, pilih kebijakan yang ada, lalu klik Edit Aturan.
- Klik Edit Aturan ini satu per satu.
- Access Rule Definition akan ditampilkan.
- Klik Add Action.
- Dari daftar Tindakan, pilih salah satu jenis notifikasi berikut:
- Peringatan Per Kecocokan: Notifikasi diberikan untuk setiap pelanggaran kebijakan.
- Pemberitahuan Harian: Notifikasi diberikan saat pelanggaran kebijakan terjadi untuk pertama kalinya pada hari itu.
- Peringatan Sekali Per Sesi: Notifikasi diberikan per pelanggaran kebijakan untuk sesi unik.
- Alert Per Time Granularity: Notifikasi diberikan sesuai jangka waktu yang Anda pilih.
- Dari daftar Template Pesan, pilih template yang diperlukan atau tetap gunakan Default.
- Dari Notification Type, pilih SYSLOG.
- Klik Tambahkan, lalu klik Terapkan.
- Klik Simpan.
- Ulangi proses ini untuk semua aturan dalam kebijakan yang ingin Anda teruskan ke Google SecOps.
Menginstal kebijakan
Setiap kebijakan baru atau yang diedit di IBM Guardium harus diinstal sebelum tindakan pemberitahuan atau perubahan aturan yang diperbarui dapat terjadi.
- Klik tab Administration Console.
- Dari navigasi sebelah kiri, pilih Konfigurasi > Penginstalan Kebijakan.
- Dari panel Policy Installer, pilih kebijakan yang Anda ubah di langkah sebelumnya.
- Dari menu drop-down, pilih Install and Override.
- Konfirmasi akan ditampilkan untuk menginstal kebijakan ke semua Inspection Engine.
- Klik Oke.
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
| deviceNtDomain | about.administrative_domain | Domain administratif entitas tentang |
| deviceExternalId | about.asset.asset_id | ID aset |
| filePath, fileHash | about.file.full_path | Jalur lengkap file |
| _hash, fileHash | about.file.sha256 | Hash SHA256 file |
| fsize | about.file.size | Ukuran file |
| dvchost | about.hostname | Nama host entitas tentang |
| dvc | about.ip | Alamat IP entitas yang dibahas |
| smac, dmac, dvcmac | about.mac | Alamat MAC entitas tentang |
| deviceProcessName, Subject, Emne, Path | about.process.command_line | Command line proses |
| dvcpid | about.process.pid | ID proses |
| filePermission | about.resource.attribute.permissions | Izin yang terkait dengan resource |
| extensions.auth.type | Authentication type | |
| sender_ip | intermediary.ip | Alamat IP perantara |
| intermediary | Detail entitas perantara | |
| Received, Generated, timestamp | metadata.collected_timestamp | Stempel waktu saat peristiwa dikumpulkan |
| msg, signature_name | metadata.description | Deskripsi peristiwa |
| metadata.event_type | Jenis peristiwa (misalnya, USER_LOGIN, NETWORK_CONNECTION) | |
| device_event_class_id, event_name, eventType | metadata.product_event_type | Jenis peristiwa khusus produk |
| externalId | metadata.product_log_id | ID log produk |
| metadata.product_version | Versi produk | |
| network.application_protocol | Protokol aplikasi yang digunakan dalam koneksi jaringan | |
| deviceDirection | network.direction | Arah traffic jaringan |
| requestMethod | network.http.method | Metode HTTP yang digunakan dalam permintaan |
| requestClientApplication | network.http.user_agent | String agen pengguna dari permintaan HTTP |
| proto | network.ip_protocol | Protokol IP yang digunakan |
| di | network.received_bytes | Jumlah byte yang diterima |
| keluar | network.sent_bytes | Jumlah byte yang dikirim |
| session_id | network.session_id | ID sesi untuk koneksi jaringan |
| sntdom, Domain, Domene | principal.administrative_domain | Domain administratif akun utama |
| sourceServiceName, source_program | principal.application | Aplikasi yang terkait dengan akun utama |
| prin_host, Device_name, Enhetsnavn, shost, principal_hostname, client_hostname | principal.asset.hostname | Nama host aset utama |
| sender_ip, src_ip, src, principal_ip, client_ip | principal.asset.ip | Alamat IP aset utama |
| Group_name, Gruppenavn | principal.group.group_display_name | Nama tampilan grup utama |
| prin_host, Device_name, Enhetsnavn, shost, principal_hostname, client_hostname | principal.hostname | Nama host principal |
| sender_ip, src_ip, src, principal_ip, client_ip | principal.ip | Alamat IP akun utama |
| smac | principal.mac | Alamat MAC akun utama |
| sourceTranslatedAddress | principal.nat_ip | Alamat IP NAT kepala sekolah |
| sourceTranslatedPort | principal.nat_port | Port NAT prinsipal |
| spt, client_port | principal.port | Port yang digunakan oleh kepala sekolah |
| sproc | principal.process.command_line | Command line dari proses utama |
| spid | principal.process.pid | ID proses prinsipal |
| spriv | principal.user.attribute.roles | Peran yang terkait dengan pengguna utama |
| suser, usrName, CustomerName | principal.user.user_display_name | Nama tampilan pengguna utama |
| dbUser, usrName, db_user, os_user, suid, db_username | principal.user.userid | ID pengguna akun utama |
| security_result | Detail hasil keamanan | |
| security_result.action | Tindakan yang diambil dalam hasil keamanan | |
| act, Action_Taken | security_result.action_details | Detail tindakan yang dilakukan |
| cat | security_result.category_details | Detail kategori hasil keamanan |
| msg_data_2, alert_description, Type, Scan_Type | security_result.description | Deskripsi hasil keamanan |
| operation_label, operasjon_label, permission_label, tillatelse_label, infection_channel_label, spyware_Grayware_Type_label, threat_probability_label | security_result.detection_fields | Kolom yang digunakan untuk deteksi dalam hasil keamanan |
| mwProfile, alert_name | security_result.rule_name | Nama aturan yang memicu hasil keamanan |
| severity, event_severity | security_result.severity | Tingkat keparahan hasil keamanan |
| reason, ruleDesc, appcategory, Result | security_result.summary | Ringkasan hasil keamanan |
| Spyware, Virus_Malware_Name, Unknown_Threat | security_result.threat_name | Nama ancaman yang terdeteksi |
| oldFilePath | src.file.full_path | Jalur lengkap file sumber |
| oldFileSize | src.file.size | Ukuran file sumber |
| oldFilePermission | src.resource.attribute.permissions | Izin resource sumber |
| os_user | src.user.userid | ID Pengguna dari pengguna sumber |
| dntdom | target.administrative_domain | Domain administratif target |
| destinationServiceName, service_name | target.application | Aplikasi yang terkait dengan target |
| prin_host, dest_host, server_hostname | target.asset.hostname | Nama host aset target |
| dst_ip, dest_ip, server_ip, IPv6_Address | target.asset.ip | Alamat IP aset target |
| temp_dhost, dest_host, server_hostname | target.hostname | Nama host target |
| dst_ip, dst, dest_ip, server_ip, IPv6_Address | target.ip | Alamat IP target |
| dmac | target.mac | Alamat MAC target |
| destinationTranslatedAddress | target.nat_ip | Alamat IP NAT target |
| destinationTranslatedPort | target.nat_port | Port NAT target |
| dpt, dstPort, dest_port, server_port | target.port | Port yang digunakan oleh target |
| dproc, full_sql | target.process.command_line | Command line dari proses target |
| File_name, Object, Objekt, Infected_Resource | target.process.file.full_path | Jalur lengkap file proses target |
| dpid, full_sql_id | target.process.pid | ID proses target |
| session_start | target.resource.attribute.creation_time | Waktu pembuatan resource target |
| additional_environment_name, additional_db_protocol_version, additional_dbProtocolVersion, additional_operation_name, additional_signature_id, resource_Type_label | target.resource.attribute.labels | Label yang terkait dengan resource target |
| session_end | target.resource.attribute.last_update_time | Waktu update terakhir resource target |
| db_name, database_name | target.resource.name | Nama resource target |
| db_type, server_type | target.resource.resource_subtype | Subjenis resource target |
| target.resource.resource_type | Jenis resource target | |
| permintaan | target.url | URL yang terkait dengan target |
| dpriv, roles | target.user.attribute.roles | Peran yang terkait dengan pengguna target |
| temp_duser, CustomerName | target.user.user_display_name | Nama tampilan pengguna target |
| temp_duid, User, Bruker, db_username | target.user.userid | ID pengguna target |
| metadata.product_name | Nama produk | |
| metadata.vendor_name | Nama vendor | |
query |
additional.fields |
Dipetakan dari log perubahan |
Log Perubahan
Melihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.