Mengumpulkan log LDAP server direktori Red Hat

Didukung di:

Dokumen ini menjelaskan cara menyerap log LDAP Red Hat Directory Server ke Google Security Operations menggunakan agen Bindplane.

Red Hat Directory Server adalah layanan direktori LDAP kelas perusahaan yang dibangun berdasarkan standar terbuka yang menyediakan manajemen identitas pengguna, autentikasi, dan kontrol akses terpusat untuk lingkungan Linux dan UNIX. Server Direktori menyimpan log akses, error, audit, kegagalan audit, dan keamanan di direktori /var/log/dirsrv/slapd-instance_name/, yang mencatat koneksi klien, operasi LDAP, perubahan konfigurasi, operasi yang gagal, dan peristiwa keamanan seperti upaya autentikasi dan masalah otorisasi.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Host Linux dengan systemd
  • Konektivitas jaringan antara agen Bindplane dan host Red Hat Directory Server
  • Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
  • Akses root atau sudo ke host Red Hat Directory Server
  • Red Hat Directory Server 11 atau yang lebih baru telah diinstal dan berjalan
  • Layanan rsyslog diinstal dan berjalan di host Server Direktori

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 Google Cloud konsol 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 didownload ke komputer Anda.
  11. Simpan file kunci sebagai ingestion-auth.json di direktori pengumpul Bindplane (/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 cocok 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 Setelan SIEM > Agen Pengumpulan.
  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

Instal agen Bindplane di sistem operasi Linux Anda sesuai dengan petunjuk berikut.

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 active (running).

Referensi penginstalan tambahan

Untuk mengetahui 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 /opt/observiq-otel-collector/config.yaml
    

Edit file konfigurasi

  • Ganti seluruh konten config.yaml dengan konfigurasi berikut:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/redhat_ds:
        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: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: REDHAT_DIRECTORY_SERVER
        raw_log_field: body
    
    service:
      pipelines:
        logs/redhat_ds:
          receivers:
            - udplog
          exporters:
            - chronicle/redhat_ds
    

Parameter konfigurasi

Ganti placeholder berikut:

  • Konfigurasi penerima:

    • udplog: Jenis penerima berdasarkan protokol:
      • udplog untuk syslog UDP
      • tcplog untuk syslog TCP
      • syslog untuk syslog RFC 3164/5424
    • 0.0.0.0: Alamat IP yang akan didengarkan:
      • 0.0.0.0 untuk memproses semua antarmuka (direkomendasikan)
      • Alamat IP tertentu untuk memproses satu antarmuka
    • 514: Nomor port yang akan diproses (misalnya, 514, 1514, 6514)
  • Konfigurasi pengekspor:

    • <customer_id>: ID Pelanggan dari langkah sebelumnya
    • location: Ganti <LOCATION> dengan region instance Google SecOps Anda (misalnya, us, europe, atau asia-southeast1). Pengekspor akan menambahkan awalan chronicle.googleapis.com dengan nilai ini. Lihat Endpoint Regional untuk mengetahui daftar lengkapnya.
    • project: Ganti <PROJECT_NUMBER> dengan nomor project dari IAM & Admin > Settings.
    • endpoint: Tetap tetapkan ke chronicle.googleapis.com.
    • Sesuaikan creds_file_path ke jalur file kunci JSON akun layanan Anda (Opsi 1), bergantung pada platform:
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json

Pengekspor API penyerapan lama

  • Jika Anda menggunakan file autentikasi penyerapan dari Opsi 2, ganti blok exporters dengan kode berikut. Tetapkan creds_file_path 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/redhat_ds:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: REDHAT_DIRECTORY_SERVER
        raw_log_field: body
    

Menyimpan file konfigurasi

  • Setelah mengedit, simpan file:
    • Linux: Tekan Ctrl+O, lalu Enter, lalu Ctrl+X

Mulai ulang agen Bindplane untuk menerapkan perubahan

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

    sudo systemctl restart observiq-otel-collector
    
    1. Pastikan layanan sedang berjalan:

      sudo systemctl status observiq-otel-collector
      
    2. Periksa log untuk mengetahui error:

      sudo journalctl -u observiq-otel-collector -f
      

Mengaktifkan logging audit dan kegagalan audit di Red Hat Directory Server

Secara default, Red Hat Directory Server mengaktifkan logging akses, error, dan keamanan, tetapi menonaktifkan logging audit dan kegagalan audit. Aktifkan log ini untuk merekam semua perubahan direktori dan operasi yang gagal.

  1. Buka terminal dengan hak istimewa root atau sudo di host Server Direktori.
  2. Aktifkan log audit dengan menjalankan perintah berikut:

    dsconf -D "cn=Directory Manager" instance_name config replace nsslapd-auditlog-logging-enabled=on
    
  3. Aktifkan log kegagalan audit dengan menjalankan perintah berikut:

    dsconf -D "cn=Directory Manager" instance_name config replace nsslapd-auditfaillog-logging-enabled=on
    
  4. Pastikan semua jenis log diaktifkan:

    dsconf -D "cn=Directory Manager" instance_name config get nsslapd-accesslog-logging-enabled nsslapd-errorlog-logging-enabled nsslapd-auditlog-logging-enabled nsslapd-auditfaillog-logging-enabled nsslapd-securitylog-logging-enabled
    
  5. Verifikasi bahwa file log ada di direktori log:

    ls -la /var/log/dirsrv/slapd-instance_name/
    

Opsional: Aktifkan logging menggunakan konsol web

  1. Login ke konsol web Red Hat Directory Server.
  2. Pilih item.
  3. Buka Server > Logging.
  4. Pilih jenis log yang ingin Anda aktifkan (misalnya, Log Audit).
  5. Aktifkan tombol logging untuk jenis log yang dipilih.
  6. Klik Simpan Setelan Log.

Mengonfigurasi rsyslog untuk meneruskan log Server Direktori ke agen Bindplane

Red Hat Directory Server menulis log ke file di /var/log/dirsrv/slapd-instance_name/, bukan langsung ke syslog. Gunakan modul imfile rsyslog untuk memantau file log ini dan meneruskan entri ke agen Bindplane.

  1. Buat file konfigurasi rsyslog baru untuk penerusan log server direktori:

    sudo nano /etc/rsyslog.d/rhds-forward.conf
    
  2. Tambahkan konten berikut ke file konfigurasi:

    # Load the imfile module to read log files
    module(load="imfile" PollingInterval="10")
    
    # Monitor the access log
    input(type="imfile"
        File="/var/log/dirsrv/slapd-instance_name/access"
        Tag="dirsrv-access"
        Severity="info"
        Facility="local6")
    
    # Monitor the error log
    input(type="imfile"
        File="/var/log/dirsrv/slapd-instance_name/errors"
        Tag="dirsrv-errors"
        Severity="err"
        Facility="local6")
    
    # Monitor the audit log
    input(type="imfile"
        File="/var/log/dirsrv/slapd-instance_name/audit"
        Tag="dirsrv-audit"
        Severity="info"
        Facility="local6")
    
    # Monitor the security log
    input(type="imfile"
        File="/var/log/dirsrv/slapd-instance_name/security"
        Tag="dirsrv-security"
        Severity="info"
        Facility="local6")
    
    # Forward all Directory Server logs to the Bindplane agent
    local6.* @BINDPLANE_IP:514
    
  3. Verifikasi sintaksis konfigurasi rsyslog:

    sudo rsyslogd -N1
    
  4. Mulai ulang layanan rsyslog untuk menerapkan perubahan:

    sudo systemctl restart rsyslog
    
  5. Pastikan log Server Direktori diteruskan dengan memeriksa log agen Bindplane:

    sudo journalctl -u observiq-otel-collector -f
    

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
attrs_label about.labels Digabung
cn_label about.labels Digabung
conn_label about.labels Digabung
csn_label about.labels Digabung
err_label about.labels Digabung
etime_label about.labels Digabung
fd_label about.labels Digabung
filter_label about.labels Digabung
label about.labels Digabung
method_label about.labels Digabung
msgid_label about.labels Digabung
name_label about.labels Digabung
nentries_label about.labels Digabung
offset_label about.labels Digabung
op_label about.labels Digabung
optime_label about.labels Digabung
org_label about.labels Digabung
ou_label about.labels Digabung
scope_label about.labels Digabung
slot_label about.labels Digabung
tag_label about.labels Digabung
targetop_label about.labels Digabung
version_label about.labels Digabung
wtime_label about.labels Digabung
desc metadata.description Dipetakan secara langsung
creationDate metadata.event_timestamp Diurai sebagai UNIX_MS
recordDate metadata.event_timestamp Diuraikan sebagai UNIX_MS
time metadata.event_timestamp Diuraikan sebagai dd/MMM/yyyy:HH:mm:ss Z
ts metadata.event_timestamp Diuraikan sebagai MMM d HH:mm:ss
operation metadata.product_event_type Dipetakan secara langsung
mrId metadata.product_log_id Dipetakan secara langsung
properties._ecs_agent_version metadata.product_version Dipetakan secara langsung
host principal.asset.hostname Dipetakan secara langsung
oid principal.asset.product_object_id Dipetakan secara langsung
host principal.hostname Dipetakan secara langsung
client_ip principal.ip Digabung
namespace principal.namespace Dipetakan secara langsung
user principal.user.userid Dipetakan secara langsung
sec_result security_result Digabung
properties._hostname target.asset.hostname Dipetakan secara langsung
properties.host target.asset.hostname Dipetakan secara langsung
properties._hostname target.hostname Dipetakan secara langsung
properties.host target.hostname Dipetakan secara langsung
target_ip target.ip Digabung
properties.country target.location.country_or_region Dipetakan secara langsung
properties._file_path target.process.file.full_path Dipetakan secara langsung
properties._file_size target.process.file.size Diganti namanya/dipetakan
discipline_label target.resource.attribute.labels Digabung
document_type_label target.resource.attribute.labels Digabung
environment_label target.resource.attribute.labels Digabung
hostgroup_label target.resource.attribute.labels Digabung
platform_label target.resource.attribute.labels Digabung
product_label target.resource.attribute.labels Digabung
project_label target.resource.attribute.labels Digabung
base target.user.group_identifiers Digabung
dn target.user.group_identifiers Digabung
T/A metadata.event_type Konstanta: NETWORK_CONNECTION
T/A metadata.product_name Konstanta: REDHAT_DIRECTORY_SERVER
T/A metadata.vendor_name Konstanta: REDHAT
T/A target.platform Konstanta: LINUX
properties._file_inode event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
properties._file_offset event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
conn event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
op event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
err event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
tag event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
nentries event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
wtime event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
optime event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
etime event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
csn event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
cn event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
ou event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
filter event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
attrs event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
scope event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
o event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
targetop event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
msgid event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
method event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
version event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
fd event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
slot event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
name event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
properties.discipline" ,"properties.document_type" ,"properties.environment" ,"properties.hostgroup" ,"properties.platform" ,"properties.product target.resource.attribute.labels Dipetakan dari log perubahan

Log Perubahan

Melihat Log Perubahan untuk parser ini

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