SlideShare a Scribd company logo
1 of 21
MySQL Audit 機制應用技術
2/21
大綱
Audit Log 安裝與設定
Audit Log 機制
Audit Log DB 與備份環境建置
Audit log 入庫程式操作說明
應用與效益
附件
3/21
Audit Log Plugin安裝與設定
安裝指令
 方法一
• mysql>INSTALL PLUGIN audit_log SONAME 'audit_log.so';
 方法二 : my.cnf
• [mysqld]
plugin-load=audit_log.so
• 需重啟MySQL
設定Audit format與rotate sizes
 在my.cnf
• [mysqld]
audit_log_format = NEW
audit_log_rotate_on_size = 102400
• 需重啟MySQL
4/21
Audit Log Plugin 安裝與設定
確認Audit log 參數設定
參數設定請參考附件-參數說明
5/21
Audit Log rotate
當audit log size超過設定的audit_log_rotate_on_size
(100 KB),將rotate產生xml檔
6/21
Audit Log 機制
Audit log
files (XML)
DB name :
audit_information Audit row
data files
1. Audit log rotate
2. Parsing and converting
3. Importing data to DB
MySQL
DB Server
4. Move audit log
files to archive
Backup
Server
7/21
Audit Log DB 環境建置
建立audit_information db,提供儲存audit log內容
 執行audit_info.sql
儲存rotate的xml檔內容
紀錄已處理的xml檔
8/21
Audit Log DB 環境建置
檢查OS是否有安裝perl-XML-Simple套件
9/21
Audit Log 備份環境建置
DB伺服器與遠端備份伺服器建立ssh認證,讓備份端信任
來自Online端的連線及資料傳送
 DB伺服器 (10.144.150.159)
 備份伺服器 (10.144.150.158)
將pub key傳送到備份
伺服器,建立通道
DB伺服器端建立ssh
key
10/21
Audit Log 入庫
程式名稱
 audit_log_parsing.pl
程式參數設定
DB name
主機IP
連接埠
DB連線帳號
DB連線密碼
MySQL 安裝路徑
MySQL Data Dir
備份伺服器IP
Audit Log備份路徑
執行程式當下所在路徑
欄位資料間的分隔符號
欄位資料的前後字元
11/21
Audit Log 入庫
步驟1:將data dir 的audit log xml檔轉換為row data
insert%|%201%|%%|%%|%127.0.0.1%|%%|%Query%|%%|%%|%%|%%|%1656_2015-08-
10T07:46:05%|%%|%^INSERT INTO audit_information.AUDIT_PARSED (COMMAND_CLASS,
CONNECTIONID, DB_NAME, HOST_NAME, IP_ADDRESS, MYSQL_VERSION,
COMMAND_NAME, OS_LOGIN, OS_VERSION, PRIV_USER, PROXY_USER, RECORD_ID,
SERVER_ID, SQL_TEXT, STARTUP_OPTIONS, COMMAND_STATUS, STATUS_CODE,
DATE_TIMESTAMP, USER_NAME, LOG_VERSION) values ('show_databases', '65', '', '', '127.0.0.1', '',
'Query', '', '', '', '', '429_2015-08-06T08:01:46', '', 'show databases', '', '0', '0', '2015-08-10T03:51:04 UTC',
'mysqldba[mysqldba] @ [127.0.0.1]', '')^%|%%|%0%|%0%|%2015-08-10T07:46:05
UTC%|%mysqldba[mysqldba] @ [127.0.0.1]%|%
Row data 格式
12/21
Audit Log 入庫
步驟2:將產出的row data匯入DB audit_information
 Audit log內容匯入表格audit_parsed
 紀錄匯入成功的audit log xml於表格audit_history
13/21
Audit Log 入庫
步驟3:Audit log備份管理
 將Audit log (*.xml)與raw data(*.txt)搬移至備份伺服器上。
14/21
Audit Log 入庫
步驟4:執行紀錄與障礙查找
15/21
應用與效益
查核特定帳號是否執行過insert之SQL語句
16/21
應用與效益
定期rotate audit log,並搬移至備份伺服器上,避免檔
案過大影響資料庫效能。
資料庫異動的軌跡全紀錄在資料表中,便於以關鍵字進行
過濾查詢。
由於資料表採用ARCHIVE storage engine,可防止DBA
竄改稽核紀錄內容。
17/21
附件
18/21
參數說明
audit_log_buffer_size
 Default 值: 1048576 bytes
 單位: bytes
audit_log_file
 檔名: audit.log
 可自訂檔案路徑
audit_log_flush
 值=1時, the audit log plugin closes and reopens its log file to
flush it.
 If audit_log_rotate_on_size is greater than 0, setting
audit_log_flush has no effect.
19/21
參數說明
audit_log_policy
 ALL: Log all events
 NONE:Log nothing
 LOGINS:Log only login events
 QUERIES:Log only query events
audit_log_strategy
 ASYNCHRONOUS:Log asynchronously, wait for space in
output buffer
 PERFORMANCE:Log asynchronously, drop request if
insufficient space in output buffer
 SEMISYNCHRONOUS:Log synchronously, permit caching by
operating system
 建議值=ASYNCHRONOUS
20/21
參數說明
audit_log_rotate_on_size
 預設值為0,不rotate
 可設定rotate值,單位Byte,但要4096倍數
audit_log_format
 預設為OLD
 若要調整為NEW,需更改my.cnf的參數
audit_log_format=NEW,再重啟MySQL
MySQL Audit 機制應用技術

More Related Content

What's hot

Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsugSpring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsug
Toshiaki Maki
 
Composer 從入門到實戰
Composer 從入門到實戰Composer 從入門到實戰
Composer 從入門到實戰
Shengyou Fan
 
JVM JIT compilation overview by Vladimir Ivanov
JVM JIT compilation overview by Vladimir IvanovJVM JIT compilation overview by Vladimir Ivanov
JVM JIT compilation overview by Vladimir Ivanov
ZeroTurnaround
 

What's hot (20)

WebAssembly Demystified
WebAssembly DemystifiedWebAssembly Demystified
WebAssembly Demystified
 
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
 
Java 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJava 8-streams-collectors-patterns
Java 8-streams-collectors-patterns
 
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introduction
 
[Community Open Camp] 給 PHP 開發者的 VS Code 指南
[Community Open Camp] 給 PHP 開發者的 VS Code 指南[Community Open Camp] 給 PHP 開發者的 VS Code 指南
[Community Open Camp] 給 PHP 開發者的 VS Code 指南
 
快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)
 
Composer 經典食譜
Composer 經典食譜Composer 經典食譜
Composer 經典食譜
 
The Javascript Ecosystem
The Javascript EcosystemThe Javascript Ecosystem
The Javascript Ecosystem
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Introduction Node.js
Introduction Node.jsIntroduction Node.js
Introduction Node.js
 
Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsugSpring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsug
 
Xke spring boot
Xke spring bootXke spring boot
Xke spring boot
 
Composer 從入門到實戰
Composer 從入門到實戰Composer 從入門到實戰
Composer 從入門到實戰
 
Spring Boot & Actuators
Spring Boot & ActuatorsSpring Boot & Actuators
Spring Boot & Actuators
 
JVM JIT compilation overview by Vladimir Ivanov
JVM JIT compilation overview by Vladimir IvanovJVM JIT compilation overview by Vladimir Ivanov
JVM JIT compilation overview by Vladimir Ivanov
 
The Internals of "Hello World" Program
The Internals of "Hello World" ProgramThe Internals of "Hello World" Program
The Internals of "Hello World" Program
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Running Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native ImagesRunning Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native Images
 

Viewers also liked

Ocr instructions for students
Ocr instructions for studentsOcr instructions for students
Ocr instructions for students
jaf05c
 
2016 CAJPA Conference PowerPoint
2016 CAJPA Conference PowerPoint2016 CAJPA Conference PowerPoint
2016 CAJPA Conference PowerPoint
Robert Cutbirth
 

Viewers also liked (14)

MySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELKMySQL Audit using Percona audit plugin and ELK
MySQL Audit using Percona audit plugin and ELK
 
srk_CV_Assurance
srk_CV_Assurancesrk_CV_Assurance
srk_CV_Assurance
 
Ocr instructions for students
Ocr instructions for studentsOcr instructions for students
Ocr instructions for students
 
Seo toledo
Seo toledoSeo toledo
Seo toledo
 
DB HA Tool - mysqlfailover
DB HA Tool - mysqlfailoverDB HA Tool - mysqlfailover
DB HA Tool - mysqlfailover
 
PRASHANT SHRIVASTAVA-CV
PRASHANT SHRIVASTAVA-CVPRASHANT SHRIVASTAVA-CV
PRASHANT SHRIVASTAVA-CV
 
Taller presencia social
Taller presencia socialTaller presencia social
Taller presencia social
 
Конкурс "Немає переводу добрим звичаям народу"
Конкурс "Немає переводу добрим звичаям народу"Конкурс "Немає переводу добрим звичаям народу"
Конкурс "Немає переводу добрим звичаям народу"
 
Mobetron.Overview.1 Q09
Mobetron.Overview.1 Q09Mobetron.Overview.1 Q09
Mobetron.Overview.1 Q09
 
2016 CAJPA Conference PowerPoint
2016 CAJPA Conference PowerPoint2016 CAJPA Conference PowerPoint
2016 CAJPA Conference PowerPoint
 
Testing as a problem solving
Testing as a problem solving Testing as a problem solving
Testing as a problem solving
 
MySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELKMySQL Slow Query log Monitoring using Beats & ELK
MySQL Slow Query log Monitoring using Beats & ELK
 
Neonatal intestinal obstruction
Neonatal intestinal obstruction Neonatal intestinal obstruction
Neonatal intestinal obstruction
 
Radiological features of Lung cancer Dr. Muhammad Bin Zulfiqar
Radiological features of Lung cancer Dr. Muhammad Bin ZulfiqarRadiological features of Lung cancer Dr. Muhammad Bin Zulfiqar
Radiological features of Lung cancer Dr. Muhammad Bin Zulfiqar
 

Similar to MySQL Audit 機制應用技術

Manual instruction apc3.0
Manual instruction apc3.0Manual instruction apc3.0
Manual instruction apc3.0
ahnlabchina
 
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器
Leyi (Kamus) Zhang
 
Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)
bigqiang zou
 
Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作
maclean liu
 
Different QTP.v3
Different QTP.v3Different QTP.v3
Different QTP.v3
Dean Lee
 
P6 Primavera 客户端的安装和配置
P6 Primavera 客户端的安装和配置P6 Primavera 客户端的安装和配置
P6 Primavera 客户端的安装和配置
epst
 
關於AWS服務的壓力測試攻略
關於AWS服務的壓力測試攻略關於AWS服務的壓力測試攻略
關於AWS服務的壓力測試攻略
Amazon Web Services
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
 

Similar to MySQL Audit 機制應用技術 (20)

Manual instruction apc3.0
Manual instruction apc3.0Manual instruction apc3.0
Manual instruction apc3.0
 
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器
 
开源应用日志收集系统
开源应用日志收集系统开源应用日志收集系统
开源应用日志收集系统
 
Hyperic hq安装配置演示
Hyperic hq安装配置演示Hyperic hq安装配置演示
Hyperic hq安装配置演示
 
Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)Sql Cluster Tech Net 0401(Pm)
Sql Cluster Tech Net 0401(Pm)
 
淺談系統監控與 AWS CloudWatch 的應用
淺談系統監控與 AWS CloudWatch 的應用淺談系統監控與 AWS CloudWatch 的應用
淺談系統監控與 AWS CloudWatch 的應用
 
Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作Oracle数据库升级前必要的准备工作
Oracle数据库升级前必要的准备工作
 
Different QTP.v3
Different QTP.v3Different QTP.v3
Different QTP.v3
 
12, OCP - performance tuning
12, OCP - performance tuning12, OCP - performance tuning
12, OCP - performance tuning
 
P6 Primavera 客户端的安装和配置
P6 Primavera 客户端的安装和配置P6 Primavera 客户端的安装和配置
P6 Primavera 客户端的安装和配置
 
11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert system
 
QWin服务器架构及安装说明.pdf
QWin服务器架构及安装说明.pdfQWin服务器架构及安装说明.pdf
QWin服务器架构及安装说明.pdf
 
關於AWS服務的壓力測試攻略
關於AWS服務的壓力測試攻略關於AWS服務的壓力測試攻略
關於AWS服務的壓力測試攻略
 
manual
manualmanual
manual
 
Power flow簡介
Power flow簡介Power flow簡介
Power flow簡介
 
Operation Logic Manager
Operation Logic ManagerOperation Logic Manager
Operation Logic Manager
 
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
 
Beyond rails server
Beyond rails serverBeyond rails server
Beyond rails server
 
自下而上的数据仓库构建方法
自下而上的数据仓库构建方法自下而上的数据仓库构建方法
自下而上的数据仓库构建方法
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決
 

MySQL Audit 機制應用技術