Mengumpulkan log MYSQL

Didukung di:

Dokumen ini menjelaskan cara menyerap log MYSQL ke Google Security Operations menggunakan Bindplane. Parser pertama-tama mengekstrak kolom umum dari pesan SYSLOG MySQL menggunakan grok. Kemudian, parser menggunakan cabang bersyarat (if, else if) dan pencocokan ekspresi reguler untuk mengidentifikasi jenis peristiwa tertentu dalam pesan log, mengekstrak dan memetakan informasi yang relevan ke dalam skema Unified Data Model (UDM).

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Windows 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Jika berjalan di belakang proxy, port firewall terbuka
  • Akses dengan hak istimewa ke host MySQL
  • Menginstal MySQL DB dan Rsyslog

Mendapatkan file autentikasi penyerapan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Proses Transfer. 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 Bindlane

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

Untuk opsi penginstalan tambahan, lihat panduan penginstalan.

Mengonfigurasi agen Bindplane untuk menyerap Syslog dan mengirim ke Google SecOps

  1. Akses file konfigurasi:
    • Temukan file config.yaml. Biasanya, file ini berada di direktori /etc/bindplane-agent/ di Linux atau di direktori penginstalan di Windows.
    • 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:
            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: 'MYSQL'
                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 <customer_id> dengan ID pelanggan yang sebenarnya.

  5. Perbarui /path/to/ingestion-authentication-file.json ke jalur tempat file autentikasi disimpan di bagian Mendapatkan file autentikasi penyerapan Google SecOps.

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 di MySQL

  1. Login ke host MySQL menggunakan SSH.

  2. Menghubungkan ke database MySQL:

    mysql -u root -p
    
  3. Verifikasi plugin audit server_audit.so:

    show variables like 'plugin_dir';
    
  4. Jika Anda tidak menemukan file plugin di dalam direktori plugin, instal plugin menggunakan perintah:

    install plugin server_audit soname 'server_audit.so';
    
  5. Pastikan plugin Diinstal dan Diaktifkan:

    show plugins;
    
  6. Edit file /etc/my.cnf menggunakan vi, aktifkan hal berikut, lalu simpan file:

    server_audit_events='CONNECT,QUERY,TABLE'
    server_audit_file_path=server_audit.log
    server_audit_logging=ON
    server_audit_output_type=SYSLOG
    server_audit_syslog_facility=LOG_LOCAL6
    
  7. Verifikasi variabel audit dengan perintah berikut:

    show global variables like "server_audit%";
    
  8. Pastikan audit diaktifkan, dengan perintah berikut:

    Show global status like 'server_audit%';
    
  9. Edit file /etc/rsyslog.conf menggunakan vi, untuk mengaktifkan penggunaan UDP dan menyimpan file:

    *.* @@<bindplane-agent-ip>:<bindplane-agent-port>
    
  10. Ganti <bindplane-agent-ip> dan <bindplane-agent-port> dengan konfigurasi agen Bindplane Anda.

  11. Mulai ulang layanan MySQL dan hubungkan ke database MySQL.

    /etc/init.d/mysqld restart
    

Tabel pemetaan UDM

Kolom log Pemetaan UDM Logika
tindakan read_only_udm.metadata.event_type Jika nilainya Created, maka FILE_CREATION, jika nilainya Deleted, maka FILE_DELETION, jika tidak, tidak ada perubahan.
database read_only_udm.target.resource.parent
db_hostname read_only_udm.target.hostname
db_user read_only_udm.target.user.userid
deskripsi read_only_udm.security_result.description
error_details Ini adalah variabel sementara, abaikan
error_level read_only_udm.security_result.severity Jika nilainya error, maka ERROR, jika nilainya warning, maka MEDIUM, jika nilainya note, maka INFORMATIONAL, jika tidak, tidak ada perubahan.
error_message read_only_udm.security_result.summary
file_path read_only_udm.target.file.full_path
file_size read_only_udm.target.file.size
hostname read_only_udm.principal.hostname
inner_message read_only_udm.security_result.description
ringkasan read_only_udm.metadata.product_event_type
tabel read_only_udm.target.resource.name
table_not_found Ini adalah variabel sementara, abaikan
timestamp read_only_udm.metadata.event_timestamp
read_only_udm.extensions.auth.type Nilai statis - MACHINE
read_only_udm.metadata.event_type Nilai statis - USER_LOGIN, GENERIC_EVENT, STATUS_UPDATE, FILE_CREATION, FILE_DELETION
read_only_udm.metadata.log_type Nilai statis - MYSQL
read_only_udm.metadata.product_name Nilai statis - MySQL
read_only_udm.metadata.vendor_name Nilai statis - Oracle Corporation
read_only_udm.security_result.action Nilai statis - BLOCK
read_only_udm.target.resource.resource_type Nilai statis - DATABASE, TABLE

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