自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

干貨 | MySQL數(shù)據(jù)庫安全之審計(jì)

企業(yè)動(dòng)態(tài)
每家公司都希望業(yè)務(wù)高速增長,最好能出幾個(gè)爆款產(chǎn)品或者爆款業(yè)務(wù),從而帶動(dòng)公司營收高速攀升。但站在數(shù)據(jù)庫管理員的角度,這卻是實(shí)實(shí)在在的壓力,業(yè)務(wù)高速增長必然帶來數(shù)據(jù)量的暴增。數(shù)據(jù)庫系統(tǒng)的選型和設(shè)計(jì)是支撐整個(gè)業(yè)務(wù)系統(tǒng)的重要因素。

 每家公司都希望業(yè)務(wù)高速增長,***能出幾個(gè)爆款產(chǎn)品或者爆款業(yè)務(wù),從而帶動(dòng)公司營收高速攀升。但站在數(shù)據(jù)庫管理員的角度,這卻是實(shí)實(shí)在在的壓力,業(yè)務(wù)高速增長必然帶來數(shù)據(jù)量的暴增。數(shù)據(jù)庫系統(tǒng)的選型和設(shè)計(jì)是支撐整個(gè)業(yè)務(wù)系統(tǒng)的重要因素。

MySQL數(shù)據(jù)庫是基于云原生的數(shù)據(jù)庫產(chǎn)品之一,云原生為云數(shù)據(jù)庫提供了重要?jiǎng)恿?,相比于傳統(tǒng)自建數(shù)據(jù)庫,云數(shù)據(jù)庫比單個(gè)數(shù)據(jù)庫具有更大的彈性和可擴(kuò)展性。

數(shù)據(jù)庫審計(jì)主要用于監(jiān)視并記錄對數(shù)據(jù)庫服務(wù)器的各類操作行為,并記入審計(jì)日志或數(shù)據(jù)庫中以便日后進(jìn)行跟蹤、查詢、分析,以實(shí)現(xiàn)對用戶操作的監(jiān)控和審計(jì)。審計(jì)是一項(xiàng)非常重要的工作,也是企業(yè)數(shù)據(jù)安全體系的重要組成部分。

MySQL企業(yè)版自帶審計(jì)功能,但是需要付費(fèi)。MySQL社區(qū)版沒有審計(jì)功能,基于成本的考慮,很多用戶采用社區(qū)版MySQL作為業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫。采用社區(qū)版MySQL如何實(shí)現(xiàn)重要的審計(jì)功能,本文從自建和云服務(wù)兩種情況來解答這個(gè)問題。

自建MySQL數(shù)據(jù)庫的場景

本文自建數(shù)據(jù)庫所有實(shí)驗(yàn)環(huán)境是基于window10下MySQL5.7這個(gè)版本。

方法一 Genreal Log

默認(rèn)情況下,MySQL不開啟General log; 開啟General log后,MySQL將所有到達(dá)MySQL Server的SQL語句記錄下來。

開啟General log步驟:

1、查看General Log開啟情況:執(zhí)行SQL命令show variables like '%general_log%’ ;可以看到默認(rèn)general_log是OFF的:

 

2、開啟General Log: 執(zhí)行SQL命令set global general_log=on 而后查看general_log打開了:

 

3、驗(yàn)證:general_log打開后,所有SQL的訪問都會記錄在general_log_file指向的日志文件。我們執(zhí)行幾個(gè)SQL語句測試:

 

而后查看ZB-PF11H2E3.log日志文件里面的內(nèi)容,我們看到剛才做的操作都已經(jīng)記錄在日志里了:

 

開啟General Log只要用戶執(zhí)行了操作,無論對錯(cuò),MySQL就會記錄日志,這樣的話日志量會非常龐大,對數(shù)據(jù)庫效率有影響。所以我們一般不建議開啟開功能,個(gè)別情況下可能會臨時(shí)的開一段時(shí)間以供排查故障等使用。

方法二 BinLog+Init_connect

BinLog是MySQL操作時(shí)留下的日志,BinLog一方面可以用在數(shù)據(jù)庫的恢復(fù)與主從復(fù)制上,另外一方面可以用來做數(shù)據(jù)庫的審計(jì)。

由于BinLog日志里面無法查詢是誰在哪個(gè)時(shí)間段登錄的等信息,缺少審計(jì)必要的信息。在MySQL中,每個(gè)連接都會先執(zhí)行init_connect進(jìn)行連接的初始化,我們可以在這里獲取用戶的登錄名稱和thread ID值。然后配合BinLog,就可以追蹤到每個(gè)操作語句的操作時(shí)間,操作人等信息,再加上BinLog的日志信息實(shí)現(xiàn)審計(jì)。

配置和驗(yàn)證過程如下:

1、創(chuàng)建審計(jì)用的數(shù)據(jù)庫和表:

 

2、創(chuàng)建具有操作auditdb數(shù)據(jù)權(quán)限的用戶:

 

如果已經(jīng)有用戶,需要對現(xiàn)有用戶添加操作auditdb的權(quán)限:

  1. MySQL> insert into mysql.db (Host,Db,User1,Insert_priv) values ('%','auditdb','','Y'); 
  2. 2Query OK, 1 row affected (0.03 sec) 
  3. 3MySQL> flush privileges
  4. 4Query OK, 0 rows affected (0.00 sec) 

3、設(shè)置init_connect,并重啟MySQL數(shù)據(jù)庫在初始化參數(shù)文件[mysql]部分添加如下內(nèi)容:

  1. log-bin=mysql-bin #開啟Binlog 
  2. 2init_connect='insert into auditdb.accesslog(connectionid, connectionuser,logintime) values(connection_id(),user(),now());' #設(shè)置初始化連接參數(shù) 

 

4、用user1用戶登錄,執(zhí)行一些寫入和刪除的操作;

 

5、用mysqlbinlog工具查看BinLog,根據(jù)delete操作找到相應(yīng)的ThreadId,而后在前面創(chuàng)建的審計(jì)日志表auditdb.accesslog里面根據(jù)ThreadID找到用戶登錄信息:

 

查看當(dāng)前binlog mysqlbin.000029的內(nèi)容,并找到delete操作對應(yīng)的ThreadID D:\mysql57\bin>mysqlbinlog ../data/mysql-bin.000029

 

從Binlog中可以得知?jiǎng)h除Test2表對應(yīng)的threadid是8,根據(jù)ThreadID在審計(jì)表里查看用戶的登錄信息,可以得知這個(gè)刪除操作是user1用戶在本機(jī)執(zhí)行的操作。

 

說明:采用這種方式進(jìn)行審計(jì),由于init-connect只會在連接時(shí)執(zhí)行,不會對數(shù)據(jù)庫產(chǎn)生大的性能影響,但是init-connect不會記錄擁有root權(quán)限的用戶記錄.

方法三 使用審計(jì)插件

除了商業(yè)版的審計(jì)插件外,常見的還有三類審計(jì)插件Percona Audit Log Plugin、MariaDB Audit Plugin、McAfee MySQL Audit Plugin。這幾個(gè)插件功能上大同小異,只是展示的內(nèi)容和格式略有不同。

我們以MariaDB Audit Plugin為例,給大家介紹如何采用插件的方式實(shí)現(xiàn)對Mysql數(shù)據(jù)的審計(jì)。

一、下載與安裝

1、下載MariaDB Audit Plugin插件(下載地址:https://downloads.mariadb.org/mariadb/5.5.64/)

 

2、安裝:把server_audit.dll復(fù)制到對應(yīng)的mysql插件庫中D:\mysql57\lib\plugin,執(zhí)行install安裝命令:

 

3、安裝驗(yàn)證:Mysql>show variables like '%audit%'

 

二、關(guān)鍵審計(jì)參數(shù)說明

  • server_audit_logging:啟動(dòng)或關(guān)閉審計(jì)
  • server_audit_events:指定記錄事件的類型,可以用逗號分隔的多個(gè)值(connect,query,table) ,默認(rèn)為空代表審計(jì)所有事件。
  • server_audit_incl_users:指定哪些用戶的活動(dòng)將記錄,默認(rèn)審計(jì)所有用戶,該變量比server_audit_excl_users優(yōu)先級高
  • server_audit_excl_users:指定哪些用戶行為不記錄
  • server_audit_output_type:指定日志輸出類型,可為SYSLOG或FILE,缺省輸出至審計(jì)文件

三、審計(jì)過程示例

1、開啟審計(jì)mysql>set global server_audit_logging=on

 

由于是驗(yàn)證測試,我們其余參數(shù)都按默認(rèn)設(shè)置。

2、執(zhí)行一些數(shù)據(jù)庫操作:

 

3、查看審計(jì)記錄日志,server_audit.log,默認(rèn)在data目錄下:

 

我們看見,剛才在Mysql數(shù)據(jù)庫的操作都已經(jīng)審計(jì)上了。

使用公有云RDS服務(wù)的場景

目前云計(jì)算的普及,云供應(yīng)商都提供云數(shù)據(jù)庫服務(wù),當(dāng)然Mysql是云數(shù)據(jù)庫服務(wù)重要的一員。相比傳統(tǒng)數(shù)據(jù)庫,云數(shù)據(jù)庫易于部署、管理和擴(kuò)展,提供數(shù)據(jù)可靠性、安全性、運(yùn)行狀態(tài)監(jiān)控等全套解決方案。

那么在云數(shù)據(jù)庫Mysql上是如何實(shí)現(xiàn)對數(shù)據(jù)庫的審計(jì)的呢?我們以京東云云數(shù)據(jù)庫Mysql為例,京東云的Mysql審計(jì)功能是通過MariaDB Audit Plugin插件實(shí)現(xiàn)的。下面給大家介紹云數(shù)據(jù)庫Mysql審計(jì)的開啟、使用、關(guān)閉等功能。

1、登錄云數(shù)據(jù)庫 RDS 管理控制臺;

2、選擇需要查詢 SQL 審計(jì)的目標(biāo)實(shí)例,點(diǎn)擊目標(biāo)實(shí)例, 進(jìn)入實(shí)例詳情頁,切換至 SQL 審計(jì) Tab 頁;

3、點(diǎn)擊審計(jì)狀態(tài)開關(guān)就可以在線切換審計(jì)的開啟與關(guān)閉;

4、執(zhí)行一些數(shù)據(jù)庫的操作,而后看審計(jì)數(shù)據(jù)。審計(jì)開啟后,SQL 審計(jì)查詢功能說明如下:

  • 執(zhí)行時(shí)間:可以選擇從當(dāng)前時(shí)間往前推 7 天的時(shí)間區(qū)間,作為 SQL 審計(jì)查詢的時(shí)間段;
  • 數(shù)據(jù)庫:可以查看指定數(shù)據(jù)庫的 SQL 語句;
  • 賬號:可以查看指定賬號的 SQL 語句。

5、點(diǎn)擊查詢按鈕,查看符合要求的SQL審計(jì)結(jié)果列表:

 

通過上面的例子,可以看見,云數(shù)據(jù)庫的管理和運(yùn)維比自建數(shù)據(jù)庫確實(shí)要簡單很多,用戶不用關(guān)心審計(jì)的方式、審計(jì)數(shù)據(jù)的存儲位置等等。只不過,云數(shù)據(jù)庫由于是以云服務(wù)的形式提供給最終用戶,用戶就需要按照云服務(wù)的要求和使用說明進(jìn)行操作。

【本文為51CTO專欄作者“京東云”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號JD-jcloud獲取授權(quán)】

 

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2010-05-13 14:14:45

2017-11-29 17:51:16

數(shù)據(jù)

2011-03-02 17:09:20

2011-08-02 15:04:49

2010-12-29 09:50:06

數(shù)據(jù)庫安全審計(jì)數(shù)據(jù)庫審計(jì)

2010-12-29 09:46:32

2011-02-28 14:40:40

2009-08-11 13:21:34

2015-01-19 10:18:53

Azure SQL數(shù)據(jù)庫審計(jì)云安全

2010-11-30 11:26:49

2010-12-27 14:45:27

2020-10-08 18:29:43

數(shù)據(jù)安全數(shù)據(jù)庫審計(jì)數(shù)據(jù)庫安全

2015-04-22 11:02:37

2011-01-21 10:10:27

2010-05-25 21:56:00

2011-03-25 09:46:16

Informix數(shù)據(jù)庫安全性安全審計(jì)

2019-01-02 09:30:59

MySQL數(shù)據(jù)庫日志審計(jì)

2010-09-30 09:11:01

2010-09-30 08:27:48

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號