程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 保護SQL Server數據庫的十大絕招

保護SQL Server數據庫的十大絕招

編輯:更多數據庫知識

  SQL Server數據庫日益的發展壯大,吸引來了善意的目光,同時那些圖謀不軌的也來啦,為了保護好SQL Server數據庫,讓它免遭惡意的破壞或者數據信息的丟失,十大絕招為你解決這些擔憂. 1. 安裝最新的服務包

  為了提高服務器安全性,最有效的一個方法就是升級到SQL Server 2000 Service Pack 3a (SP3a).另外,你還應該安裝所有已發布的安全更新.

  2. 使用Microsoft基線安全性分析器(MBSA)來評估服務器的安全性

  MBSA 是個掃描多種Microsoft產品的不安全設置的工具,包括SQL Server和Microsoft SQL Server 2000 Desktop Engine(MSDE 2000).他能在本地運行,也能通過網絡運行.該工具針對下面問題對SQL Server安裝進行檢測:

  1) 過多的sysadmin固定服務器角色成員.

  2) 授予sysadmin以外的其他角色創建CmdExec作業的權利.

  3) 空的或簡單的密碼.

  4) 脆弱的身份驗證模式.

  5) 授予管理員組過多的權利.

  6) SQL Server數據目錄中不正確的訪問控制表(ACL).

  7) 安裝文件中使用純文本的sa密碼.

  8) 授予guest帳戶過多的權利.

  9) 在同時是域控制器的系統中運行SQL Server.

  10) 所有人(Everyone)組的不正確設置,提供對特定注冊表鍵的訪問.

  11) SQL Server 服務帳戶的不正確設置.

  12) 沒有安裝必要的服務包和安全更新.

  Microsoft 提供 MBSA 的免費下載.

  3. 使用視窗系統身份驗證模式

  在所有可能的時候,你都應該對指向SQL Server的連接需求視窗系統身份驗證模式.他通過限制對Microsoft 視窗系統用戶和域用戶帳戶的連接,保護SQL Server免受大部分Internet工具的侵害,而且,你的服務器也將從視窗系統安全增強機制中獲益,例如更強的身份驗證協議及強制的密碼復雜性和過期時間.另外,憑證委派(在多台服務器間橋接憑證的能力)也只能在視窗系統身份驗證模式中使用.在客戶端,視窗系統身份驗證模式不再需要存儲密碼.存儲密碼是使用標准SQL Server登錄的應用程式的主要漏洞之一.要在SQL Server的Enterprise Manager安裝視窗系統身份驗證模式,請按下列步驟操作:

  1)展開服務器組.

  2)右鍵點擊服務器,然後點擊屬性.

  3)在安全性選項卡的身份驗證中,點擊僅限視窗系統.

  4. 隔離你的服務器,並定期備份

  物理和邏輯上的隔離組成了SQL Server安全性的基礎.駐留數據庫的機器應該處於一個從物理形式上受到保護的地方,最佳是個上鎖的機房,配備有洪水檢測及火災檢測及消防系統.數據庫 應該安裝在企業內部網的安全區域中,不要直接連接到Internet.定期備份所有數據,並將副本保存在安全的站點外地點.

  5. 分配一個強健的sa密碼

  sa帳戶應該總擁有一個強健的密碼,即使在設置為需求 視窗系統 身份驗證的服務器上也該如此.這將確保在以後服務器被重新設置為混合模式身份驗證時,不會出現空白或脆弱的sa.

  要分配sa密碼,請按下列步驟操作:

  1) 展開服務器組,然後展開服務器.

  2) 展開安全性,然後點擊登錄.

  3) 在細節窗格中,右鍵點擊SA,然後點擊屬性.

  4) 在密碼方框中,輸入新的密碼.

  6. 限制 SQL Server服務的權限

  SQL Server 2000和SQL Server Agent是作為視窗系統服務運行的.每個服務必須和一個視窗系統帳戶相關聯,並從這個帳戶中衍生出安全性上下文.SQL Server允許sa登錄的用戶(有時也包括其他用戶)來訪問操作系統特性.這些操作系統調用是由擁有服務器進程的帳戶的安全性上下文來創建的.如果服務 器被攻破了,那麼這些操作系統調用可能被利用來向其他資源進行攻擊,只要所擁有的過程(SQL Server服務帳戶)能對其進行訪問.因此,為SQL Server服務僅授予必要的權限是十分重要的.

  我們推薦你采用下列設置:

  1) SQL Server Engine/MSSQLServer

  如果擁有指定實例,那麼他們應該被命名為MSSQL$InstanceName.作為具有一般用戶權限的視窗系統域用戶帳戶運行.不要作為本地系統、本地管理員或域管理員帳戶來運行.

  2) SQL Server Agent Service/SQLServerAgent

  如果你的環境中不必,請禁用該服務;否則請作為具有一般用戶權限的視窗系統域用戶帳戶運行.不要作為本地系統、本地管理員或域管理員帳戶來運行.

  重點: 如果下列條件之一成立,那麼SQL Server Agent將需要本地視窗系統管理員權限:

  SQL Server Agent使用標准的SQL Server身份驗證連接到SQL Server(不推薦);

  SQL Server Agent使用多服務器管理主服務器(MSX)帳戶,而該帳戶使用標准SQL Server身份驗證進行連接;

  SQL Server Agent運行非sysadmin固定服務器角色成員所擁有的Microsoft ActiveX腳本或 CmdExec作業.

  如果你需要更改和SQL Server服務相關聯的帳戶,請使用 SQL Server Enterprise Manager.Enterprise Manager將為SQL Server所使用的文件和注冊表鍵設置合適的權限.不要使用Microsoft管理控制台的“服務”(在控制面板中)來更改這些帳戶,因為這樣需要手動 地調制大量的注冊表鍵和NTFS文件系統權限及Micorsoft 視窗系統用戶權限.

  帳戶信息的更改將在下一次服務啟動時生效.如果你需要更改和SQL Server及SQL Server Agent相關聯的帳戶,那麼你必須使用Enterprise Manager分別對兩個服務進行更改.

  7. 在防火牆上禁用SQL Server端口

  SQL Server的默認安裝將監視TCP端口1433及UDP端口1434.設置你的防火牆來過濾掉到達這些端口的數據包.而且,還應該在防火牆上阻止和指定實例相關聯的其他端口.

  8. 使用最安全的文件系統

  NTFS是最適合安裝SQL Server的文件系統.他比FAT文件系統更穩定且更容易恢復.而且他還包括一些安全選項,例如文件和目錄ACL及文件加密(EFS).在安裝過程中, 如果偵測到 NTFS,SQL Server將在注冊表鍵和文件上設置合適的ACL.不應該去更改這些權限.

  通過EFS,數據庫文件將在運行SQL Server的帳戶身份下進行加密.只有這個帳戶才能解密這些文件.如果你需要更改運行SQL Server的帳戶,那麼你必須首先在舊帳戶下解密這些文件,然後在新帳戶下重新進行加密.

  9. 刪除或保護舊的安裝文件

  SQL Server安裝文件可能包含由純文本或簡單加密的憑證和其他在安裝過程中記錄的敏感設置信息.這些日志文件的保存位置取決於所安裝的SQL Server版本.在SQL Server 2000中,下列文件可能受到影響:默認安裝時:Program FilesMicrosoft SQL ServerMSSQLInstall目錄中,及指定實例的:Program FilesMicrosoft SQL Server MSSQL$Install目錄中的sqlstp.log, sqlsp.log和setup.iss.

  如果當前的系統是從SQL Server 7.0安裝升級而來的,那麼還應該檢查下列文件:%Windir% 目錄中的setup.iss及視窗系統 Temp目錄中的sqlsp.log.

  Microsoft發布了一個免費的實用工具Killpwd,他將從你的系統中找到並刪除這些密碼.

  10. 審核指向SQL Server的連接

  SQL Server能記錄事件信息,用於系統管理員的審查.至少你應該記錄失敗的SQL Server連接嘗試,並定期地查看這個日志.在可能的情況下,不要將這些日志和數據文件保存在同一個硬盤上.

  要在SQL Server的Enterprise Manager中審核失敗連接,請按下列步驟操作:

  1) 展開服務器組.

  2) 右鍵點擊服務器,然後點擊屬性.

  3) 在安全性選項卡的審核等級中,點擊失敗.

  4) 要使這個設置生效,你必須停止並重新啟動服務器.

  上文介紹的這是十個絕招都是很有實用性的,做到這十點,就能成為保護SQL Server數據庫的合格管家,確保保護SQL Server數據庫的安全.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved