sql審核工具
① 金蝶K3可以在資料庫把審核的單據刪除或者反審核嗎可以的話sql語句怎麼寫
軟體如果自帶刪除,或者反審核功能的話洞高,最好在軟體中進行操作,不用直接用sql,因為相關操作會關聯其他的鬧沖操作,直接在資料庫用sql修改,可納彎尺能會產生數據不同步問題
② SQL Server中安全審核級別
審核就是記日誌
無表示不記日誌
成功表示成功升畝鍵的登錄記日耐侍志
失敗表吵巧示失敗的登錄記日誌
全部就是所有的登錄操作都記日誌
WIN2000的話在管理工具->事件查看器中看
③ sql server 2005 怎麼開啟C2審核策略
在ssms中右鍵點伺服器屬性
在安全性中選擇啟動C2審核跟蹤
④ SQL審核 | SQLE-SQL審核平台體驗報告
通過SQLE的產品結構圖我們可以看到,SQLE 的界面設計較簡潔,工作台可以看到與自己相關的待辦工作;首頁列表放置核心功能【工單】審核,其它功能收集到平台管理中;【規則】可以考慮收入到【平台管理】中;【審核計劃】也可以考慮收入到【平台管理】中,審核的結果可以集成到工單中,方便統一進行處理。
通過 SQLE 的流程圖可以看到,整體流程分為兩個兩個部分,一個是基礎配置,配置好了基礎配置以後,就可以執行上線流程了;對於審核不合格的功能依舊可以執行工單,沒有起到自動審核的意義,對於ERROR級別的錯誤可以自動駁回不與上線;進入工單頁唯派盯面後不能很好的發現審核操作按鈕(工單進度部分),需要下拉窗口才能發現;可以把審核操作放羨滲到審核結果列表後面加一個操作列,體驗會更加友好指和。下圖為縮放67%後才能看到下面的審核操作.
(1)創建SQL工單-SQL語句不支持輸入聯想,建議增加輸入聯想,提高錄入效率
(2)創建SQL工單-SQL語句對於明顯語法錯誤不能及時提示,建議增加語法錯誤提示,提前發現明顯問題
(3)創建SQL工單-SQL語句輸入框高度過高,點擊審核後不方便查看到結果,建議降低高度增加寬度
(4)創建SQL工單-工單不支持自定義上線時間,同時也不支持定時上線
由於時間有限,僅是個人測試體驗;SQLE 整體設計不錯,符合現在主流平台的各方面特徵;主要幾個設計點我比較喜歡:
⑤ 如何開啟sqlserver2008資料庫審計功能
SQLSERVER2008新增的審核功能
在sqlserver2008新增了審核功能,可以對伺服器級別和資料庫級別的操作進行審核/審計,事實上,事件通知、更改跟蹤、變更數據捕獲(CDC)
都不是用來做審計的,只是某些人亂用這些功能,也正因為亂用這些功能導致踩坑
事件通知:性能跟蹤
更改跟蹤:用Sync Services來構建偶爾連接的系統
變更數據捕獲(CDC):數據倉庫的ETL 中的數據抽取(背後使用logreader)
而審核是SQLSERVER專門針對資料庫安全的進行的審核,記住,他是專門的!
我們看一下審核的使用方法
審核對象
步驟一:創建審核對象,審核對象是跟保存路徑關聯的,所以如果你需要把審核操作日誌保存到不同的路徑就需要創建不同的審核對象
我們把審核操作日誌保存在文件系統里,在創建之前我們還要在相關路徑先創建好保存的文件夾,我們在D盤先創建sqlaudits文件夾,然後執行下面語句
--創建審核對象之前需要切換到master資料庫
USE [master]
GO
CREATE SERVER AUDIT MyFileAudit TO FILE(FILEPATH='D:\sqlaudits') --這里指定文件夾不能指定文件,生成文件都會保存在這個文件夾
GO
實際上,我們在創建審核對象的同時可以指定審核選項,下面是相關腳本
把日誌放在磁碟的好處是可以使用新增的TVF:sys.[fn_get_audit_file] 來過濾和排序審核數據,如果把審核數據保存在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:指明滾動文件數目,類似於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 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
我們創建一個伺服器級別的審核規范CaptureLoginsToFile,然後再創建多一個審核對象MyAppAudit ,這個審核對象會把審核日誌保存到Windows事件日誌的應用程序日誌里
我們禁用審核規范CaptureLoginsToFile,修改審核規范CaptureLoginsToFile屬於審核對象MyAppAudit ,修改成功
而如果要把多個審核規范綁定到同一個審核對象則會報錯
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,狀態 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 CaptureLoginsToFile
FOR SERVER AUDIT MyFileAudit
ADD (failed_login_group),
ADD (successful_login_group)
WITH (STATE=ON)
GO
修改審核規范
--跟審核對象一樣,更改審核規范時必須將其禁用
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
審核操作組
每個審核操作組對應一種操作,在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]
GO
CREATE SERVER AUDIT MyDBFileAudit TO FILE(FILEPATH='D:\sqldbaudits')
GO
ALTER SERVER AUDIT MyDBFileAudit WITH (STATE=ON)
GO
--創建資料庫級別審核規范
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盤創建sqldbaudits文件夾
第一個操作組對資料庫中所有對象的DDL語句create,alter,drop等進行記錄
第二個語句監視由任何public用戶(也就是所有用戶)對dbo架構的任何對象所做的DML操作
創建完畢之後可以在SSMS里看到相關的審核
⑥ sql server 2008 狀態欄位 已審核未審核 怎麼設置
啟動SQL Server 2008 Management Studio「工具菜單—>選項蔽差」打開選項對話框
左側目錄樹選擇「設計器」取消勾選右側「阻止保存要求重新創建表的更改」即可。
在其他版本的「設計器」項為英文「吵則designers」
4
點擊確定就設置好了,用CTRL+S就可以正常保存表結構的宏碰皮更改了。
⑦ 如何通過SQL語句設置資料庫登錄審核的狀態
剛好上次講三層架構.有現成的例子
以一個驗證登陸為例子
這里是界面層一般叫UIL
protected void Button1_Click(object sender, EventArgs e)
{
List<User> Users = BAL.GetUserInfo(txtUserName.Text,txtPassword.Text);
if(Users.Length > 0)
{
Response.Write("登陸成功");
}
else
{
Response.Write("登陸失敗");
}
}
以下是邏輯層代碼,業務邏輯層一般叫BLL
public static List<User> GetUserInfo(string user,string password)
{
string newPassword = GetMD5Hash(password); //這里對密碼進行加密處理,資料庫中存放的是經過MD5加密後的密,業務邏輯層一般都是處理復雜的邏輯.例如加密邏輯
List<User> Users = DAL.GetUserInfo(user,newPassword);
return Users;
}
以下是數據訪問層代碼,數據訪問層一般叫DAL
public static List<User> GetUserInfo(string user,string password)
{
List<User> Users = new List<User>();
string sql = "select * from User where Password = '"+password+"' and User = '"+user+"'"; //寫where子句的時候把Password放前面.因為Password經過加密,所以可以防止SQL注入攻擊
SqlDataAdapter da = new SqlDataAdapter(sql,"這里是資料庫連接字元串");
DataSet ds = new DataSet();
da.Fill(ds);
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
User user = new User(ds.Tables[0].Rows[i]["ID"].ToString(),ds.Tables[0].Rows[i]["User"].ToString(),ds.Tables[0].Rows[i]["Password"].ToString());
Users.Add(user);
}
return Users;
}
還會有一個Model層.叫做模板層.是數據表結構的印射.Model層是共用層,其他三層都要用到.
比如資料庫中有張表User,裡面有3個欄位ID,User,Password
那麼在模板層中應該有一個類,資料庫中User表的一行對應一個User對象,一張表對應User對象的集合.
public class User
{
string ID;
string User;
string Password;
//重載構造函數
User(string id,string user,string password)
{
this.ID=id;
this.User=user;
this.Password=password;
}
}
⑧ sql如何寫查詢單據創建者審核者修改者
1、首先打開定電腦,點開一個寫sql的軟體。
2、其次點擊設置,找到寫查詢單據的位置,點擊編輯。
3、最後可以在右邊看到這個創建者審核者租信修改弊悶輪者,是罩世非常的方便的。
⑨ 詳解Yearning SQL審核平台功能模塊設計
Yearning SQL審核平台目前兼容99%的Mysql 標准SQL語法。
已知不支持的語句類型有:
下面對其中的功能模塊做一下介紹,以下基於Yearning 2.0版本。
1、dashboard
dashboard主要展示Yearning各項數據包括用戶數/數據源數/工單數/查詢數以及其他圖表,個人信息欄內用戶可以修改密碼/郵箱/真實姓名,同時可以查看該用戶許可權以及申請許可權。
2、我的工單
展示用戶提交的工單信息,對於執行失敗/駁回的工單點擊詳細信息後可以重新修改sql並提交,對於執行成功的工單可以查看回滾語句並且快速提交SQL
3、工單-DDL
具有以下功能:
1)DDL相關SQL提交審核
2)查看錶結構/索引
3)SQL語法高亮/自動補全
如果想獲取表結構詳細信息,必須選填表名並完整填寫工單信息。所有的SQL只有在檢測後錯誤等級為0時提交按鈕才會激活,如下拉列表框內沒有相關數據源顯示請聯系管理員是否賦予相應數據源許可權
4、工單--DML
具備以下功能:
1)DML相關SQL提交審核
2)SQL語法高亮/自動補全
所有的SQL只有在檢測後錯誤等級為0時提交按鈕才會激活,如下拉列表框內沒有相關數據源顯示請聯系管理員是否賦予相應數據源許可權
5、查詢
具備以下功能:
1)查詢/導出數據
2)SQL語法高亮/自動補全
3)快速DML語句提交
如果開啟查詢審核,提交該查詢申請後需對應審核人同意後方可查詢,超級管理員在設置頁面開啟數據導出功能後,查詢申請頁面才會顯示數據導出按鈕(默認為.csv格式),獲取表結構功能必須點擊相應表名此為前置條件,快速提交功能僅支持DML語句,如下拉列表框內沒有相關數據源顯示請聯系管理員是否賦予相應數據源許可權
1、工單審核
功能:DDL/DML管理員審核並執行
實時刷新開關默認打開,如需刪除記錄請先關閉該開關。如定時工單的時間小於當前時間,執行該工單將會立即執行,目前僅支持延時工單中止,其他工單執行後無法中止!
2、查詢審核
功能:用戶查詢審核
點擊全部中止按鈕將會中止所有用戶的查詢許可權 如沒有在設置頁面開啟查詢審核備蔽開關,則默認用戶查詢申請提交後自動獲得查詢許可權。 用戶查詢時限在設置頁面進行設置
3、許可權審核
功能:用戶許可權審核
許可權由用戶在首頁個人信息處自主申請,管理員可在該審核頁面決定是否給予用戶申請的許可權,由於用戶可能存在胡亂申請許可權的問題,所以 管理員在查看用戶許可權申請工單的同時可對工單申請的許可權進行修改,確定具體的許可權給予 。
1、工單審計
主要是審計工單的執行情況,記錄工單的執行時間、申請人、執行人等信息。
2、查詢審計
針對資料庫查詢記錄做審計
1、用戶
功能:創建/修改/刪除用戶
當多級審核關閉後系統並不會自動將角色為執行人的用戶重置角色,需要自行重置相應用戶角色
2、資料庫
功能:添加/編輯/刪除 數據源
所有添加的數據源應在添加之前點擊測試連接按鈕進行連接性測試,保證連接性。慎隱
數據源分為 查詢數據源/非查詢數據源 。查詢數據源僅會出現在細粒度許可權的查詢數據源范圍內。非查詢數據源同理。(對於查詢與執行數據源應拆分為二,保障線上執行數據源不會因為查詢慢sql影響業務),此類別添加後 無法通過編輯進行修改 ,需要慎重添加。
3、用戶許可權
功能:用戶許可權修改/清空
批量賦權僅支持角色為使用人的用戶。由於批量賦權為覆蓋更新,僅適合在用戶許可權為空時使用。
4、設置
功能:
在配置填寫無誤後點擊測試按鈕進行相關測試, 使用消息推送前必須先打開對應消息推送開關,否則Yearning不會進行推送
5、審核仿孝州規則
功能:設置SQL檢測規則
保存後即時生效
後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~
⑩ 詳解Yearning SQL審核平台許可權規劃--基於用戶的細粒度許可權
Yearning的許可權規范還是挺有特點的,這里簡單記錄一下,僅供參考。
Yearning採用基於用戶的細粒度許可權/角色許可權,許可權最低下放至數據源。
Yearning中神孫喚用戶先以角色的形式分為三大類,分別為 使用者/管理員/執行人。其中管理員/執行人角色為可見管理頁面角色, 使用者為非可見管理頁面角色。通過角色Yearning在細粒度許可權劃分之前先將用戶分類。使管理類許可權不會出現在使用者細粒度許可權劃分中
可根據每個用戶的實際需求配置相應ddl/dml/查詢數據源。每一類許可權相互獨立互不幹擾。
基於用戶的拼圖式許可權可最大化保證細粒度許可權的多樣化,可實現對每一個用戶都設置不同許可權的目的。
用戶界面如下:
資料庫界面如下:
這里其實就是把用戶跟資料庫,用戶跟具體許可權,用戶和上級審核人做一個綁凱知定關系。
許可權界面如下:
4.1、基於用戶自主申請
在Yearning中用戶可通過 首頁個人信息欄-查看許可權按鈕 查看當前許可權並可通過 申請許可權按鈕 提交許可權申請。
該許可權申請將會以工單的形式發送給超級管理員進行審批。(超級管理員為admin用戶)如開啟消息推送,該工單將會進行相應推送。
當超級管理員收到申請之後,可對相應許可權工單進行 審閱/修改 。由於用戶申請的許可權可能並非實際應授予的許可權。所以超級管理員可對許可權工單進行直接修改,新增/刪除相應權游凱限。修改確認無誤後點擊同意,該用戶許可權將自動更新。
4.1.1、許可權申請
4.1.2、管理員審核
4.1.3、同意或駁回
注意:
為了防止用戶過度提交許可權申請。Yearning強制規定用戶只有在之前的許可權申請通過/駁回之後才能提交新的許可權申請。
許可權工單為 覆蓋更新 並非增量更新,用戶提交時因把 之前的許可權與申請的許可權 一起提交
同時超級管理員也可在 設置頁面 設置每個用戶單日最大許可權申請數。 設置後每個用戶一天之內申請許可權次數不得超過設置的閾值
4.2 超級管理員直接修改
在Yearning中超級管理員可自行對任意用戶的許可權進行修改,如需修改 ,可以在用戶許可權頁面進行相應設置
4.2.1、單個用戶授權
4.2.2、普通用戶批量授權
4.2.3、清空許可權
後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~