中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

sqlserver審核,sqlserver登錄審核

審核失敗 sqlserver

有人在嘗試你的sa密碼,去把sa密碼設(shè)置復(fù)雜一些,長度10位以上,數(shù)字字母符號混合即可,或者裝第三方防火墻軟件,將此ip地址禁止連接

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)提供從項目策劃、軟件開發(fā),軟件安全維護、網(wǎng)站優(yōu)化(SEO)、網(wǎng)站分析、效果評估等整套的建站服務(wù),主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站設(shè)計,app軟件開發(fā)以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。創(chuàng)新互聯(lián)深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

如何開啟sqlserver2008數(shù)據(jù)庫審計功能

SQLSERVER2008新增的審核功能

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

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

事件通知:性能跟蹤

更改跟蹤:用Sync Services來構(gòu)建偶爾連接的系統(tǒng)

變更數(shù)據(jù)捕獲(CDC):數(shù)據(jù)倉庫的ETL 中的數(shù)據(jù)抽取(背后使用logreader)

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

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

審核對象

步驟一:創(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,達到多少個文件之后刪除前面的歷史文件,這里是6個文件

ON_FAILURE:指明當(dāng)審核數(shù)據(jù)發(fā)生錯誤時的操作,這里是繼續(xù)進行審核,如果指定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新增的擴展事件里面的其中一個package:SecAudit package,當(dāng)然他內(nèi)部也是使用擴展事件來收集服務(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等進行記錄

第二個語句監(jiān)視由任何public用戶(也就是所有用戶)對dbo架構(gòu)的任何對象所做的DML操作

創(chuàng)建完畢之后可以在SSMS里看到相關(guān)的審核

啟動賬號和審核級別可以用腳本修改嗎

SQL code--無

EXEC master.dbo.xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'AuditLevel', REG_DWORD, 0

GO

--僅限成功登陸

EXEC master.dbo.xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'AuditLevel', REG_DWORD, 1

GO

--失敗和成功的登錄

EXEC master.dbo.xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'AuditLevel', REG_DWORD, 3

GO

--僅限失敗登陸

EXEC master.dbo.xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'AuditLevel', REG_DWORD, 2

GO

------解決方案--------------------

其實SQL Server Login auditing是通過寫注冊表的方式來存儲的。存儲的注冊表位置如下:

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\AuditLevel

修改方式如以下:

SQL code

USE [master]

GO

EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE'

, N'Software\Microsoft\MSSQLServer\MSSQLServer'

, N'AuditLevel'

, REG_DWORD

, 0/*--住需要修改這個地方的值為0、1、2或者3即可。

0:None

2:Failed Logins Only

1:Successful logins only

3:Both failed and successful logins only

*/

GO

------解決方案--------------------

1. 通過本地用戶管理,建立一個本地用戶sqlserver,密碼:123456;

2. 如果現(xiàn)在就我們打開SERVICES配置通過該用戶啟動,系統(tǒng)會報錯誤:

Source:Service Control Manager

Event ID:7000

Description:

The %service% service failed to start due to the following error:

The service did not start due to a logon failure.

No Data will be available.

這是因為作為一個普通用戶是無法啟動服務(wù)的,我們需要給sqlserver用戶分配必要的權(quán)限。

SQL Server服務(wù)啟動賬號必須有3個基本權(quán)限:

l 數(shù)據(jù)庫本地目錄的讀寫權(quán)限;

l 啟動本地服務(wù)的權(quán)限;

l 讀取注冊表的權(quán)限;

3. 賦予sqlserver用戶mssql(WINDOWS平臺上強大的數(shù)據(jù)庫平臺)目錄的讀寫權(quán)限;

因為我的SQL SERVER是安裝在D盤,所以我在權(quán)限管理中,將D:\PROGRMAM FILE\Microsoft SQL Server\mssql(WINDOWS平臺上強大的數(shù)據(jù)庫平臺)讀寫權(quán)限賦予sqlserver用戶。

4. 分配sqlserver用戶啟動本地服務(wù)的權(quán)限;

這個比較復(fù)雜,我只舉例作為成員服務(wù)器的情況。

l 啟動“Local Security Setting” MMC 管理單元。

l 展開Local Policy,然后單擊User Rights Assignment。

l 在右側(cè)窗格中,右鍵單擊Log on as Service,將用戶添加到該策略,然后單擊OK。

l 在右側(cè)窗格中,右鍵單擊Log on as a batch job,將用戶添加到該策略,然后單擊OK

l 在右側(cè)窗格中,右鍵單擊Locks pages in memory,將用戶添加到該策略,然后單擊OK

l 在右側(cè)窗格中,右鍵單擊Act as part of the operating systme,將用戶添加到該策略,然后單擊OK

l 在右側(cè)窗格中,右鍵單擊Bypass traverse checking,將用戶添加到該策略,然后單擊OK

l 在右側(cè)窗格中,右鍵單擊Replace a process level token,將用戶添加到該策略,然后單擊OK

l 關(guān)閉“Local Security Setting” MMC 管理單元。

如圖:

5. 重新啟動系統(tǒng),用sqlserver用戶登陸系統(tǒng);

6. 再重新啟動系統(tǒng),已administrator用戶登陸,打開SERVICES管理工具,配置用該用戶啟動mssql(WINDOWS平臺上強大的數(shù)據(jù)庫平臺)SERVER服務(wù);

這樣我們就可以通過限制SQLSERVER用戶的權(quán)限來控制SQLSERVER擴展存儲過程的權(quán)限。

網(wǎng)站題目:sqlserver審核,sqlserver登錄審核
分享路徑:http://www.rwnh.cn/article14/dsdjege.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站導(dǎo)航靜態(tài)網(wǎng)站、App設(shè)計微信小程序、Google

廣告

聲明:本網(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)

h5響應(yīng)式網(wǎng)站建設(shè)
沽源县| 遵义市| 武威市| 沙河市| 浙江省| 花莲市| 辉县市| 辉县市| 盐边县| 茶陵县| 丹寨县| 崇左市| 五指山市| 察隅县| 中西区| 通许县| 恩平市| 治多县| 汕头市| 米泉市| 民勤县| 太仓市| 宝丰县| 汉中市| 嘉禾县| 濉溪县| 克东县| 普陀区| 崇州市| 枣阳市| 丰台区| 乐安县| 报价| 吉水县| 五原县| 江孜县| 洪泽县| 南木林县| 深水埗区| 盐池县| 嵊州市|