下面一起來(lái)了解下AWS RDS MySQL是如何開(kāi)啟數(shù)據(jù)庫(kù)審計(jì)功能,相信大家看完肯定會(huì)受益匪淺,文字在精不在多,希望AWS RDS Mysql是如何開(kāi)啟數(shù)據(jù)庫(kù)審計(jì)功能這篇短內(nèi)容是你想要的。
成都創(chuàng)新互聯(lián)專(zhuān)業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價(jià)格,機(jī)房位于中國(guó)電信/網(wǎng)通/移動(dòng)機(jī)房,綿陽(yáng)電信機(jī)房服務(wù)有保障!
由于不同的安全需求,數(shù)據(jù)庫(kù)審計(jì),也是很多客戶(hù)關(guān)心的話題。針對(duì)RDS Mysql,我們能審計(jì)每個(gè)用戶(hù)的登錄,和操作信息嗎?答案是肯定的。
MySQL企業(yè)版有此功能,屬于收費(fèi)組件。社區(qū)版的Mysql,常見(jiàn)的審計(jì)插件就是“MariaDB 審核插件”和Percona審計(jì)插件。
1. AWS的RDS Mysql是社區(qū)版,審計(jì)方式,使用的是“MariaDB 審核插件”,使用方法,詳見(jiàn)官方文檔。本文就不贅述設(shè)置方法了。需要注意的是以下參數(shù)的設(shè)置。
https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html
選項(xiàng)設(shè)置 | 有效值 | 默認(rèn)值 | 描述 |
SERVER_AUDIT_FILE_PATH | /rdsdbdata/log/audit/ | /rdsdbdata/log/audit/ | 日志文件的位置。日志文件包含 SERVER_AUDIT_EVENTS 中指定的活動(dòng)記錄。有關(guān)更多信息,請(qǐng)參閱 查看和列出數(shù)據(jù)庫(kù)日志文件 和 MySQL 數(shù)據(jù)庫(kù)日志文件。 |
SERVER_AUDIT_FILE_ROTATE_SIZE | 1–1000000000 | 1000000 | 達(dá)到該字節(jié)大小時(shí),會(huì)導(dǎo)致文件輪換。有關(guān)更多信息,請(qǐng)參閱 日志文件大小。 |
SERVER_AUDIT_FILE_ROTATIONS | 0–100 | 9 | 要保存的日志輪換數(shù)量。有關(guān)更多信息,請(qǐng)參閱 日志文件大小 和 下載數(shù)據(jù)庫(kù)日志文件。 |
SERVER_AUDIT_EVENTS | CONNECT、QUERY | CONNECT、QUERY | 要在日志中記錄的活動(dòng)類(lèi)型。安裝 MariaDB 審核插件可自行登錄。 CONNECT:記錄成功和失敗的數(shù)據(jù)庫(kù)連接以及數(shù)據(jù)庫(kù)斷開(kāi)連接。 QUERY:記錄針對(duì)數(shù)據(jù)庫(kù)運(yùn)行的所有查詢(xún)文本。 TABLE:記錄針對(duì)數(shù)據(jù)庫(kù)運(yùn)行查詢(xún)時(shí)受查詢(xún)影響的表。 對(duì)于 MariaDB,支持 CONNECT、QUERY 和 TABLE。 對(duì)于 MySQL,支持 CONNECT 和 QUERY。 |
SERVER_AUDIT_INCL_USERS | 多個(gè)逗號(hào)分隔值 | 無(wú) | 僅包括指定用戶(hù)的活動(dòng)。默認(rèn)情況下,會(huì)記錄所有用戶(hù)的活動(dòng)。如果 SERVER_AUDIT_EXCL_USERS 和 SERVER_AUDIT_INCL_USERS 中均指定了某位用戶(hù),則會(huì)記錄該用戶(hù)的活動(dòng)。 |
SERVER_AUDIT_EXCL_USERS | 多個(gè)逗號(hào)分隔值 | 無(wú) | 排除指定用戶(hù)的活動(dòng)。默認(rèn)情況下,會(huì)記錄所有用戶(hù)的活動(dòng)。如果 SERVER_AUDIT_EXCL_USERS 和 SERVER_AUDIT_INCL_USERS 中均指定了某位用戶(hù),則會(huì)記錄該用戶(hù)的活動(dòng)。 rdsadmin 用戶(hù)會(huì)每秒查詢(xún)一次數(shù)據(jù)庫(kù),以檢查數(shù)據(jù)庫(kù)的運(yùn)行狀況。根據(jù)您的其他設(shè)置,此活動(dòng)可能導(dǎo)致您的日志文件大小非常快速地增長(zhǎng)。如果您不需要記錄此活動(dòng),請(qǐng)將 rdsadmin 用戶(hù)添加到 SERVER_AUDIT_EXCL_USERS 列表。 注意 會(huì)始終為所有用戶(hù)記錄 CONNECT 活動(dòng),即使是該選項(xiàng)設(shè)置指定的用戶(hù)。 |
SERVER_AUDIT_LOGGING | ON | ON | 日志記錄處于活動(dòng)狀態(tài)。唯一有效的值為 ON。Amazon RDS 不支持停用日志記錄。如果您要停用日志記錄,請(qǐng)刪除 MariaDB 審核插件。有關(guān)更多信息,請(qǐng)參閱 刪除 MariaDB 審核插件。 |
2. 開(kāi)啟審計(jì)功能后,我們就可以在console中看到audit log了。
3. 下面,我們看一下,audit log到底記錄了什么信息。
3.1. 我前臺(tái)操作的記錄如下:
3.1.1 使用管理員用戶(hù),登錄數(shù)據(jù)庫(kù)
# mysql -hmysql-rds.cq7qaukj3smd.rds.cn-northwest-1.amazonaws.com.cn -uadmin -pxxxxx
3.1.2 創(chuàng)建用戶(hù)test2,并賦予一些全新
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES ON *.* TO 'test2'@'ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn' identified by 'xxxxx' WITH GRANT OPTION; Query OK, 0 rows affected, 1 warning (0.02 sec)
3.1.3 使用新建的用戶(hù)連接數(shù)據(jù)庫(kù)
# mysql -hmysql-rds.cq7qaukj3smd.rds.cn-northwest-1.amazonaws.com.cn -utest2 -pxxxxx
3.1.4 執(zhí)行數(shù)據(jù)庫(kù)切換,創(chuàng)建表等命令
mysql> use tests; mysql> create table xx as select * from liang; mysql> commit; -----注釋?zhuān)篶reate 是DDL語(yǔ)句,默認(rèn)提交,所以這里commit沒(méi)有意義。
3.2 audit log如下,可以看到以下幾點(diǎn)信息
3.2.1. 誰(shuí)訪問(wèn)和執(zhí)行的,來(lái)至于哪里?
--test2,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn
3.2.2. 執(zhí)行的全部操作信息記錄
20190726 15:10:01,ip-10-4-2-104,admin,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,13,883,QUERY,,'GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES ON *.* TO \'test2\'@\'ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn\' IDENTIFIED WITH \'mysql_native_password\' AS \'*01A6717B58FF5C7EAFFF6CB7C96F7428EA65FE4C\' WITH GRANT OPTION',0 20190726 15:10:03,ip-10-4-2-104,admin,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,13,0,DISCONNECT,,,0 ...... 20190726 15:10:10,ip-10-4-2-104,test2,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,14,0,CONNECT,,,0 20190726 15:10:10,ip-10-4-2-104,test2,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,14,893,QUERY,,'select @@version_comment limit 1',0 20190726 15:10:19,ip-10-4-2-104,test2,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,14,894,QUERY,,'SELECT DATABASE()',0 20190726 15:10:19,ip-10-4-2-104,test2,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,14,896,QUERY,tests,'show databases',0 20190726 15:10:19,ip-10-4-2-104,test2,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,14,897,QUERY,tests,'show tables',0 20190726 15:10:31,ip-10-4-2-104,test2,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,14,913,QUERY,tests,'create table as select * from liang',1064 ...... 20190726 15:10:39,ip-10-4-2-104,test2,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,14,922,QUERY,tests,'create table xx as select * from liang',0 20190726 15:10:43,ip-10-4-2-104,test2,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,14,923,QUERY,tests,'commit',0
4. 當(dāng)然審計(jì)日志會(huì)記錄數(shù)據(jù)庫(kù)的全部操作,自然也就有一些我們不需要的信息參雜其中。例如RDS后臺(tái)操作用戶(hù)rdsadmin的全部操作記錄。
突然意識(shí)到,audit log,也可以用來(lái)研究AWS RDS后面實(shí)現(xiàn)的一些自動(dòng)化運(yùn)維的原理。
20190726 15:10:20,ip-10-4-2-104,rdsadmin,localhost,2,900,QUERY,,'SELECT 1',0 20190726 15:10:20,ip-10-4-2-104,rdsadmin,localhost,2,901,QUERY,,'SELECT 1',0 20190726 15:10:20,ip-10-4-2-104,rdsadmin,localhost,2,902,QUERY,,'SELECT 1',0 20190726 15:10:20,ip-10-4-2-104,rdsadmin,localhost,2,903,QUERY,,'SELECT count(*) from information_schema.TABLES WHERE TABLE_SCHEMA = \'mysql\' AND TABLE_NAME = \'rds_heartbeat2\'',0 20190726 15:10:20,ip-10-4-2-104,rdsadmin,localhost,2,904,QUERY,,'SELECT 1',0 20190726 15:10:20,ip-10-4-2-104,rdsadmin,localhost,2,905,QUERY,,'SELECT value FROM mysql.rds_heartbeat2',0 20190726 15:10:20,ip-10-4-2-104,rdsadmin,localhost,2,906,QUERY,,'SELECT 1',0 20190726 15:10:20,ip-10-4-2-104,rdsadmin,localhost,2,907,QUERY,,'SELECT @@GLOBAL.read_only',0 20190726 15:10:25,ip-10-4-2-104,rdsadmin,localhost,2,908,QUERY,,'SELECT 1',0 20190726 15:10:25,ip-10-4-2-104,rdsadmin,localhost,2,909,QUERY,,'SELECT NAME, VALUE FROM mysql.rds_configuration',0 20190726 15:10:25,ip-10-4-2-104,rdsadmin,localhost,2,910,QUERY,,'SELECT 1',0 20190726 15:10:25,ip-10-4-2-104,rdsadmin,localhost,2,911,QUERY,,'SELECT @@session.transaction_read_only',0 20190726 15:10:25,ip-10-4-2-104,rdsadmin,localhost,2,912,QUERY,,'PURGE BINARY LOGS TO \'mysql-bin-changelog.008941\'',0
5. 但是真的rdsadmin的操作信息,是不需要做審計(jì)的。我們可以考慮不記錄rdsadmin用戶(hù)的審計(jì)信息,只需修改“選項(xiàng)組”的參數(shù)SERVER_AUDIT_EXCL_USERS=rdsadmin即可
5.1 關(guān)閉之后的audit log輸出:
20190727 14:24:54,ip-10-4-0-205,rdsadmin,localhost,19,0,CONNECT,,,0 20190727 14:24:54,ip-10-4-0-205,rdsadmin,localhost,19,0,DISCONNECT,,,0
---正常情況下,rdsadmin 用戶(hù)會(huì)每秒查詢(xún)一次數(shù)據(jù)庫(kù),以檢查數(shù)據(jù)庫(kù)的運(yùn)行狀況。不記錄rdsadmin的信息之后,世界立即清凈了許多
20190727 14:25:04,ip-10-4-0-205,admin,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,18,2689,QUERY,,'create database user',0 20190727 14:25:06,ip-10-4-0-205,admin,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,18,2690,QUERY,,'SELECT DATABASE()',0 20190727 14:25:06,ip-10-4-0-205,admin,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,18,2692,QUERY,user,'show databases',0 20190727 14:25:06,ip-10-4-0-205,admin,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,18,2693,QUERY,user,'show tables',0 20190727 14:25:26,ip-10-4-0-205,admin,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,18,2715,QUERY,user,'create table xx (id int)',0 20190727 14:25:29,ip-10-4-0-205,admin,ec2-52-80-168-237.cn-north-1.compute.amazonaws.com.cn,18,2716,QUERY,user,'commit',0
6. 針對(duì)數(shù)據(jù)庫(kù)的審計(jì),加密等操作,在增加安全性的同時(shí),也要付出性能損耗的成本。
下文是AWS官方blog,其中討論到RDS Mysql在開(kāi)啟審計(jì)之后,還是有比較大的性能損耗的。
https://aws.amazon.com/cn/blogs/china/cloudwatch-logs-kinesis-firehose-athena-quicksight-amazon-aurora/?nc1=b_rp
7. 開(kāi)啟audit之后,會(huì)有大量的audit log產(chǎn)生,但是RDS的日志會(huì)滾動(dòng)刪除,不能長(zhǎng)久的保存。如果為了長(zhǎng)時(shí)間審計(jì)的需求,將audit保存下來(lái),還可以做更多的統(tǒng)計(jì)和分析。
通過(guò)RDS的Modify頁(yè)面,將audit log輸出到cloudwatch。
至此,RDS Mysql數(shù)據(jù)庫(kù)審計(jì)功能如何使用已經(jīng)了解了。后續(xù),我會(huì)繼續(xù)分享,如何利用audit作為數(shù)據(jù)源。
通過(guò)數(shù)據(jù)處理,匯總到數(shù)據(jù)集/湖 中,以進(jìn)一步分析使用。
看完AWS RDS Mysql是如何開(kāi)啟數(shù)據(jù)庫(kù)審計(jì)功能這篇文章后,很多讀者朋友肯定會(huì)想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。
當(dāng)前題目:AWSRDSMysql是如何開(kāi)啟數(shù)據(jù)庫(kù)審計(jì)功能
分享路徑:http://www.rwnh.cn/article30/gcgeso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、品牌網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、移動(dòng)網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)