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

保衛你的SQL Server數據庫

編輯:關於SqlServer
 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.使用Windows身份驗證模式
  在任何可能的時候,您都應該對指向SQL Server的連接要求Windows身份驗證模式。它通過限制對Microsoft Windows用戶和域用戶帳戶的連接,保護SQL Server免受大部分Internet的工具的侵害,而且,您的服務器也將從Windows安全增強機制中獲益,例如更強的身份驗證協議以及強制的密碼復雜性和過期時間。另外,憑證委派(在多台服務器間橋接憑證的能力)也只能在Windows身份驗證模式中使用。在客戶端,Windows身份驗證模式不再需要存儲密碼。存儲密碼是使用標准SQL Server登陸的應用程序的主要漏洞之一。要在SQL Server的Enterprise Manager安裝Windows身份驗證模式,請按下列步驟操作:
  1)展開服務器組。
  2)右鍵點擊服務器,然後點擊屬性。
  3)在安全性選項卡的身份驗證中,點擊僅限Windows。
  4.隔離您的服務器,並定期備份
  物理和邏輯上的隔離組成了SQL Server安全性的基礎。駐留數據庫的機器應該處於一個從物理形式上受到保護的地方,最好是一個上鎖的機房,配備有洪水檢測以及火災檢測/消防系統。數據庫應該安裝在企業內部網的安全區域中,不要直接連接到Internet。定期備份所有數據,並將副本保存在安全的站點外地點。
  5.分配一個強健的sa密碼
  sa帳戶應該總擁有一個強健的密碼,即使在配置為要求 Windows 身份驗證的服務器上也該如此。這將保證在以後服務器被重新配置為混合模式身份驗證時,不會出現空白或脆弱的sa。
  要分配sa密碼,請按下列步驟操作:
  1) 展開服務器組,然後展開服務器。
  2) 展開安全性,然後點擊登錄。
  3) 在細節窗格中,右鍵點擊SA,然後點擊屬性。
  4) 在密碼方框中,輸入新的密碼。
6.限制 SQL Server服務的權限
  SQL Server 2000 和 SQL Server Agent 是作為 Windows 服務運行的。每個服務必須與一個 Windows 帳戶相關聯,並從這個帳戶中衍生出安全性上下文。SQL Server允許sa 登錄的用戶(有時也包括其他用戶)來訪問操作系統特性。這些操作系統調用是由擁有服務器進程的帳戶的安全性上下文來創建的。如果服務器被攻破了,那麼這些操作系統調用可能被利用來向其他資源進行攻擊,只要所擁有的過程(SQL
  Server服務帳戶)可以對其進行訪問。因此,為 SQL Server 服務僅授予必要的權限是十分重要的。
  我們推薦您采用下列設置:
  1) SQL Server Engine/MSSQLServer
  如果擁有指定實例,那麼它們應該被命名為MSSQL$InstanceName。作為具有一般用戶權限的Windows 域用戶帳戶運行。不要作為本地系統、本地管理員或域管理員帳戶來運行。
  2) SQL Server Agent Service/SQLServerAgent
  如果您的環境中不需要,請禁用該服務;否則請作為具有一般用戶權限的Windows域用戶帳戶運行。不要作為本地系統、本地管理員或域管理員帳戶來運行.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved