由於多種原因,進行安全設定的人們常常不理解資料的真正價值,所以,他們也無法對資料進行合適的保護。將你的資料只限於需要的人訪問,並保證訪問的人的合法性,是一個資料庫管理員的重要工作。然而,確保資料可以訪問不是意味著資料向所有人公開,相反的,你必須很仔細地保護資料,並只對需要使用資料的人進行開放。
設定安全性過程
通用的軟體維護和資料庫更新都會對系統安全起著重要作用,通常包括以下步驟:
分配一個可靠的密碼給預設的系統管理(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與網路線串連之前,必須保護你的伺服器,並運行所有的新服務補丁。