SQLSERVER2008新增的審核功能
成都服務(wù)器托管,創(chuàng)新互聯(lián)提供包括服務(wù)器租用、成都服務(wù)器托管、帶寬租用、云主機(jī)、機(jī)柜租用、主機(jī)租用托管、CDN網(wǎng)站加速、域名申請等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:13518219792
在sqlserver2008新增了審核功能,可以對服務(wù)器級別和數(shù)據(jù)庫級別的操作進(jìn)行審核/審計,事實上,事件通知、更改跟蹤、變更數(shù)據(jù)捕獲(CDC)
都不是用來做審計的,只是某些人亂用這些功能,也正因為亂用這些功能導(dǎo)致踩坑
事件通知:性能跟蹤
更改跟蹤:用Sync Services來構(gòu)建偶爾連接的系統(tǒng)
變更數(shù)據(jù)捕獲(CDC):數(shù)據(jù)倉庫的ETL 中的數(shù)據(jù)抽取(背后使用logreader)
而審核是SQLSERVER專門針對數(shù)據(jù)庫安全的進(jìn)行的審核,記住,他是專門的!
我們看一下審核的使用方法
審核對象
步驟一:創(chuàng)建審核對象,審核對象是跟保存路徑關(guān)聯(lián)的,所以如果你需要把審核操作日志保存到不同的路徑就需要創(chuàng)建不同的審核對象
我們把審核操作日志保存在文件系統(tǒng)里,在創(chuàng)建之前我們還要在相關(guān)路徑先創(chuàng)建好保存的文件夾,我們在D盤先創(chuàng)建sqlaudits文件夾,然后執(zhí)行下面語句
--創(chuàng)建審核對象之前需要切換到master數(shù)據(jù)庫
USE [master]
GO
CREATE SERVER AUDIT MyFileAudit TO FILE(FILEPATH='D:\sqlaudits') --這里指定文件夾不能指定文件,生成文件都會保存在這個文件夾
GO
實際上,我們在創(chuàng)建審核對象的同時可以指定審核選項,下面是相關(guān)腳本
把日志放在磁盤的好處是可以使用新增的TVF:sys.[fn_get_audit_file] 來過濾和排序?qū)徍藬?shù)據(jù),如果把審核數(shù)據(jù)保存在Windows 事件日志里查詢起來非常麻煩
USE [master]
GO
CREATE 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:指明滾動文件數(shù)目,類似于SQL ERRORLOG,達(dá)到多少個文件之后刪除前面的歷史文件,這里是6個文件
ON_FAILURE:指明當(dāng)審核數(shù)據(jù)發(fā)生錯誤時的操作,這里是繼續(xù)進(jìn)行審核,如果指定shutdown,那么將會shutdown整個實例
queue_delay:指明審核數(shù)據(jù)寫入的延遲時間,這里是1秒,最小值也是1秒,如果指定0表示是實時寫入,當(dāng)然性能也有一些影響
STATE:指明啟動審核功能,STATE這個選項不能跟其他選項共用,所以只能單獨一句
在修改審核選項的時候,需要先禁用審核,再開啟審核
ALTER SERVER AUDIT MyFileAudit WITH(STATE =OFF)
ALTER SERVER AUDIT MyFileAudit WITH(QUEUE_DELAY =1000)
ALTER SERVER AUDIT MyFileAudit WITH(STATE =ON)
審核規(guī)范
在SQLSERVER審核里面有審核規(guī)范的概念,一個審核對象只能綁定一個審核規(guī)范,而一個審核規(guī)范可以綁定到多個審核對象
我們來看一下腳本
CREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFile
FOR SERVER AUDIT MyFileAudit
ADD (failed_login_group),
ADD (successful_login_group)
WITH (STATE=ON)
GO
CREATE SERVER AUDIT MyAppAudit TO APPLICATION_LOG
GO
ALTER SERVER AUDIT MyAppAudit WITH(STATE =ON)
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE=OFF)
GO
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile
FOR SERVER AUDIT MyAppAudit
ADD (failed_login_group),
ADD (successful_login_group)
WITH (STATE=ON)
GO
我們創(chuàng)建一個服務(wù)器級別的審核規(guī)范CaptureLoginsToFile,然后再創(chuàng)建多一個審核對象MyAppAudit ,這個審核對象會把審核日志保存到Windows事件日志的應(yīng)用程序日志里
我們禁用審核規(guī)范CaptureLoginsToFile,修改審核規(guī)范CaptureLoginsToFile屬于審核對象MyAppAudit ,修改成功
而如果要把多個審核規(guī)范綁定到同一個審核對象則會報錯
CREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFileA
FOR SERVER AUDIT MyFileAudit
ADD (failed_login_group),
ADD (successful_login_group)
WITH (STATE=ON)
GO
CREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFileB
FOR SERVER AUDIT MyFileAudit
ADD (failed_login_group),
ADD (successful_login_group)
WITH (STATE=ON)
GO
--消息 33230,級別 16,狀態(tài) 1,第 86 行
--審核 'MyFileAudit' 的審核規(guī)范已經(jīng)存在。
這里要說一下 :審核對象和審核規(guī)范的修改 ,無論是審核對象還是審核規(guī)范,在修改他們的相關(guān)參數(shù)之前,他必須要先禁用,后修改,再啟用
--禁用審核對象
ALTER SERVER AUDIT MyFileAudit WITH(STATE =OFF)
--禁用服務(wù)器級審核規(guī)范
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE=OFF)
GO
--禁用數(shù)據(jù)庫級審核規(guī)范
ALTER DATABASE AUDIT SPECIFICATION CaptureDBLoginsToFile WITH (STATE=OFF)
GO
--相關(guān)修改選項操作
--啟用審核對象
ALTER SERVER AUDIT MyFileAudit WITH(STATE =ON)
--啟用服務(wù)器級審核規(guī)范
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE=ON)
GO
--啟用數(shù)據(jù)庫級審核規(guī)范
ALTER DATABASE AUDIT SPECIFICATION CaptureDBLoginsToFile WITH (STATE=ON)
GO
審核服務(wù)器級別事件
審核服務(wù)級別事件,我們一般用得最多的就是審核登錄失敗的事件,下面的腳本就是審核登錄成功事件和登錄失敗事件
CREATE SERVER AUDIT SPECIFICATION CaptureLoginsToFile
FOR SERVER AUDIT MyFileAudit
ADD (failed_login_group),
ADD (successful_login_group)
WITH (STATE=ON)
GO
修改審核規(guī)范
--跟審核對象一樣,更改審核規(guī)范時必須將其禁用
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE =OFF)
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile
ADD (login_change_password_gourp),
DROP (successful_login_group)
ALTER SERVER AUDIT SPECIFICATION CaptureLoginsToFile WITH (STATE =ON)
GO
審核操作組
每個審核操作組對應(yīng)一種操作,在SQLSERVER2008里一共有35個操作組,包括備份和還原操作,數(shù)據(jù)庫所有權(quán)的更改,從服務(wù)器和數(shù)據(jù)庫角色中添加或刪除登錄用戶
添加審核操作組的只需在審核規(guī)范里使用ADD,下面語句添加了登錄用戶修改密碼操作的操作組
ADD (login_change_password_gourp)
這里說一下服務(wù)器審核的內(nèi)部實際上使用的是SQL2008新增的擴(kuò)展事件里面的其中一個package:SecAudit package,當(dāng)然他內(nèi)部也是使用擴(kuò)展事件來收集服務(wù)器信息
審核數(shù)據(jù)庫級別事件
數(shù)據(jù)庫審核規(guī)范存在于他們的數(shù)據(jù)庫中,不能審核tempdb中的數(shù)據(jù)庫操作
CREATE DATABASE AUDIT SPECIFICATION和ALTER DATABASE AUDIT SPECIFICATION
工作方式跟服務(wù)器審核規(guī)范一樣
在SQLSERVER2008里一共有15個數(shù)據(jù)庫級別的操作組
7個數(shù)據(jù)庫級別的審核操作是:select ,insert,update,delete,execute,receive,references
相關(guān)腳本如下:
--創(chuàng)建審核對象
USE [master]
GO
CREATE SERVER AUDIT MyDBFileAudit TO FILE(FILEPATH='D:\sqldbaudits')
GO
ALTER SERVER AUDIT MyDBFileAudit WITH (STATE=ON)
GO
--創(chuàng)建數(shù)據(jù)庫級別審核規(guī)范
USE [sss]
GO
CREATE DATABASE AUDIT SPECIFICATION CaptureDBActionToEventLog
FOR SERVER AUDIT MyDBFileAudit
ADD (database_object_change_group),
ADD (SELECT ,INSERT,UPDATE,DELETE ON schema::dbo BY PUBLIC)
WITH (STATE =ON)
我們先在D盤創(chuàng)建sqldbaudits文件夾
第一個操作組對數(shù)據(jù)庫中所有對象的DDL語句create,alter,drop等進(jìn)行記錄
第二個語句監(jiān)視由任何public用戶(也就是所有用戶)對dbo架構(gòu)的任何對象所做的DML操作
創(chuàng)建完畢之后可以在SSMS里看到相關(guān)的審核
遠(yuǎn)程連接是吧!
你去找二個地方
一:看看你的客戶端網(wǎng)絡(luò)實用工具中的配置是否和遠(yuǎn)程服務(wù)器一樣:端口號,IP地址,服務(wù)器名稱,以及協(xié)議管道
二:仔細(xì)看下你的網(wǎng)上鄰居本地連接的TCP/IP協(xié)議配置:IP地址,默認(rèn)網(wǎng)關(guān)(很重要,這個地方出錯,你絕對連不上,仔細(xì)看看),DNS服務(wù)器配置是否正確。
解決辦法: 在備份的硬盤上右擊-屬性-安全,找到Users,單擊它,然后在下面的權(quán)限上全部打勾即可。
文章題目:sqlserver踩坑的簡單介紹
當(dāng)前路徑:http://m.kartarina.com/article40/dseiseo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、品牌網(wǎng)站建設(shè)、商城網(wǎng)站、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)