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]
9Pencatatan 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]
_0Plugin Log Audit menghasilkan log peristiwa berikut
- Audit - Acara audit menunjukkan bahwa pencatatan audit dimulai atau selesai.
7 field akan menjadi+---------------+------------------------+ | Variable_name | Value | +---------------+------------------------+ | plugin_dir | /usr/lib/mysql/plugin/ | +---------------+------------------------+ 1 row in set [0.00 sec]
1 saat logging dimulai danmysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
2 saat logging selesai. Catatan audit juga menyertakan versi server dan argumen baris perintahmysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
Contoh acara Audit
Empty set [0.00 sec]
_1- Sambungkan/Putuskan - Sambungkan rekaman acara akan memiliki bidang
7+---------------+------------------------+ | Variable_name | Value | +---------------+------------------------+ | plugin_dir | /usr/lib/mysql/plugin/ | +---------------+------------------------+ 1 row in set [0.00 sec]
4 saat pengguna masuk atau gagal masuk, ataumysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
5 saat koneksi ditutupmysql> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
Bidang tambahan untuk acara ini adalah sebagai berikut
_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> INSTALL PLUGIN audit_log SONAME 'audit_log.so';
_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
_3mysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
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 gagalContoh acara Disconnect
Empty set [0.00 sec]
_2- Kueri - Bidang tambahan untuk acara ini adalah.
6 [values come from themysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
7 array in themysql> 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_tablemysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
1CONNECTION_ID*************************** 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]
9STATUSmysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
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]
4USER*************************** 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]
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
9IPmysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
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]
9Query*************************** 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]
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`, etcmysql> SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%'\G
Catatan
mysql> SHOW variables LIKE 'audit%';
_3 mengisi bidang kelas perintah log audit, misalnya, kueri mysql> SHOW variables LIKE 'audit%';
4Entri
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]
_3Format 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``NEWEmpty set [0.00 sec]
02OLDEmpty 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 logContoh format
mysql> SHOW variables LIKE 'audit%';
_7Empty set [0.00 sec]
_4Contoh format
mysql> SHOW variables LIKE 'audit%';
_8Empty set [0.00 sec]
_5Contoh format
mysql> SHOW variables LIKE 'audit%';
_9Empty set [0.00 sec]
_6Contoh format
Empty set [0.00 sec]
00Empty set [0.00 sec]
_7Streaming 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 handlerMemfilter menurut pengguna
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