由於多種原因進行安全設置的人們常常不理解數據的真正價值所以他們也無法對數據進行合適的保護將你的數據只限於需要的人訪問並保證訪問的人的合法性是一個數據庫管理人員的重要工作然而確保數據可以訪問不是意味著數據向所有人公開相反的你必須很仔細地保護數據並只對需要使用數據的人進行開放
設置安全性過程
通用的軟件維護和數據庫更新都會對系統安全起著重要作用通常包括以下步驟
分配一個可靠的密碼給缺省的系統管理(SA)帳號然後建立自己唯一命名的帳號並將這一帳號放入sysadmin一定要確認新帳號也有一個可靠的密碼
將獨立的密碼分配給每一個用戶更好的使用Windows集成安全性並讓Windows遵循穩定密碼規則
決定哪些用戶需要查看數據然後分配合適的許可請不要隨便賦予用戶各種權限例如不要把每一個人的工資隨便讓其他人訪問
決定哪些用戶需要更新數據然後分配合適的許可帳號管理人員應該可以查看所有用戶的信息但程序員一定要限制更新這些信息的權限特別的只有負責特定帳號的管理者是唯一可以更改用戶數據的人
通過這些系列信息你可以學會很多知識但你應該從開始就具備這些觀點否則數據庫的任何用戶就可以偷竊或刪除你的重要數據
什麼東西最容易發生錯誤?
對於記錄應該知道SQL Server並非絕對安全的你應該提出一些想法並努力有效地保護你的服務器在安裝服務器之前有兩點你必須完成的
設置管理人員的帳號和密碼
保護系統防止受到Slammer worm的感染
使一些特殊的東西安全化
SQL Server 通過SA帳號而具有缺省的安全設置在安裝過程中SQL Server自動建立一個管理的用戶並分配一個空白密碼給SA用戶名稱一些管理人員喜歡將SA密碼設置為空白或者一個通用的密碼以便每一個人都能知道如果你犯這樣的錯誤進入你的數據庫的任何人都可以為所欲為具備管理者允許的任何人也可以做任何想做的事——不僅僅是數據庫而是整個計算機所以必須限制用戶根據他們的需要進行訪問數據庫不要給他們權利太少也不能太多
暫且把每一天管理的SA帳號放在一邊讓我們看看帶有安全密碼的帳號建立另一帳號以便管理(或者是一個SQL Server帳號或者是一個Windows帳號取決於你的認證模式)你所要避免的是太容易地猜到帳號名稱或者帳號密碼因為任何人得到這些帳號
一個引起警戒的壞事—Slammer worm(Slammer蠕蟲)
年月份出現了一些非常致命的惡意代碼即為Slammer worm這一代碼專門針對於SQL Server的安裝進行攻擊通過利用SQL Servera代碼中的缺欠蠕蟲能夠在SQL Server安裝的時候復制本身程序而損壞整個機器和其他機器蠕蟲生成時以秒可以充滿網絡微軟已經花了很大力量來阻止這一蠕蟲但是蠕蟲還是無法完全消除有些人開始抱怨SQL Server的測試版本的原因因為是它在安裝時導致了系統的損壞
很多月份已經過去了有必要還要對蠕蟲那麼警惕嗎?回答是肯定的因為每一天還有很多Slammer的復制而感染機器如果一個沒有任何補丁的SQL Server連接到網絡你將會變成這一行為的犧牲品從道德上而言在將SQL Server與網絡線連接之前必須保護你的服務器並運行所有的新服務補丁
服務補丁的重要性
服務補丁在下載時是免費的Slammer沒有損壞你的數據但它可以導致服務器的很多破壞其危害是明顯的保護數據最簡單的方法是下載Service Pack 或者Service Pack a
蠕蟲如何工作這一方面的知識並不是重要重要的是蠕蟲在微軟的補丁發布以後還可以生存個月被蠕蟲感染的商業系統通常有兩個原因一是管理人員沒有很有效的保護好系統二是蠕蟲本身太厲害
你應該注意到SQL Server SP也是無法保證它能夠保持全部的數據你應該實時監控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 中運行而Windows認證只能在SQL Server中使用還有其他的一些環境Windows認證無法運行因為無法獲得垮平台的相互信任在這種情況下你只能使用混合模式和SQL Server注冊
其他安裝技巧
在安裝SQL Server時還在其他一些技巧值得注意
使用TCP/IP作為SQL Server的網絡庫這是微軟推薦使用的庫是經受考驗的如果服務器將與網絡連接使用非標准端口會被一些別有用心的人破壞
使用一個低級別的帳號來運行SQL Server而不是一個管理帳號這對系統崩潰的時候起著保護作用
不要允許未獲得安全許可的客人訪問任何包括安全數據的數據庫
將數據庫保護於一個“被鎖的房間”記住很多騷擾都是來自於內部的人
總結
從開始就要對數據進行安全保護措施為了防止有意或無意的破壞你應該保護你的數據學會建立安全模型並運用它讓安全噩夢遠離你高枕無憂的工作
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22330.html