成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

干貨 | MySQL數據庫安全之審計

企業動態
每家公司都希望業務高速增長,最好能出幾個爆款產品或者爆款業務,從而帶動公司營收高速攀升。但站在數據庫管理員的角度,這卻是實實在在的壓力,業務高速增長必然帶來數據量的暴增。數據庫系統的選型和設計是支撐整個業務系統的重要因素。

 每家公司都希望業務高速增長,***能出幾個爆款產品或者爆款業務,從而帶動公司營收高速攀升。但站在數據庫管理員的角度,這卻是實實在在的壓力,業務高速增長必然帶來數據量的暴增。數據庫系統的選型和設計是支撐整個業務系統的重要因素。

MySQL數據庫是基于云原生的數據庫產品之一,云原生為云數據庫提供了重要動力,相比于傳統自建數據庫,云數據庫比單個數據庫具有更大的彈性和可擴展性。

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

MySQL企業版自帶審計功能,但是需要付費。MySQL社區版沒有審計功能,基于成本的考慮,很多用戶采用社區版MySQL作為業務系統數據庫。采用社區版MySQL如何實現重要的審計功能,本文從自建和云服務兩種情況來解答這個問題。

自建MySQL數據庫的場景

本文自建數據庫所有實驗環境是基于window10下MySQL5.7這個版本。

方法一 Genreal Log

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

開啟General log步驟:

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

 

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

 

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

 

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

 

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

方法二 BinLog+Init_connect

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

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

配置和驗證過程如下:

1、創建審計用的數據庫和表:

 

2、創建具有操作auditdb數據權限的用戶:

 

如果已經有用戶,需要對現有用戶添加操作auditdb的權限:

  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、設置init_connect,并重啟MySQL數據庫在初始化參數文件[mysql]部分添加如下內容:

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

 

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

 

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

 

查看當前binlog mysqlbin.000029的內容,并找到delete操作對應的ThreadID D:\mysql57\bin>mysqlbinlog ../data/mysql-bin.000029

 

從Binlog中可以得知刪除Test2表對應的threadid是8,根據ThreadID在審計表里查看用戶的登錄信息,可以得知這個刪除操作是user1用戶在本機執行的操作。

 

說明:采用這種方式進行審計,由于init-connect只會在連接時執行,不會對數據庫產生大的性能影響,但是init-connect不會記錄擁有root權限的用戶記錄.

方法三 使用審計插件

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

我們以MariaDB Audit Plugin為例,給大家介紹如何采用插件的方式實現對Mysql數據的審計。

一、下載與安裝

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

 

2、安裝:把server_audit.dll復制到對應的mysql插件庫中D:\mysql57\lib\plugin,執行install安裝命令:

 

3、安裝驗證:Mysql>show variables like '%audit%'

 

二、關鍵審計參數說明

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

三、審計過程示例

1、開啟審計mysql>set global server_audit_logging=on

 

由于是驗證測試,我們其余參數都按默認設置。

2、執行一些數據庫操作:

 

3、查看審計記錄日志,server_audit.log,默認在data目錄下:

 

我們看見,剛才在Mysql數據庫的操作都已經審計上了。

使用公有云RDS服務的場景

目前云計算的普及,云供應商都提供云數據庫服務,當然Mysql是云數據庫服務重要的一員。相比傳統數據庫,云數據庫易于部署、管理和擴展,提供數據可靠性、安全性、運行狀態監控等全套解決方案。

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

1、登錄云數據庫 RDS 管理控制臺;

2、選擇需要查詢 SQL 審計的目標實例,點擊目標實例, 進入實例詳情頁,切換至 SQL 審計 Tab 頁;

3、點擊審計狀態開關就可以在線切換審計的開啟與關閉;

4、執行一些數據庫的操作,而后看審計數據。審計開啟后,SQL 審計查詢功能說明如下:

  • 執行時間:可以選擇從當前時間往前推 7 天的時間區間,作為 SQL 審計查詢的時間段;
  • 數據庫:可以查看指定數據庫的 SQL 語句;
  • 賬號:可以查看指定賬號的 SQL 語句。

5、點擊查詢按鈕,查看符合要求的SQL審計結果列表:

 

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

【本文為51CTO專欄作者“京東云”的原創稿件,轉載請通過作者微信公眾號JD-jcloud獲取授權】

 

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

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2010-05-13 14:14:45

2017-11-29 17:51:16

數據

2011-03-02 17:09:20

2011-08-02 15:04:49

2010-12-29 09:46:32

2010-12-29 09:50:06

數據庫安全審計數據庫審計

2009-08-11 13:21:34

2011-02-28 14:40:40

2010-12-27 14:45:27

2015-01-19 10:18:53

Azure SQL數據庫審計云安全

2010-11-30 11:26:49

2020-10-08 18:29:43

數據安全數據庫審計數據庫安全

2010-05-25 21:56:00

2011-01-21 10:10:27

2015-04-22 11:02:37

2011-03-25 09:46:16

Informix數據庫安全性安全審計

2010-09-30 09:11:01

2010-09-30 08:27:48

2019-01-02 09:30:59

MySQL數據庫日志審計
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产小视频 | 日本三级网 | 亚洲一区视频在线播放 | 一区二区精品 | 在线欧美视频 | 国产91视频播放 | 亚洲欧美日韩在线 | 中文在线www | 激情国产 | 久久久久久久久久爱 | 一级毛片免费看 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 在线成人免费视频 | 国产亚洲精品成人av久久ww | 欧美日韩国产中文 | 免费视频二区 | 一区二区三区欧美大片 | 狠狠久久| 欧美色综合 | 粉嫩一区二区三区四区公司1 | 精品一区二区久久久久久久网精 | 中文字幕视频在线免费 | 成人激情免费视频 | 欧美日一区二区 | 精品国产女人 | 久久精品99| 日本精品免费在线观看 | 一区二区久久 | 亚洲在线日韩 | 爱爱免费视频 | 成人免费淫片aa视频免费 | 超碰地址 | 一区二区中文字幕 | 欧美黄a | 逼逼视频 | 99免费精品 | 欧美日韩a | 涩涩操| 欧美一区二区三区在线看 | 一区二区三区欧美 | 91看片免费 |