主頁 > 知識庫 > MSSQL安全設置的具體步驟和方法小結

MSSQL安全設置的具體步驟和方法小結

熱門標簽:西安青牛防封電銷卡 南京電銷外呼系統(tǒng)運營商 北京辦理400電話多少 智能語音外呼系統(tǒng)哪個牌子好 溫州語音外呼系統(tǒng)代理 400電話申請需要開戶費嗎 重慶防封電銷機器人供應商 山西語音外呼系統(tǒng)價格 威海智能語音外呼系統(tǒng)
第一步肯定是打上SQL SERVER最新的安全補丁.如果這一步都沒有做好,那我們也沒有繼續(xù)下去的必要了。

第二步是修改默認的1433端口,并且將SQL SERVER隱藏。這樣能禁止對試圖枚舉網(wǎng)絡上現(xiàn)有的 SQL Server 客戶端所發(fā)出的廣播作出響應。另外,還需要在TCP/IP篩選中將1433端口屏蔽掉,盡可能的隱藏你的SQL SERVER數(shù)據(jù)庫。這樣子一但讓攻擊創(chuàng)建了SQL SERVER的賬號,也不能馬上使用查詢分析器遠程登陸來進行下一步的攻擊。單從ASP,PHP等頁面構造惡意語句的話,還有需要查看返回值的問題,總比 不上直接查詢分析器來得利落。所以我們首先要做到即使讓別人注入了,也不能讓攻擊者下一步做得順當。修改方法:企業(yè)管理器 --> 你的數(shù)據(jù)庫組 --> 屬性 --> 常規(guī) --> 網(wǎng)絡配置 --> TCP/IP --> 屬性 ,在這兒將你的默認端口進行修改,和SQL SERVER的隱藏。

第三步是很重要的一步,SQL INJECTION往往在WEB CODE中產(chǎn)生。而做為系統(tǒng)管理員或者數(shù)據(jù)庫管理員,總不能常常的去看每一段代碼。即使常??创a,也不能保證我們在上面的疏忽。那怎么辦?我們就要從數(shù) 據(jù)庫角色著手,讓數(shù)據(jù)庫用戶的權限劃分到最低點。SQL SERVER的默認權限讓人真的很頭疼,權限大得非常的高,權限小的又什么都做不了,SYSADMIN和db_owner真是讓人又愛又恨。攻擊者一但確 認了網(wǎng)站存在SQL INJECTION漏洞,肯定有一步操作步驟就是測試網(wǎng)站的SQL SERVER使用者具有多大的權限。一般都會借助Select IS_SRVROLEMEMBER('sysadmin'),或者Select IS_MEMBER('db_owner'),再或者用user = 0(讓字符和數(shù)字進行比較,SQL SERVER就會提示了錯誤信息,從該信息中即可知道一些敏感信息)等語句進行測試。方法還有,我也不敢多說了。其一怕錯,其二怕聯(lián)盟中的人扁。在當前, 如果網(wǎng)站的數(shù)據(jù)庫使用者用的是SA權限,再加上確認了WEB所處在的絕對路徑,那么就宣告了你的網(wǎng)站的OVER。db_owner權限也一樣,如果確認了 絕對路徑,那么有50%的機會能給你的機器中上WEB 方式的木馬,如海陽等。所以這兒我們確認了一點,我們必須要創(chuàng)建自已的權限,讓攻擊者找不著下嘴的地方。在這兒引用一個SQL SERVER聯(lián)機幫助中的例子:

  創(chuàng)建 SQL Server 數(shù)據(jù)庫角色的方法(企業(yè)管理器)
  創(chuàng)建 SQL Server 數(shù)據(jù)庫角色
  1. 展開服務器組,然后展開服務器。
  2. 展開"數(shù)據(jù)庫"文件夾,然后展開要在其中創(chuàng)建角色的數(shù)據(jù)庫。
  3. 右擊"角色",然后單擊"新建數(shù)據(jù)庫角色"命令。
  4. 在"名稱"框中輸入新角色的名稱。
  5. 單擊"添加"將成員添加到"標準角色"列表中,然后單擊要添加的一個或多個用戶。(可選)
  只有選定數(shù)據(jù)庫中的用戶才能被添加到角色中。
  對象權限
  處理數(shù)據(jù)或執(zhí)行過程時需要稱為對象權限的權限類別:
  · Select、Insert、Update 和 Delete 語句權限,它們可以應用到整個表或視圖中。
  · Select 和 Update 語句權限,它們可以有選擇性地應用到表或視圖中的單個列上。
  · Select 權限,它們可以應用到用戶定義函數(shù)。
  · Insert 和 Delete 語句權限,它們會影響整行,因此只可以應用到表或視圖中,而不能應用到單個列上。
  · EXECUTE 語句權限,它們可以影響存儲過程和函數(shù)。
  語句權限
  創(chuàng) 建數(shù)據(jù)庫或數(shù)據(jù)庫中的項(如表或存儲過程)所涉及的活動要求另一類稱為語句權限的權限。例如,如果用戶必須能夠在數(shù)據(jù)庫中創(chuàng)建表,則應該向該用戶授予 Create TABLE 語句權限。語句權限(如 Create DATABASE)適用于語句自身,而不適用于數(shù)據(jù)庫中定義的特定對象。
  語句權限有:
  · BACKUP DATABASE
  · BACKUP LOG
  · Create DATABASE
  · Create DEFAULT
  · Create FUNCTION
  · Create PROCEDURE
  · Create RULE
  · Create TABLE
  · Create VIEW
  暗示性權限
  暗示性權限控制那些只能由預定義系統(tǒng)角色的成員或數(shù)據(jù)庫對象所有者執(zhí)行的活動。例如,sysadmin 固定服務器角色成員自動繼承在 SQL Server 安裝中進行操作或查看的全部權限。
  數(shù)據(jù)庫對象所有者還有暗示性權限,可以對所擁有的對象執(zhí)行一切活動。例如,擁有表的用戶可以查看、添加或刪除數(shù)據(jù),更改表定義,或控制允許其他用戶對表進行操作的權限。
  db_owner 在數(shù)據(jù)庫中有全部權限。
  db_accessadmin 可以添加或刪除用戶 ID。
  db_securityadmin 可以管理全部權限、對象所有權、角色和角色成員資格。
  db_ddladmin 可以發(fā)出 ALL DDL,但不能發(fā)出 GRANT、REVOKE 或 DENY語句。
  db_backupoperator 可以發(fā)出 DBCC、CHECKPOINT 和 BACKUP 語句。
  db_datareader 可以選擇數(shù)據(jù)庫內(nèi)任何用戶表中的所有數(shù)據(jù)。 db_datawriter 可以更改數(shù)據(jù)庫內(nèi)任何用戶表中的所有數(shù)據(jù)。
  db_denydatareader 不能選擇數(shù)據(jù)庫內(nèi)任何用戶表中的任何數(shù)據(jù)。
  db_denydatawriter 不能更改數(shù)據(jù)庫內(nèi)任何用戶表中的任何數(shù)據(jù)。
  在 這兒把新建的數(shù)據(jù)庫角色的權限配置好,比如需要使用哪個表、視圖、存儲過程等。然后把Db_owner和db_securityadmin、 db_backupoperator取消,不給攻擊者BACKUP DATABASE和Create TABLE的機會,一但攻擊者具有這兩個權限,那么你的網(wǎng)站就還處在十分危險的狀態(tài)。還有注意一下,在創(chuàng)建數(shù)據(jù)庫賬號時,千萬不能對服務器角色進行選擇。
  第四步是修改SQL SERVER內(nèi)置存儲過程。SQL SERVER估計是為了安裝或者其它方面,它內(nèi)置了一批危險的存儲過程。能讀到注冊表信息,能寫入注冊表信息,能讀磁盤共享信息等等......各位看到 這兒,心里可能會在想,我的網(wǎng)站中有其它的代碼,又不像查詢分析器那樣能查接將結果輸出。給你這個權限,又不能怎么樣,還是看不到信息。如果各位這樣想就 大錯特錯了。提示一下,如果攻擊者有Create TABLE的權限,那么創(chuàng)建一個臨時表,然后將信息Insert到表中,然Select出來,接著跟數(shù)字進行比較,讓SQL SERVER報錯,那么結果就全出來了......所以我們要報著寧錯殺,不放過的態(tài)度進行修補。
  先來列出危險的內(nèi)置存儲過程:
  xp_cmdshell
  xp_regaddmultistring
  xp_regdeletekey
  xp_regdeletevalue
  xp_regenumkeys
  xp_regenumvalues
  xp_regread
  xp_regremovemultistring
  xp_regwrite
  ActiveX自動腳本:
  sp_OACreate
  sp_OADestroy
  sp_OAMethod
  sp_OAGetProperty
  sp_OASetProperty
  sp_OAGetErrorInfo
  sp_OAStop
  將有安全問題的SQL過程刪除.比較全面.一切為了安全!
  刪除有安全隱患的擴展:
  exec sp_dropextendedproc 'xp_cmdshell' [刪除此項擴展后,將無法遠程連接數(shù)據(jù)庫]
  exec sp_dropextendedproc 'xp_dirtree' [刪除此項擴展后,將無法新建或附加數(shù)據(jù)庫]
  exec sp_dropextendedproc 'xp_enumgroups'
  exec sp_dropextendedproc 'xp_fixeddrives'
  exec sp_dropextendedproc 'xp_loginconfig'
  exec sp_dropextendedproc 'xp_regaddmultistring'
  exec sp_dropextendedproc 'xp_regdeletekey'
  exec sp_dropextendedproc 'xp_regdeletevalue'
  exec sp_dropextendedproc 'xp_regread'
  exec sp_dropextendedproc 'xp_regremovemultistring'
  exec sp_dropextendedproc 'xp_regwrite'
  exec sp_dropextendedproc 'xp_enumerrorlogs'
  exec sp_dropextendedproc 'xp_getfiledetails'
  exec sp_dropextendedproc 'xp_regenumvalues'
  恢復擴展
  exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
  exec sp_addextendedproc 'xp_dirtree', 'xpstar.dll'
  exec sp_addextendedproc 'xp_enumgroups', 'xplog70.dll'
  exec sp_addextendedproc 'xp_fixeddrives', 'xpstar.dll'
  exec sp_addextendedproc 'xp_loginconfig', 'xplog70.dll'
  exec sp_addextendedproc 'xp_regaddmultistring', 'xpstar.dll'
  exec sp_addextendedproc 'xp_regdeletekey', 'xpstar.dll'
  exec sp_addextendedproc 'xp_regdeletevalue', 'xpstar.dll'
  exec sp_addextendedproc 'xp_regread', 'xpstar.dll'
  exec sp_addextendedproc 'xp_regremovemultistring', 'xpstar.dll'
  exec sp_addextendedproc 'xp_regwrite', 'xpstar.dll'
  exec sp_addextendedproc 'xp_enumerrorlogs', 'xpstar.dll'
  exec sp_addextendedproc 'xp_getfiledetails', 'xpstar.dll'
  exec sp_addextendedproc 'xp_regenumvalues', 'xpstar.dll'
  全部復制到"SQL查詢分析器"
  點擊菜單上的--"查詢"--"執(zhí)行",就會將有安全問題的SQL過程刪除(以上是7i24的正版用戶的技術支持)
  更改默認SA空密碼.數(shù)據(jù)庫鏈接不要使用SA帳戶.單數(shù)據(jù)庫單獨設使用帳戶.只給public和db_owner權限.
  數(shù)據(jù)庫不要放在默認的位置.
  SQL不要安裝在PROGRAM FILE目錄下面.
  以 上各項全在我們封殺之列,例如xp_cmdshell屏蔽的方法為:sp_dropextendedproc 'xp_cmdshell',如果需要的話,再用sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'進行恢復。如果你不知道xp_cmdshell使用的是哪個.dll文件的話,可以使用 sp_helpextendedproc xp_cmdshell來查看xp_cmdshell使用的是哪個動態(tài)聯(lián)接庫。另外,將xp_cmdshell屏蔽后,我們還需要做的步驟是將 xpsql70.dll文件進行改名,以防止獲得SA的攻擊者將它進行恢復。
  我們做到這兒,你的SQL SERVER就基本上安全了。但是信息還是能一樣的外泄。畢竟Select我們是無法取消的,除非你的網(wǎng)站用的是HTML。SQL INJECTION的防范還需要我們這些程序員來注意,這才是治本之法。
您可能感興趣的文章:
  • Win2003 MSSQL以普通用戶運行安全設置篇

標簽:濟寧 黃山 河源 貸款群呼 宜春 中衛(wèi) 金昌 新余

巨人網(wǎng)絡通訊聲明:本文標題《MSSQL安全設置的具體步驟和方法小結》,本文關鍵詞  MSSQL,安全,設置,的,具體,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MSSQL安全設置的具體步驟和方法小結》相關的同類信息!
  • 本頁收集關于MSSQL安全設置的具體步驟和方法小結的相關信息資訊供網(wǎng)民參考!
  • 推薦文章