SQL Server 資料庫在企業中的應用越來越多,安全性顯得越來越突出。特別是最近一段時間以來,一種新的網路攻擊技術開始在Internet上快速流行,那就是“SQL Injection”,俗稱“指令碼注入式攻擊”,只要被不法分子盯上的系統,恰好您使用的資料庫是SQL Server 2000的話,那麼被成功入侵的機率高達90%。
如何加強資料庫的安全呢?本文將向您全面介紹保護SQL Server 2000資料庫安全配置的十七招。
第一招 首先確認是否已經安裝了作業系統和SQL Server的最新安全補丁。很多駭客攻擊不是通過SQL Server本身的漏洞來完成資料竊取的,而是通過作業系統漏洞來完成,然後進入到資料庫中。
第二招 根據業務系統需求,選擇一個考慮到最大安全性但是同時又不影響功能的網路通訊協定。如TCP/IP協議、具名管道等。
第三招 眾所周知,SQL Server的“SA”賬戶在預設狀態下是空密碼的。給其設定一個足夠複雜並且足夠長度密碼來加強其安全性,同時把該密碼儲存在一個安全的地方。
配置方法:開始→所有程式→Microsoft SQL Server→企業管理器,展開控制台根目錄,選擇“安全性”,展開,點擊“登入”,在右側的使用者列表中可以看到有SA這個使用者。雙擊開啟SA使用者,可以更改SA使用者的密碼。
第四招 建立一個低許可權使用者做為SQL伺服器服務的查詢操作專用賬戶,不要用LocalSystem或SA。 這個賬戶應該有最小的權利,比如僅能執行Select語句,對其他的DDL操縱語句都沒有許可權。
配置方法:展開控制台根目錄,選擇“資料庫”,展開,點擊“使用者”,在右側使用者列表中可以看到已經授權的使用者,在預設狀態下只有“SA”和“Guest”兩個使用者。雙擊開啟已經建立的低許可權賬戶,開啟資料庫使用者屬性。選擇資料庫腳色,儘可能低的許可權。開啟“許可權”按鈕,賦予使用者相應的許可權,最好全部是Select查詢許可權。
第五招 確認SQL伺服器系統安裝在NTFS分區,且許可權控制列表 被應用。如果駭客得到對資料庫系統的存取操作許可權,該層許可權可以阻止入侵者進一步破壞資料。Windows 2000或者2003 Server都是需要安裝在NTFS分區。
配置方法:找到SQL Server安裝資料夾,預設安裝在“X:Program FilesMicrosoft SQL Server”目錄下。滑鼠右鍵,選擇“屬性”。注意查看“共用”屬性選項卡,一定不要共用。點擊安全選項,只有許可的使用者才能訪問這個檔案夾。
第六招 嚴格禁止使用Xp_cmdshell命令。限制所有的賬戶擁有操作、使用XP_cmdshell的許可權。如果駭客或者其他有惡意的人,擁有操作這個命令的許可權,那它就可以輕鬆得到系統管理員的許可權。
第七招 在業務應用系統中,如果不需要就停用對象串連與嵌入自動化儲存程式。當這些儲存程式被停用的時候,企業管理器部分功能可能丟失。比如:DTS資料匯入匯出。同時,禁用部分註冊表存取程式。
注意:Xp_regread和 xp_regwrite這兩個預存程序如果刪除,會影響一些主要功能包括日誌和SP的安裝。建議保留。
第八招 關閉遠程伺服器串連。如果允許使用遠程伺服器串連,入侵者在自己的機器上安裝SQL Server就可以使用資料庫伺服器串連到你伺服器的資料庫上,這是一個危險層級很高的安全風險。
配置方法:展開控制台根目錄,選擇“(Local)Windows NT”,滑鼠右鍵,選擇“屬性”,在配置視窗中選擇“串連”選項卡,去掉“允許其他SQL Server使用RPC遠端連線到本SQL Server”選項。這樣就可以防止他人使用資料庫的惡意串連。
第九招 注意SQL伺服器的物理安全。資料機房禁止不相關的人員進入,把Server鎖在機櫃裡,並且注意鑰匙的安全,只要有機會到伺服器面前,就會找到攻擊伺服器的方法。
第十招 在系統中,有很多人沒有設定密碼的習慣。審計使用空密碼的使用者,強制使用安全密碼。
使用下列語句,可以得到現有使用者中沒有使用密碼的帳號:
Select name,Password from syslogins where password is null
執行結果可以看到目前在業務系統中有四個人的密碼是空,其中包括SA超級使用者的密碼。
第十一招 不允許使用者互動式登入到SQL Server之上。這個規則適用任何伺服器。一旦一個使用者能夠互動式進入一個伺服器之內,就有可能利用管理員的存取特權得到管理員權限。
解決方案:關閉遠程終端服務和Windows 2003的Web管理功能。
第十二招 啟用混合模式安全性認證,在預設狀態只是執行失敗的審核,建議使用“SQL Server和Windows”身分識別驗證,審核層級使用“全部”。“無”表示不執行審核;“成功”表示只審核成功的登入嘗試;“失敗”表示只審核失敗的登入嘗試;“全部”表示審核成功的和失敗的登入嘗試。
配置方法:展開控制台根目錄,選擇“(Local)Windows NT”,滑鼠右鍵,選擇“屬性”,在配置視窗中選擇[安全性] 索引標籤,審核層級選擇“全部”,記錄所有的身分識別驗證狀況。
第十三招 定期檢測SQL記錄檔,檢索其中成功登入或者登入失敗的資訊,從而找到任何非法入侵者所作多次資料庫登入嘗試。
配置方法:展開控制台根目錄,選擇“管理”,展開,選擇“SQL Server日誌”,在右側視窗列表中開啟您選擇的記錄檔,上面有詳細的記錄狀況。
第十四招 制定嚴格的Database Backup策略,在資料庫管理中,這是最重要的工作。同時在允許的條件下類比可能出現的災難情況,類比出測試環境,進行資料保護有效性防範,減少故障發生的機率,系統災難恢復最小化。
第十五招 如果條件許可,資料庫檔案和記錄檔分開儲存,分別放在不同的實體儲存體裝置上。一旦發生災難性故障,如硬體損壞,資料檔案和日誌存放在一起,沒有任何手段可以恢複資料。如果做了資料備份,同時記錄檔儲存在其它位置,並且記錄檔沒有損壞的情況下,就有可能恢複資料。資料安全層級定義:高。
配置方法:雙擊資料庫檔案名,開啟資料庫屬性,點擊“資料檔案”選項卡,設定資料檔案存放的位置。點擊“交易記錄”選項卡,設定日至檔案存放的位置。
第十六招 選擇資料庫故障還原模型,建議選擇“完全”方式。
SQL Server2000支援3種方式的資料庫故障還原模型:簡單、完全、大容量日誌記錄。其優缺點如表1所示。
配置方法:選中資料庫名稱,滑鼠右鍵選擇屬性,點擊“選項”選項卡,在故障還原子段下有一個‘模型’欄目,選擇需要設定的模型方式即可。
第十七招 關閉伺服器行為下的允許對“系統目錄直接進行修改”功能。如果開啟此功能,則在資料庫結構描述內可以使用擴充預存程序對系統目錄下的檔案或者其他資訊進行修改,或者在資料庫結構描述內上傳具有惡意功能的代碼。這是大家都不願意看到的。安全風險層級:高。
配置方法:滑鼠右鍵資料庫伺服器,選擇“伺服器設定”,在“伺服器行為”欄位下,關閉“系統目錄直接進行修改”。
以上為您介紹了SQL Server 2000資料庫安全配置的十七種方法,這些方法只要使用得當,做好安全管理工作就不是一個難題。
簡單方式還原模型 產生記錄檔的容量小,方便檢索。 如果一旦發生資料損毀的情況, 常常不能恢複資料。
大容量日誌記錄故障還原模型 所有的對資料庫的操作將全部保留,會記錄檔太大。產生一個巨大的記錄檔。如果資料文 件發生損壞,可以完全恢複資料庫的資料。
完全方式的還原模型對資料庫的資料操作將全部保留,會產對資料庫的一些操作記錄的不 生一個適中的記錄檔,也可以恢複資料庫資料夠詳細。