Mengumpulkan log MYSQL
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
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Proses Transfer. Simpan file dengan aman di sistem tempat 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 Bindlane
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 penginstalan tambahan, lihat panduan penginstalan.
Mengonfigurasi agen Bindplane untuk menyerap Syslog dan mengirim ke Google SecOps
- 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).
- Temukan file
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
Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.
Ganti
<customer_id>
dengan ID pelanggan yang sebenarnya.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
Login ke host MySQL menggunakan SSH.
Menghubungkan ke database MySQL:
mysql -u root -p
Verifikasi plugin audit
server_audit.so
:show variables like 'plugin_dir';
Jika Anda tidak menemukan file plugin di dalam direktori plugin, instal plugin menggunakan perintah:
install plugin server_audit soname 'server_audit.so';
Pastikan plugin Diinstal dan Diaktifkan:
show plugins;
Edit file
/etc/my.cnf
menggunakanvi
, 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
Verifikasi variabel audit dengan perintah berikut:
show global variables like "server_audit%";
Pastikan audit diaktifkan, dengan perintah berikut:
Show global status like 'server_audit%';
Edit file
/etc/rsyslog.conf
menggunakanvi
, untuk mengaktifkan penggunaan UDP dan menyimpan file:*.* @@<bindplane-agent-ip>:<bindplane-agent-port>
Ganti
<bindplane-agent-ip>
dan<bindplane-agent-port>
dengan konfigurasi agen Bindplane Anda.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.