Mengumpulkan log Teradata Database

Didukung di:

Dokumen ini menjelaskan cara menyerap log Teradata Database ke Google Security Operations menggunakan Bindplane.

Teradata Database adalah platform data warehouse perusahaan yang menghasilkan log kueri, akses, audit keamanan, dan peristiwa sistem. Layanan ini menyediakan analisis dan pengelolaan data berperforma tinggi untuk deployment lokal berskala besar.

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 server Teradata Database
  • Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
  • Akses istimewa ke sistem Teradata Database dengan izin administrator

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
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sc query observiq-otel-collector
    

Layanan akan ditampilkan sebagai RUNNING.

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
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sudo systemctl status observiq-otel-collector
    

Layanan akan ditampilkan sebagai aktif (berjalan).

Referensi penginstalan tambahan

Untuk opsi penginstalan dan pemecahan masalah tambahan, lihat Panduan penginstalan agen BindPlane.

Mengonfigurasi agen Bindplane untuk menyerap syslog dan mengirimkannya ke Google SecOps

Cari file konfigurasi

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Edit file konfigurasi

  • Ganti seluruh konten config.yaml dengan konfigurasi berikut:

    receivers:
        tcplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/teradata_db:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: TERADATA_DB
            raw_log_field: body
    
    service:
        pipelines:
            logs/teradata_db_to_chronicle:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/teradata_db
    

Parameter konfigurasi

Ganti placeholder berikut:

  • Konfigurasi penerima:

    • listen_address: Alamat IP dan port yang akan diproses:
      • 0.0.0.0 untuk mendengarkan di semua antarmuka (direkomendasikan)
      • Port 514 adalah port syslog standar (memerlukan root di Linux; gunakan 1514 untuk non-root)
  • Konfigurasi pengekspor:

    • creds_file_path: Jalur lengkap ke file autentikasi penyerapan:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: ID Pelanggan yang disalin dari konsol Google SecOps
    • endpoint: URL endpoint regional:
      • Amerika Serikat: malachiteingestion-pa.googleapis.com
      • Eropa: europe-malachiteingestion-pa.googleapis.com
      • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Lihat Endpoint Regional untuk mengetahui daftar lengkapnya

Simpan file konfigurasi

  • Setelah mengedit, simpan file:
    • Linux: Tekan Ctrl+O, lalu Enter, lalu Ctrl+X
    • Windows: Klik File > Simpan

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. Cari 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 Teradata Database

  1. Login ke server Teradata Database sebagai administrator.
  2. Konfigurasi penerusan syslog menggunakan fasilitas logging Teradata Database Gateway. Edit file konfigurasi rsyslog:

    sudo nano /etc/rsyslog.d/teradata.conf
    
  3. Tambahkan baris berikut untuk meneruskan log Teradata ke agen Bindplane:

    # Forward Teradata Database logs to Bindplane agent
    if $programname == 'teradata' then @@<bindplane-ip>:514
    
    • Ganti <bindplane-ip> dengan alamat IP host agen Bindplane.
  4. Mulai ulang layanan rsyslog:

    sudo systemctl restart rsyslog
    
  5. Pastikan log dikirim dengan memeriksa log agen Bindplane.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
additional.fields Digabungkan dari berbagai label seperti collect_timestamp_label, logon_date_time_label, logon_source_label, protocol_label, remote_hostname_label, logon_details_label, port_label, connection_id_label, cid_label, jdbc_driver_info_label, request_mode_label, statement_group_label, statement_type_label
app_id target.asset.product_object_id Nilai disalin secara langsung
client_addr principal.asset.hostname, principal.asset.ip, principal.hostname, principal.ip Nilai disalin langsung ke semua
client_id target.asset.asset_id Digabungkan sebagai CLIENT_ID:%{client_id}
collect_timestamp metadata.collected_timestamp Dikonversi menggunakan pencocokan tanggal dengan format RFC 3339, UNIX_MS, UNIX, ISO8601, yyyy-MM-dd HH:mm:ss
default_database target.resource.name, target.resource.resource_type Nilai disalin langsung ke nama; ditetapkan ke DATABASE untuk resource_type
error_code network.http.response_code, additional.fields Dikonversi menjadi bilangan bulat untuk response_code; disalin ke error_code_label yang digabungkan ke additional.fields
error_text security_result.summary Nilai disalin secara langsung
host_name principal.asset.hostname, principal.hostname Nilai disalin langsung ke keduanya
logon_date_time metadata.event_timestamp Dikonversi menggunakan kecocokan tanggal dengan format ISO8601, yyyy-MM-dd HH:mm:ss
logon_source target.resource.parent Nilai disalin secara langsung
logon_source additional.fields Mengekstrak logonSource menggunakan grok, lalu ditetapkan sebagai %{logonSource}LSS di logon_source_label yang digabungkan ke additional.fields
logon_source additional.fields Mengekstrak protokol, remote_hostname, port, logon_details, connection_id, cid, jdbc_driver_info menggunakan grok, lalu ditetapkan dalam label masing-masing yang digabungkan ke additional.fields
proc_id target.resource.id Nilai disalin secara langsung
profile_name target.resource.attribute.labels Ditetapkan di profile_name_label yang digabungkan ke attribute.labels
query_text target.process.command_line Nilai disalin secara langsung
request_mode target.resource.resource_subtype, additional.fields Nilai disalin langsung ke resource_subtype; ditetapkan dalam request_mode_label yang digabungkan ke additional.fields
session_id network.session_id Nilai disalin secara langsung
statement_group principal.user.groupid, additional.fields Nilai disalin langsung ke groupid; ditetapkan dalam statement_group_label yang digabungkan ke additional.fields
statement_type security_result.about.labels, additional.fields Ditetapkan di statementtype_value_label yang digabungkan ke about.labels; ditetapkan di statement_type_label yang digabungkan ke additional.fields
ts metadata.event_timestamp Dikonversi menggunakan pencocokan tanggal dengan format MMM d HH:mm:ss, MMM dd HH:mm:ss, SYSLOGTIMESTAMP, RFC 3339, UNIX, ISO8601, UNIX_MS
tt_granularity target.resource.product_object_id Nilai disalin secara langsung
user_id principal.user.userid Nilai disalin secara langsung
user_name principal.user.user_display_name Nilai disalin secara langsung
metadata.event_type Ditetapkan ke USER_RESOURCE_ACCESS jika has_principal, has_principal_user, has_target_resource benar; atau STATUS_UPDATE jika has_principal benar; atau GENERIC_EVENT
metadata.product_name Ditetapkan ke "TERADATA_DB"
metadata.vendor_name Setel ke "TERADATA"
profile_name event.idm.read_only_udm.target.resource.attribute.labels Dipetakan dari log perubahan
proc_id event.idm.read_only_udm.target.resource.id Dipetakan dari log perubahan
user_id event.idm.read_only_udm.principal.user.userid Dipetakan dari log perubahan
collect_timestamp event.idm.read_only_udm.metadata.collected_timestamp Dipetakan dari log perubahan
logon_date_time event.idm.read_only_udm.metadata.event_timestamp Dipetakan dari log perubahan
user_name event.idm.read_only_udm.principal.user.user_display_name Dipetakan dari log perubahan
logon_source event.idm.read_only_udm.target.resource.parent Dipetakan dari log perubahan
app_id event.idm.read_only_udm.target.asset.product_object_id Dipetakan dari log perubahan
client_id event.idm.read_only_udm.target.asset.asset_id Dipetakan dari log perubahan
error_code event.idm.read_only_udm.network.http.response_code Dipetakan dari log perubahan
statement_type event.idm.read_only_udm.security_result.about.labels Dipetakan dari log perubahan
statement_group event.idm.read_only_udm.principal.user.groupid Dipetakan dari log perubahan
request_mode event.idm.read_only_udm.target.resource.resource_subtype Dipetakan dari log perubahan
tt_granularity event.idm.read_only_udm.target.resource.product_object_id Dipetakan dari log perubahan
protocol event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
remote_hostname event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
logon_details event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
connection_id event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
port event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
cid event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
jdbc_driver_info event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
app_id principal.application Dipetakan dari log perubahan
collect_timestamp event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
error_code security_result.detection_fields Dipetakan dari log perubahan
logon_date_time event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
logon_source event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
proc_id principal.process.pid Dipetakan dari log perubahan
request_mode event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
statement_group event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
statement_type event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
user_id target.user.userid Dipetakan dari log perubahan
user_name target.user.user_display_name Dipetakan dari log perubahan

Log Perubahan

Melihat Log Perubahan untuk parser ini

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