您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關SQL Server系統表有什么用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
SQL Server 中各個系統表的作用
sysaltfiles 主 保存數據庫的文件
syscharsets 主數據庫 字符集與排序順序
sysconfigures 主數據庫 配置選項
syscurconfigs 主數據庫 當前配置選項
sysdatabases 主數據庫 服務器中的數據庫
syslanguages 主數據庫 語言
syslogins 主數據庫 登陸帳號信息
sysoledbusers 主數據庫 鏈接服務器登陸信息
sysprocesses 主數據庫 進程
sysremotelogins主數據庫 遠程登錄帳號
syscolumns 每個數據庫 列
sysconstrains 每個數據庫 限制
sysfilegroups 每個數據庫 文件組
sysfiles 每個數據庫 文件
sysforeignkeys 每個數據庫 外部關鍵字
sysindexs 每個數據庫 索引
sysmenbers 每個數據庫 角色成員
sysobjects 每個數據庫 所有數據庫對象
syspermissions 每個數據庫 權限
systypes 每個數據庫 用戶定義數據類型
sysusers 每個數據庫 用戶
SQL Server 安全檢查列表
1. 確認已經安裝了NT/2000和SQL Server的最新補丁程序,不用說大家應該已經安裝好了,但是我覺得最好還是在這里提醒一下。
2. 評估并且選擇一個考慮到最大的安全性但是同時又不影響功能的網絡協議。 多協議是明智的選擇, 但是它有時不能在異種的環境中使用。
3. 給 "sa" 和 "probe" 帳戶設定強壯的密碼來加強其安全性。設定一個強壯的密碼并將其保存在一個安全的地方。 注意: probe帳戶被
用來進行性能分析和分發傳輸。 當在標準的安全模態中用的時候 , 給這個帳戶設定高強度的密碼能影響某些功能的使用。
4. 使用一個低特權用戶作為 SQL 服務器服務的查詢操作賬戶,不要用 LocalSystem 或sa。 這個帳戶應該有最小的權利 ( 注意作為一個服務
運行的權利是必須的)和應該包含( 但不停止)在妥協的情況下對服務器的攻擊。 注意當使用企業管理器做以上設置時 , 文件,注冊表和使用
者權利上的 ACLs同時被處理。
5. 確定所有的 SQL 服務器數據,而且系統文件是裝置在 NTFS 分區,且appropraite ACLs 被應用。 如果萬一某人得到對系統的存取操作權
限,該層權限可以阻止入侵者破壞數據,避免造成一場大災難。
6.如果不使用Xp_cmdshell就關掉。 如果使用 SQL 6.5, 至少使用Server Options中的SQLExecutieCmdExec 賬戶操作限制非sa用戶使
用XP_cmdshell.
在任何的 isql/ osql 窗口中( 或查詢分析器):
use master
exec sp_dropextendedprocxp_cmdshell
對 SQLExecutiveCmdExec 的詳細情況請查看下列文章:
.
如果你不需要 xp_cmdshell 那請停用它。請記住一個系統系統管理員如果需要的話總是能把它增加回來。這也好也不好 - 一個侵入者可能發
現它不在,只需要把他加回來。考慮也除去在下面的 dll但是移除之前必須測試因為有些dll同時被一些程序所用。 要找到其他的程序是否使
用相同的 dll:
首先得到該 dll 。
select o.name,c.text from dbo.syscomments c , dbo.sysobjects o where c.id=o.id and o.name=xp_cmdshell
其次,使用相同的 dll發現其他的擴展儲存操作是否使用該dll。
select o.name,c.text from dbo.syscomments c , dbo.sysobjects o where c.id=o.id and c.text=xplog70.dll
用戶可以用同樣的辦法處理下面步驟中其他你想去掉的進程。
7. 如不需要就停用對象連接與嵌入自動化儲存程序 ( 警告 - 當這些儲存程序被停用的時候 , 一些企業管理器功能可能丟失). 這些包括:
Sp_OACreate
Sp_OADestroy
Sp_OAGetErrorInfo
Sp_OAGetProperty
Sp_OAMethod
Sp_OASetProperty
Sp_OAStop
如果你決定停用該進程那么請給他們寫一個腳本這樣在以后你用到他們的時候你能夠把他們重新添加回來 。 記住, 我們在這里正在做的是鎖
定一個應用程序的功能 - 你的開發平臺應該放到其他機器上。
8. 禁用你不需要的注冊表存取程序。(同上面的警告)這些包括:
Xp_regaddmultistring
Xp_regdeletekey
Xp_regdeletevalue
Xp_regenumvalues
Xp_regremovemultistring
注意 :我過去一直在這里列出 xp_regread/ xp_regwrite但是這些程序的移除影響一些主要功能包括日志和SP的安裝,所以他們的移除不被推
薦。
9.移除其他你認為會造成威脅的系統儲存進程。 這種進程是相當多的,而且他們也會浪費一些cpu時間。 小心不要首先在一個配置好的服務器
上這樣做。首先在開發的機器上測試,確認這樣不會影響到任何的系統功能。在下面是我們所推薦的有待你評估的一些列表:
sp_sdidebug
xp_availablemedia
xp_cmdshell
xp_deletemail
xp_dirtree
xp_dropwebtask
xp_dsninfo
xp_enumdsn
xp_enumerrorlogs
xp_enumgroups
xp_enumqueuedtasks
xp_eventlog
xp_findnextmsg
xp_fixeddrives
xp_getfiledetails
xp_getnetname
xp_grantlogin
xp_logevent
xp_loginconfig
xp_logininfo
xp_makewebtask
xp_msver xp_perfend
xp_perfmonitor
xp_perfsample
xp_perfstart
xp_readerrorlog
xp_readmail
xp_revokelogin
xp_runwebtask
xp_schedulersignal
xp_sendmail
xp_servicecontrol
xp_snmp_getstate
xp_snmp_raisetrap
xp_sprintf
xp_sqlinventory
xp_sqlregister
xp_sqltrace
xp_sscanf
xp_startmail
xp_stopmail
xp_subdirs
xp_unc_to_drive
xp_dirtree
10. 在企業管理器中"安全選項" 之下禁用默認登錄。(只有SQL 6.5) 當使用整合的安全時候,這使未經認可的不在 syslogins 表中使用者無
權登陸一個有效的數據庫服務器。
11. 除去數據庫的guest賬戶把未經認可的使用者據之在外。 例外情況是master和 tempdb 數據庫,因為對他們guest帳戶是必需的。
12. 若非必須,請完全地禁用SQL郵件功能。它的存在使潛在的攻擊者遞送潛在的 trojans ,病毒或是簡單實現一個DOS攻擊成為可能
13. 檢查master..Sp_helpstartup看有無可疑的木馬進程。 確定沒有人已經在這里放置秘密的后門程序。 使用 Sp_unmakestartup 移除任何
可疑進程。
14. 檢查master..Sp_password看有無trojan代碼。比較你的產品scripts和一個新安裝的系統的默認scripts而且方便的保存。
15. 記錄所有的用戶存取訪問情況。 從企業管理器做這些設定或通過以sa登陸進入查詢分析器的下列各項:
xp_instance_regwrite NHKEY_LOCAL_MACHINE, NSOFTWARE\ Microsoft\MSSQLServer\MSSQLServer,NAuditLevel,REG_DWORD,3
16. 重寫應用程序使用更多用戶定義的儲存和察看進程所以一般的對表的訪問可以被禁用。 在這里你也應該看到由于不必經常進行查詢計劃操
作而帶來的性能提升。
17. 除去不需要的網絡協議。
18. 注意SQL 服務器的物理安全。把它鎖在固定的房間里,并且注意鑰匙的安全。只要有機會到服務器面前,就總是會找到一個方法進入。
19. 建立一個計劃的任務運行:
findstr/C:" Login Failed"7\log\*.*">\mssql7\log\*.*
然后再重定向輸出到一個文本文件或電子郵件,因此你監測失敗的登錄嘗試。這也為系統管理員提供一個好的記錄攻擊的方法。 也有很多用來
分析NT日志事件的第三者工具。 注意: 你可能需要將路徑換成你安裝SQL的路徑。
20. 設定非法訪問和登陸失敗日志警報。到 企業管理器中的"Manager SQL Server Messages "搜尋任何有關無權訪問的消息 ( 從查
找"login failed"和"denied"開始). 確定你所有感興趣的信息被記錄到事件日志。然后在這些信息上設定警報 , 發送一個電子郵件或信
息到一個能夠對問題及時響應的操作員。
21. 確定在服務器和數據庫層次上的角色都只被授給了需要的用戶。 當 SQL Server 安全模型 7 有許多增強的時候, 它也增加額外的許可層
,我們必須監控該層,確定沒有人被授予了超過必需的權限。
22. 經常檢查組或角色全體會員并且確定用組分配權限,這樣你的審計工作能夠簡化。 確定當你在的時候 , 公眾的組不能從系統表執行選擇
操作。
23. 花些時間審計用空密碼登陸的請求。 使用下面的代碼進行空密碼檢查:
使用主體
選擇名字,
password
from syslogins
where password is null
order by name
24. 如果可能,在你的組織中利用整合的安全策略。 通過使用整合的安全策略,你能夠依賴系統的安全,最大簡化管理工作從維護二個分開的
安全模型中分離開來。這也不讓密碼接近連接字串。
25. 檢查所有非sa用戶的存取進程和擴充存儲進程的權限。 使用下面的查詢定期的查詢哪一個進程有公眾存儲權限。(在SQL Server中 使用
"type" 而不是 "xtype"):
Use master
select sysobjects.name
from sysobjects,sysprotects
where sysprotects.uid=0
AND xtype 在 (X,P)
AND sysobjects.id=sysprotects.id
Order by name
26. 當時用企業管理器的時候,使用整合的安全策略。 過去,企業管理器被發現在標準的安全模態中儲存 "sa" 密碼在注冊表的 plaintext中。 注意: 即使你改變模態,密碼也會留在注冊表中
以上就是SQL Server系統表有什么用,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。