Plugin Log Audit Percona menyediakan pemantauan dan pencatatan koneksi dan aktivitas kueri yang dilakukan pada server tertentu. Informasi tentang aktivitas akan disimpan dalam file log XML di mana setiap peristiwa akan memiliki bidang
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| plugin_dir | /usr/lib/mysql/plugin/ |
+---------------+------------------------+
1 row in set (0.00 sec)
7, bidang
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| plugin_dir | /usr/lib/mysql/plugin/ |
+---------------+------------------------+
1 row in set (0.00 sec)
8 uniknya sendiri, dan bidang
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| plugin_dir | /usr/lib/mysql/plugin/ |
+---------------+------------------------+
1 row in set (0.00 sec)
9
Pencatatan audit mendokumentasikan penggunaan basis data. Anda dapat menggunakan log untuk pemecahan masalah
Instalasi
Plugin Log Audit diinstal dengan Percona Server untuk MySQL, tetapi tidak diaktifkan secara default. Anda dapat memverifikasi apakah plugin diaktifkan dengan menjalankan perintah berikut
mysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%';
Outputnya harus serupa dengan yang berikut;
Empty set (0.00 sec)
_
mysql> SHOW variables LIKE 'audit%';
Outputnya harus serupa dengan yang berikut;
Empty set (0.01 sec)
_
mysql> SHOW variables LIKE 'plugin%';
Outputnya harus serupa dengan yang berikut;
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| plugin_dir | /usr/lib/mysql/plugin/ |
+---------------+------------------------+
1 row in set (0.00 sec)
Catatan
Lokasi direktori plugin MySQL bergantung pada sistem operasi dan mungkin berbeda
Perintah berikut mengaktifkan plugin
mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
_
Jalankan perintah berikut untuk memverifikasi apakah plugin telah diinstal dengan benar
mysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
Outputnya harus serupa dengan yang berikut;
*************************** 1. row ***************************
PLUGIN_NAME: audit_log
PLUGIN_VERSION: 0.2
PLUGIN_STATUS: ACTIVE
PLUGIN_TYPE: AUDIT
PLUGIN_TYPE_VERSION: 4.1
PLUGIN_LIBRARY: audit_log.so
PLUGIN_LIBRARY_VERSION: 1.7
PLUGIN_AUTHOR: Percona LLC and/or its affiliates.
PLUGIN_DESCRIPTION: Audit log
PLUGIN_LICENSE: GPL
LOAD_OPTION: ON
1 row in set (0.00 sec)
Anda dapat meninjau variabel log audit dengan perintah berikut
mysql> SHOW variables LIKE 'audit%';
Outputnya harus serupa dengan yang berikut;
Empty set (0.00 sec)
_0
Plugin Log Audit menghasilkan log peristiwa berikut
- Audit - Acara audit menunjukkan bahwa pencatatan audit dimulai atau selesai.
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| plugin_dir | /usr/lib/mysql/plugin/ |
+---------------+------------------------+
1 row in set (0.00 sec)
7 field akan menjadi mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
1 saat logging dimulai dan mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
2 saat logging selesai. Catatan audit juga menyertakan versi server dan argumen baris perintah
Contoh acara Audit
Empty set (0.00 sec)
_1
- Sambungkan/Putuskan - Sambungkan rekaman acara akan memiliki bidang
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| plugin_dir | /usr/lib/mysql/plugin/ |
+---------------+------------------------+
1 row in set (0.00 sec)
7 mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
4 saat pengguna masuk atau gagal masuk, atau mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
5 saat koneksi ditutup
Bidang tambahan untuk acara ini adalah sebagai berikut
mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
_6mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
_7mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
_8mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
_9mysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
_0mysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
_1mysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
_2mysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
_3
Nilai untuk
mysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
7 adalah
mysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
5 untuk login yang berhasil dan bukan nol untuk login yang gagal
Contoh acara Disconnect
Empty set (0.00 sec)
_2
- Kueri - Bidang tambahan untuk acara ini adalah.
mysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
6 (values come from the mysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
7 array in the mysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
8selectmysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
9alter_tablemysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
9create_table*************************** 1. row ***************************
PLUGIN_NAME: audit_log
PLUGIN_VERSION: 0.2
PLUGIN_STATUS: ACTIVE
PLUGIN_TYPE: AUDIT
PLUGIN_TYPE_VERSION: 4.1
PLUGIN_LIBRARY: audit_log.so
PLUGIN_LIBRARY_VERSION: 1.7
PLUGIN_AUTHOR: Percona LLC and/or its affiliates.
PLUGIN_DESCRIPTION: Audit log
PLUGIN_LICENSE: GPL
LOAD_OPTION: ON
1 row in set (0.00 sec)
1CONNECTION_IDmysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
9STATUS*************************** 1. row ***************************
PLUGIN_NAME: audit_log
PLUGIN_VERSION: 0.2
PLUGIN_STATUS: ACTIVE
PLUGIN_TYPE: AUDIT
PLUGIN_TYPE_VERSION: 4.1
PLUGIN_LIBRARY: audit_log.so
PLUGIN_LIBRARY_VERSION: 1.7
PLUGIN_AUTHOR: Percona LLC and/or its affiliates.
PLUGIN_DESCRIPTION: Audit log
PLUGIN_LICENSE: GPL
LOAD_OPTION: ON
1 row in set (0.00 sec)
3SQLTEXT*************************** 1. row ***************************
PLUGIN_NAME: audit_log
PLUGIN_VERSION: 0.2
PLUGIN_STATUS: ACTIVE
PLUGIN_TYPE: AUDIT
PLUGIN_TYPE_VERSION: 4.1
PLUGIN_LIBRARY: audit_log.so
PLUGIN_LIBRARY_VERSION: 1.7
PLUGIN_AUTHOR: Percona LLC and/or its affiliates.
PLUGIN_DESCRIPTION: Audit log
PLUGIN_LICENSE: GPL
LOAD_OPTION: ON
1 row in set (0.00 sec)
4USERmysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
9HOSTmysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
9OS_USERmysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
9IP*************************** 1. row ***************************
PLUGIN_NAME: audit_log
PLUGIN_VERSION: 0.2
PLUGIN_STATUS: ACTIVE
PLUGIN_TYPE: AUDIT
PLUGIN_TYPE_VERSION: 4.1
PLUGIN_LIBRARY: audit_log.so
PLUGIN_LIBRARY_VERSION: 1.7
PLUGIN_AUTHOR: Percona LLC and/or its affiliates.
PLUGIN_DESCRIPTION: Audit log
PLUGIN_LICENSE: GPL
LOAD_OPTION: ON
1 row in set (0.00 sec)
8NAME*************************** 1. row ***************************
PLUGIN_NAME: audit_log
PLUGIN_VERSION: 0.2
PLUGIN_STATUS: ACTIVE
PLUGIN_TYPE: AUDIT
PLUGIN_TYPE_VERSION: 4.1
PLUGIN_LIBRARY: audit_log.so
PLUGIN_LIBRARY_VERSION: 1.7
PLUGIN_AUTHOR: Percona LLC and/or its affiliates.
PLUGIN_DESCRIPTION: Audit log
PLUGIN_LICENSE: GPL
LOAD_OPTION: ON
1 row in set (0.00 sec)
9Querymysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
9Preparemysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
9Executemysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
9Change user`, etc
Catatan
mysql> SHOW variables LIKE 'audit%';
_3 mengisi bidang kelas perintah log audit, misalnya, kueri
mysql> SHOW variables LIKE 'audit%';
4
Entri
mysql> SHOW variables LIKE 'audit%';
_5 mengisi bidang kelas perintah log audit sebagai teks huruf kecil, misalnya, kueri
mysql> SHOW variables LIKE 'audit%';
6. Jika Anda menjalankan perintah 'Ping', maka kolom command_class adalah 'ping', dan untuk 'Init DB', kolom command_class adalah 'init db'
Contoh acara Query
Empty set (0.00 sec)
_3
Format Log
Plugin log audit mendukung format log berikut.
mysql> SHOW variables LIKE 'audit%';
7,
mysql> SHOW variables LIKE 'audit%';
8,
mysql> SHOW variables LIKE 'audit%';
9, dan
Empty set (0.00 sec)
00. Format
Empty set (0.00 sec)
01` dan format``NEW
Empty set (0.00 sec)
02OLD
Empty set (0.00 sec)
03NEW` menentukan setiap catatan log dengan tag XML. Informasi yang dicatat sama untuk keempat format. Variabel audit_log_format mengontrol pilihan format log
Contoh format
mysql> SHOW variables LIKE 'audit%';
_7
Empty set (0.00 sec)
_4
Contoh format
mysql> SHOW variables LIKE 'audit%';
_8
Empty set (0.00 sec)
_5
Contoh format
mysql> SHOW variables LIKE 'audit%';
_9
Empty set (0.00 sec)
_6
Contoh format
Empty set (0.00 sec)
00
Empty set (0.00 sec)
_7
Streaming log audit ke syslog
Untuk mengalirkan log audit ke syslog, Anda harus menyetel variabel audit_log_handler ke
Empty set (0.00 sec)
08. Untuk mengontrol penangan file syslog, variabel berikut dapat digunakan. audit_log_syslog_ident, audit_log_syslog_facility, dan audit_log_syslog_priority Variabel-variabel ini memiliki arti yang sama dengan parameter yang dijelaskan dalam manual syslog(3)
Catatan
Tindakan untuk variabel. audit_log_strategy, audit_log_buffer_size, audit_log_rotate_on_size, audit_log_rotations ditangkap hanya dengan
Empty set (0.00 sec)
09 handler
Di Percona Server untuk MySQL 5. 7. 14-7 Percona Server for MySQL Audit Log Plugin sekarang mendukung pemfilteran berdasarkan pengguna, sql_command, dan database