亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

SQLSERVER2008新增的審核/審計功能

2024-07-21 02:48:42
字體:
來源:轉載
供稿:網友
SQLSERVER2008新增的審核/審計功能SQLSERVER2008新增的審核/審計功能

很多時候我們都需要對數據庫或者數據庫服務器實例進行審核/審計

例如對失敗的登錄次數進行審計,某個數據庫上的DDL語句進行審計,某個數據庫表里面的delete語句進行審計

事實上,我們這些審計的需求基本上都是為了一個目的:防黑客

上面的這些審計需求無非就是看一下有哪些人試圖入侵數據庫服務器,入侵了之后是否有drop表,是否有delete數據

在SQLSERVER2008及以前版本可以選擇的方案有

1、服務器級別DDL觸發器和數據庫級別的DDL觸發器(SQL2005及以上版本) 以及DML觸發器

2、自己手工從事務日志里讀取操作記錄,權威的書都會說事務日志不是審核工具,一般大型數據庫都會設置為簡單模式,事務日志截斷

3、依靠SQLSERVER ERRORLOG來檢查登錄審核,導致SQLSERVER ERRORLOG login相關的日志泛濫 導致SQL排錯造成困難

4、事件通知:http://www.cnblogs.com/gaizai/p/3473553.html5、更改跟蹤:http://www.cnblogs.com/gaizai/p/3482579.html6、變更數據捕獲(CDC):http://www.cnblogs.com/gaizai/p/3479731.html

我們一般都會把C2 審核跟蹤和登錄審核里面只限成功的登錄,以防止SQL ERRORLOG日志泛濫,因為服務器是很久才重啟一次的,如果不做修改很容易造成磁盤爆滿

--禁用C2 審核跟蹤和只限成功的登錄EXEC sys.sp_configure N'c2 audit mode', N'0'GORECONFIGURE WITH OVERRIDEGOUSE [master]GOEXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'AuditLevel', REG_DWord, 1GO


SQLSERVER2008新增的審核功能

在sqlserver2008新增了審核功能,可以對服務器級別和數據庫級別的操作進行審核/審計,事實上,事件通知、更改跟蹤、變更數據捕獲(CDC)

都不是用來做審計的,只是某些人亂用這些功能,也正因為亂用這些功能導致踩坑

事件通知:性能跟蹤

更改跟蹤:用Sync Services來構建偶爾連接的系統

變更數據捕獲(CDC):數據倉庫的ETL 中的數據抽?。ū澈笫褂胠ogreader)

而審核是SQLSERVER專門針對數據庫安全的進行的審核,記住,他是專門的!

我們看一下審核的使用方法

審核對象

步驟一:創建審核對象,審核對象是跟保存路徑關聯的,所以如果你需要把審核操作日志保存到不同的路徑就需要創建不同的審核對象

我們把審核操作日志保存在文件系統里,在創建之前我們還要在相關路徑先創建好保存的文件夾,我們在D盤先創建sqlaudits文件夾,然后執行下面語句

--創建審核對象之前需要切換到master數據庫USE [master]GOCREATE SERVER AUDIT MyFileAudit TO FILE(FILEPATH='D:/sqlaudits') --這里指定文件夾不能指定文件,生成文件都會保存在這個文件夾GO

實際上,我們在創建審核對象的同時可以指定審核選項,下面是相關腳本

把日志放在磁盤的好處是可以使用新增的TVF:sys.[fn_get_audit_file] 來過濾和排序審核數據,如果把審核數據保存在Windows 事件日志里查詢起來非常麻煩

USE [master]GOCREATE SERVER AUDIT MyFileAudit TO FILE(FILEPATH='D:/sqlaudits',MAXSIZE=4GB,MAX_ROLLOVER_FILES=6) WITH (ON_FAILURE=CONTINUE,QUEUE_DELAY=1000);ALTER SERVER AUDIT MyFileAudit WITH(STATE =ON)

MAXSIZE:指明每個審核日志文件的最大大小是4GB

MAX_ROLLOVER_FILES:指明滾動文件數目,類似于SQL ERRORLOG,達到多少個文件之后刪除前面的歷史文件,這里是6個文件

ON_FAILURE:指明當審核數據發生錯誤時的操作,這里是繼續進行審核,如果指定shutdown,那么將會shutdown整個實例

queue_delay:指明審核數據寫入的延遲時間,這里是1秒,最小值也是1秒,如果指定0表示是實時寫入,當然性能也有一些影響

STATE:指明啟動審核功能,STATE這個選項不能跟其他選項共用,所以只能單獨一句

在修改審核選項的時候,需要先禁用審核,再開啟審核

ALTER SERVER AUDIT MyFileAudit WITH(STATE =OFF)ALTER SERVER AUDIT MyFileAudit WITH(QUEUE_DELAY =1000)ALTER SERVER AUDIT MyFileAudit WITH(STATE =ON)


審核規范

在SQLSERVER審核里面有審核規范的概念,一個審核對象只能綁定一個審核規范,而一個審核規范可以綁定到多個審核對象

我們來看一下腳本

CREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFileFOR SERVER AUDIT MyFileAuditADD (failed_login_group),ADD (successful_login_group)WITH (STATE=ON)GOCREATE SERVER AUDIT MyAppAudit TO application_LOGGOALTER SERVER AUDIT MyAppAudit WITH(STATE =ON)ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE=OFF)GOALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFileFOR SERVER AUDIT MyAppAuditADD (failed_login_group),ADD (successful_login_group)WITH (STATE=ON)GO

我們創建一個服務器級別的審核規范CaptureLoginsToFile,然后再創建多一個審核對象MyAppAudit ,這個審核對象會把審核日志保存到Windows事件日志的應用程序日志里

我們禁用審核規范CaptureLoginsToFile,修改審核規范CaptureLoginsToFile屬于審核對象MyAppAudit ,修改成功

而如果要把多個審核規范綁定到同一個審核對象則會報錯

CREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFileAFOR SERVER AUDIT MyFileAuditADD (failed_login_group),ADD (successful_login_group)WITH (STATE=ON)GOCREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFileBFOR SERVER AUDIT MyFileAuditADD (failed_login_group),ADD (successful_login_group)WITH (STATE=ON)GO--消息 33230,級別 16,狀態 1,第 86 行--審核 'MyFileAudit' 的審核規范已經存在。

這里要說一下 :審核對象和審核規范的修改 ,無論是審核對象還是審核規范,在修改他們的相關參數之前,他必須要先禁用,后修改,再啟用

--禁用審核對象ALTER SERVER AUDIT MyFileAudit WITH(STATE =OFF)--禁用服務器級審核規范ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE=OFF)GO--禁用數據庫級審核規范ALTER DATABASE AUDIT SPECIFICATION CaptureDBLoginsToFile WITH (STATE=OFF)GO--相關修改選項操作--啟用審核對象ALTER SERVER AUDIT MyFileAudit WITH(STATE =ON)--啟用服務器級審核規范ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE=ON)GO--啟用數據庫級審核規范ALTER DATABASE AUDIT SPECIFICATION CaptureDBLoginsToFile WITH (STATE=ON)GO

審核服務器級別事件

審核服務級別事件,我們一般用得最多的就是審核登錄失敗的事件,下面的腳本就是審核登錄成功事件和登錄失敗事件

CREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFileFOR SERVER AUDIT MyFileAuditADD (failed_login_group),ADD (successful_login_group)WITH (STATE=ON)GO

修改審核規范

--跟審核對象一樣,更改審核規范時必須將其禁用ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE =OFF)ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFileADD (login_change_password_gourp),DROP (successful_login_group)ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE =ON)GO

審核操作組

每個審核操作組對應一種操作,在SQLSERVER2008里一共有35個操作組,包括備份和還原操作,數據庫所有權的更改,從服務器和數據庫角色中添加或刪除登錄用戶

添加審核操作組的只需在審核規范里使用ADD,下面語句添加了登錄用戶修改密碼操作的操作組

ADD (login_change_password_gourp)

這里說一下服務器審核的內部實際上使用的是SQL2008新增的擴展事件里面的其中一個package:SecAudit package,當然他內部也是使用擴展事件來收集服務器信息

審核數據庫級別事件

數據庫審核規范存在于他們的數據庫中,不能審核tempdb中的數據庫操作

CREATE DATABASE AUDIT SPECIFICATION和ALTER DATABASE AUDIT SPECIFICATION

工作方式跟服務器審核規范一樣

在SQLSERVER2008里一共有15個數據庫級別的操作組7個數據庫級別的審核操作是:select ,insert,update,delete,execute,receive,references

相關腳本如下:

--創建審核對象USE [master]GOCREATE SERVER AUDIT MyDBFileAudit TO FILE(FILEPATH='D:/sqldbaudits') GOALTER  SERVER AUDIT  MyDBFileAudit WITH (STATE=ON)GO--創建數據庫級別審核規范USE [sss]GOCREATE DATABASE AUDIT SPECIFICATION CaptureDBActionToEventLogFOR SERVER AUDIT MyDBFileAuditADD (database_object_change_group),ADD (SELECT ,INSERT,UPDATE,DELETE ON schema::dbo   BY PUBLIC)WITH (STATE =ON)

我們先在D盤創建sqldbaudits文件夾

第一個操作組對數據庫中所有對象的DDL語句create,alter,drop等進行記錄第二個語句監視由任何public用戶(也就是所有用戶)對dbo架構的任何對象所做的DML操作

創建完畢之后可以在SSMS里看到相關的審核

數據庫審核規范

服務器審核規范和審核對象


查看審核事件

被記錄到文件系統的審核文件不是存儲在可以利用記事本打開的文本文件中,而是采用二進制文件的方式

這里說一個,當磁盤空間不足的時候是可以直接刪除這些SQLAUDIT文件

如果使用DDL觸發器的方法:http://www.cnblogs.com/gaizai/p/3363220.html?ADUIN=xxx2&ADsession=1387155615&ADTAG=CLIENT.QQ.5275_.0&ADPUBNO=26274

一般都會在數據庫里頭創建一張表來保存審計數據,但是當表數據量達到很多的時候,DBA也需要去維護這張表

工作量又增加了,可能你會說,我需要審計的項目不多,所以審計的數據也不會太多,但對于某些大公司來說

他們要審計的數據是非常多的,有些需要歸檔,而有些不需要歸檔

對于不需要歸檔審計數據的情況,我比較喜歡這種方式,當磁盤容量不夠的時候把最老的那個審計文件刪除掉

當然,你可以把整個sqlaudits文件夾或某個sqlaudit文件進行備份,放到備份磁盤上,然后刪除一些較老的sqlaudit文件

備份了之后以后就有機會對之前的審計數據進行翻查,都比較靈活

我們有兩種方法查看審核日志

方法一:對象資源管理器-》安全性-》審核-》選中某個審核對象-》右鍵-》查看審核日志

審核項目包括有:日期、時間戳記、服務器實例名稱、操作ID、類類型、序列號、成功或失敗、列權限、數據庫主體ID、服務器主體名稱、

服務器主體SID、被執行的(或嘗試)的實際語句等等

方法二:使用新的表值函數sys.[fn_get_audit_file]()

此函數接受一個或多個審核文件的參數(使用通配符模式匹配)

并利用另外兩個附加參數可以指定要處理的起始文件,以及開始讀取審核的已知偏移位置

這兩個參數都是可選的,但依然必須使用關鍵字default指定,此函數隨后從文件中讀取二進制數據,并將格式化這些審核項目

服務器級別審核

根據最近時間的那個sqlaudit文件,查詢這個文件里面的信息

SELECT  [event_time] AS '觸發審核的日期和時間' ,        sequence_number AS '單個審核記錄中的記錄順序' ,        action_id AS '操作的 ID' ,        succeeded AS '觸發事件的操作是否成功' ,        permission_bitmask AS '權限掩碼' ,        is_column_permission AS '是否為列級別權限' ,        session_id AS '發生該事件的會話的 ID' ,        server_PRincipal_id AS '執行操作的登錄上下文 ID' ,        database_principal_id AS '執行操作的數據庫用戶上下文 ID' ,        target_server_principal_id AS '執行 GRANT/DENY/REVOKE 操作的服務器主體' ,        target_database_principal_id AS '執行 GRANT/DENY/REVOKE 操作的數據庫主體' ,        object_id AS '發生審核的實體的 ID(服務器對象,D
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产私拍精品国模在线观看| 日韩在线视频免费观看| 精品国产精品自拍| 成人妇女淫片aaaa视频| 97视频人免费观看| 亚洲福利视频久久| 一本久久综合亚洲鲁鲁| 国产香蕉精品视频一区二区三区| 亚洲欧美激情四射在线日| www.日韩.com| 欧美激情a∨在线视频播放| 热99精品只有里视频精品| 午夜精品久久久久久久白皮肤| 亚洲一区二区中文字幕| 中文综合在线观看| 91中文精品字幕在线视频| 欧美福利视频网站| 欧美国产第二页| 中文字幕免费精品一区高清| 国产在线观看精品一区二区三区| 综合av色偷偷网| 免费av在线一区| 欧美一级bbbbb性bbbb喷潮片| 国产成人精品视频| 69国产精品成人在线播放| 日韩在线免费av| 岛国视频午夜一区免费在线观看| 国产成人精品在线| 欧美激情精品久久久久久变态| 91av国产在线| 日韩视频亚洲视频| 精品久久久久久久久久国产| 国产精品爽爽爽| 一二美女精品欧洲| 国产成人在线视频| 精品国产成人在线| 亚洲影影院av| 日本国产欧美一区二区三区| 色综合色综合网色综合| 疯狂欧美牲乱大交777| 91精品国产乱码久久久久久久久| 国产精品麻豆va在线播放| 欧美一级免费看| 国产精品第100页| 欧美激情综合亚洲一二区| 亚洲国产女人aaa毛片在线| 97香蕉久久夜色精品国产| 热99在线视频| 亚洲一区二区三区毛片| 精品成人国产在线观看男人呻吟| 精品亚洲一区二区三区四区五区| 久久久久999| 91超碰caoporn97人人| 国产日韩欧美在线播放| 日本欧美黄网站| 91精品视频在线看| 亚洲国产一区二区三区四区| 国产成人精品最新| 亚洲精品xxx| 国产精品99久久久久久www| 日韩亚洲欧美成人| 日韩毛片在线看| 亚洲综合中文字幕在线| 最新日韩中文字幕| 国产精品视频专区| 91sa在线看| 日韩麻豆第一页| 97精品一区二区视频在线观看| 欧美巨猛xxxx猛交黑人97人| 亚洲国产精品美女| 久久精品久久久久久| 亚洲色图av在线| 夜夜躁日日躁狠狠久久88av| 亚洲无限乱码一二三四麻| 国产日韩精品在线| 午夜剧场成人观在线视频免费观看| 国产精品欧美在线| 久久国产精品亚洲| 色噜噜狠狠狠综合曰曰曰| 91久久精品久久国产性色也91| 亚洲精品日韩丝袜精品| 欧美一级在线亚洲天堂| 国产精品久久久久91| 日韩美女视频免费看| 亚洲毛茸茸少妇高潮呻吟| 日本精品一区二区三区在线| 亚洲国产日韩欧美在线图片| www.久久色.com| 日韩电影在线观看永久视频免费网站| 欧美成人免费全部| 午夜精品久久久99热福利| 91成人在线观看国产| 欧美精品在线播放| 国产视频综合在线| 国产亚洲欧洲黄色| 国产精品综合不卡av| 日韩视频在线观看免费| 亚洲国产天堂久久综合网| 亚洲网站在线播放| 欧美精品久久一区二区| 久久综合国产精品台湾中文娱乐网| 国产精品综合不卡av| 久久亚洲综合国产精品99麻豆精品福利| 欧美—级高清免费播放| 欧美日韩爱爱视频| 欧美高清第一页| 国产91露脸中文字幕在线| 成人精品一区二区三区电影免费| 亚洲精品电影网| 欧美国产日韩一区二区三区| 日韩中文字幕在线精品| 午夜精品视频网站| 97久久超碰福利国产精品…| 精品欧美一区二区三区| 国产免费一区视频观看免费| 久久九九全国免费精品观看| 久久成年人视频| 久久久999国产精品| 国产欧美精品一区二区| 欧美大成色www永久网站婷| 中文字幕欧美精品日韩中文字幕| 久久精品免费电影| 国产精品网址在线| 亚洲成av人片在线观看香蕉| 奇米4444一区二区三区| 神马久久久久久| 精品国产乱码久久久久久虫虫漫画| 精品激情国产视频| 国模gogo一区二区大胆私拍| 欧美一级免费看| 亚洲综合小说区| 国产精品aaaa| 国产日韩欧美一二三区| 综合国产在线视频| 亚洲精品色婷婷福利天堂| 91爱视频在线| 伊人成人开心激情综合网| 久久香蕉国产线看观看网| 国产成人精品视| 国产人妖伪娘一区91| 久久国产精品久久久久久| 亚洲中国色老太| 国产精品扒开腿做爽爽爽视频| 亚洲福利在线视频| 国产精品久在线观看| 亚洲午夜精品久久久久久久久久久久| 色琪琪综合男人的天堂aⅴ视频| 97超碰国产精品女人人人爽| 成人黄色在线观看| 第一福利永久视频精品| 尤物九九久久国产精品的分类| 日韩经典第一页| 欧美第一淫aaasss性| 成人网在线免费观看| 欧美激情18p| 久久中文字幕视频| 国产成人精品免高潮在线观看| 亚洲а∨天堂久久精品喷水| 成人羞羞国产免费| 国产一区二区三区欧美| 久久久久国产精品免费| 亚洲美女性生活视频| 91高清视频免费| 91日韩在线视频|