天天看點

學會建立安全模型以保護SQL Server

由于多種原因,進行安全設定的人們常常不了解資料的真正價值,是以,他們也無法對資料進行合适的保護。将你的資料隻限于需要的人通路,并保證通路的人的合法性,是一個資料庫管理人員的重要工作。然而,確定資料可以通路不是意味着資料向所有人公開,相反的,你必須很仔細地保護資料,并隻對需要使用資料的人進行開放。

設定安全性過程

  通用的軟體維護和資料庫更新都會對系統安全起着重要作用,通常包括以下步驟:

  配置設定一個可靠的密碼給預設的系統管理(SA)帳号。然後,建立自己唯一命名的帳号,并将這一帳号放入sysadmin。一定要确認新帳号也有一個可靠的密碼。

将獨立的密碼配置設定給每一個使用者。更好的,使用Windows內建安全性,并讓Windows遵循穩定密碼規則。

  決定哪些使用者需要檢視資料,然後配置設定合适的許可。請不要随便賦予使用者各種權限。例如不要把每一個人的工資随便讓其他人通路。

  決定哪些使用者需要更新資料,然後配置設定合适的許可。帳号管理人員應該可以檢視所有使用者的資訊,但程式員一定要限制更新這些資訊的權限。特别的,隻有負責特定帳号的管理者是唯一可以更改使用者資料的人。

  通過這些系列資訊你可以學會很多知識,但你應該從開始就具備這些觀點。否則,資料庫的任何使用者就可以偷竊或删除你的重要資料。

什麼東西最容易發生錯誤?

  對于記錄,應該知道SQL Server并非絕對安全的。你應該提出一些想法并努力有效地保護你的伺服器。在安裝伺服器之前有兩點你必須完成的:

設定管理人員的帳号和密碼。

保護系統防止受到Slammer worm的感染。

使一些特殊的東西安全化

  SQL Server2000通過SA帳号而具有預設的安全設定。在安裝過程中,SQL Server自動建立一個管理的使用者,并配置設定一個空白密碼給SA使用者名稱。一些管理人員喜歡将SA密碼設定為空白或者一個通用的密碼以便每一個人都能知道。如果你犯這樣的錯誤,進入你的資料庫的任何人都可以為所欲為。具備管理者允許的任何人也可以做任何想做的事——不僅僅是資料庫,而是整個計算機。是以,必須限制使用者根據他們的需要進行通路資料庫,不要給他們權利太少,也不能太多。

  暫且把每一天管理的SA帳号放在一邊,讓我們看看帶有安全密碼的帳号。建立另一帳号以便管理(或者是一個SQL Server帳号或者是一個Windows帳号,取決于你的認證模式)。你所要避免的是太容易地猜到帳号名稱或者帳号密碼,因為任何人得到這些帳号,這就完蛋了。

一個引起警戒的壞事—Slammer worm(Slammer蠕蟲)

  2003年1月份出現了一些非常緻命的惡意代碼,即為Slammer worm。這一代碼專門針對于SQL Server的安裝進行攻擊。通過利用SQL Servera代碼中的缺欠,蠕蟲能夠在SQL Server安裝的時候複制本身程式而損壞整個機器和其他機器。蠕蟲生成時以15秒可以充滿網絡。微軟已經花了很大力量來阻止這一蠕蟲,但是蠕蟲還是無法完全消除。有些人開始抱怨SQL Server的測試版本的原因,因為是它在安裝時導緻了系統的損壞。

  很多月份已經過去了,有必要還要對蠕蟲那麼警惕嗎?回答是肯定的。因為每一天還有很多Slammer的複制而感染機器。如果一個沒有任何更新檔的SQL Server連接配接到網絡,你将會變成這一行為的犧牲品。從道德上而言,在将SQL Server與網絡線連接配接之前,必須保護你的伺服器,并運作所有的新服務更新檔。

服務更新檔的重要性

  服務更新檔在下載下傳時是免費的。Slammer沒有損壞你的資料,但它可以導緻伺服器的很多破壞,其危害是明顯的。保護資料最簡單的方法是下載下傳Service Pack 3 或者Service Pack 3a。

蠕蟲如何工作這一方面的知識并不是重要,重要的是蠕蟲在微軟的更新檔釋出以後還可以生存6個月。被蠕蟲感染的商業系統通常有兩個原因:一是管理人員沒有很有效的保護好系統,二是蠕蟲本身太厲害。

你應該注意到,SQL Server SP3也是無法保證它能夠保持全部的資料。你應該實時監控Microsoft's Security Bulletin(微軟安全公告)以保證處于被服務更新檔通知的狀态。

選擇一個認證模式

  在 SQL Server安裝過程中有一個必須決定的是選擇安全認證模式。這裡有兩種模式:

Windows認證模式(也叫內建模式)

混合模式

Windows認證模式使用者通過使用一個現成的Windows使用者帳号連接配接到SQL伺服器。當使用者使用一個合法使用者名和密碼連接配接到伺服器時,SQL Server就确認使用者的注冊資訊。結果是使用者隻是在Windows和SQL Server中注冊,帳号資訊被Windows嚴格的存儲。

混合模式是Windows認證和SQL Server認證的結合。在混合模式中,一些使用者可以繼續使用Windows帳号來通路SQL Server,但其他隻能使用與Windows帳号完全不關聯的SQL Server使用者帳号。每一個SQL Server帳号都存放其使用者名和密碼。如果這些注冊值相同,使用者必須輸入兩次——一次是Windows輸入,另一次是SQL Server輸入。

Windows認證比混合模式更優越,原因在以下:

它比SQL Server認證提供更多的特性。

很多管理人員都認為Windows認證比較容易執行和使用。

使用Windows認證,不需要将密碼存放在連接配接字元串中。

Windows認證意味着你隻需要将密碼存放在一個地方。

  不幸的是,Windows認證并不是每一個人都能夠使用的。混合模式必須在SQL Server 7.0中運作,而Windows認證隻能在SQL Server2000中使用。還有其他的一些環境,Windows認證無法運作,因為無法獲得垮平台的互相信任。在這種情況下,,你隻能使用混合模式和SQL Server注冊。

其他安裝技巧

  在安裝SQL Server時,還在其他一些技巧值得注意。

使用TCP/IP作為SQL Server的網絡庫。這是微軟推薦使用的庫,是經受考驗的。如果伺服器将與網絡連接配接,使用非标準端口會被一些别有用心的人破壞。

  使用一個低級别的帳号來運作SQL Server,而不是一個管理帳号。這對系統崩潰的時候起着保護作用。

不要允許未獲得安全許可的客人通路任何包括安全資料的資料庫。

将資料庫保護于一個“被鎖的房間”。記住,很多騷擾都是來自于内部的人。

總結

  從開始就要對資料進行安全保護措施。為了防止有意或無意的破壞,你應該保護你的資料。學會建立安全模型,并運用它。讓安全噩夢遠離你,高枕無憂的工作。