保護(hù)SQL Server:為安全性而安裝
由于多種原因,進(jìn)行安全設(shè)置的人們常常不理解數(shù)據(jù)的真正價值,所以,他們也無法對數(shù)據(jù)進(jìn)行合適的保護(hù)。將你的數(shù)據(jù)只限于需要的人訪問,并保證訪問的人的合法性,是一個數(shù)據(jù)庫管理人員的重要工作。然而,確保數(shù)據(jù)可以訪問不是意味著數(shù)據(jù)向所有人公開,相反的,你必須很仔細(xì)地保護(hù)數(shù)據(jù),并只對需要使用數(shù)據(jù)的人進(jìn)行開放。
設(shè)置安全性過程
通用的軟件維護(hù)和數(shù)據(jù)庫更新都會對系統(tǒng)安全起著重要作用,通常包括以下步驟:
分配一個可靠的密碼給缺省的系統(tǒng)管理(SA)帳號。然后,建立自己唯一命名的帳號,并將這一帳號放入sysadmin。一定要確認(rèn)新帳號也有一個可靠的密碼。
將獨立的密碼分配給每一個用戶。更好的,使用Windows集成安全性,并讓W(xué)indows遵循穩(wěn)定密碼規(guī)則。
決定哪些用戶需要查看數(shù)據(jù),然后分配合適的許可。請不要隨便賦予用戶各種權(quán)限。例如不要把每一個人的工資隨便讓其他人訪問。
決定哪些用戶需要更新數(shù)據(jù),然后分配合適的許可。帳號管理人員應(yīng)該可以查看所有用戶的信息,但程序員一定要限制更新這些信息的權(quán)限。特別的,只有負(fù)責(zé)特定帳號的管理者是唯一可以更改用戶數(shù)據(jù)的人。
通過這些系列信息你可以學(xué)會很多知識,但你應(yīng)該從開始就具備這些觀點。否則,數(shù)據(jù)庫的任何用戶就可以偷竊或刪除你的重要數(shù)據(jù)。
什么東西最容易發(fā)生錯誤?
對于記錄,應(yīng)該知道SQL Server并非絕對安全的。你應(yīng)該提出一些想法并努力有效地保護(hù)你的服務(wù)器。在安裝服務(wù)器之前有兩點你必須完成的:
設(shè)置管理人員的帳號和密碼。
保護(hù)系統(tǒng)防止受到Slammer worm的感染。
使一些特殊的東西安全化
SQL Server2000通過SA帳號而具有缺省的安全設(shè)置。在安裝過程中,SQL Server自動建立一個管理的用戶,并分配一個空白密碼給SA用戶名稱。一些管理人員喜歡將SA密碼設(shè)置為空白或者一個通用的密碼以便每一個人都能知道。如果你犯這樣的錯誤,進(jìn)入你的數(shù)據(jù)庫的任何人都可以為所欲為。具備管理者允許的任何人也可以做任何想做的事——不僅僅是數(shù)據(jù)庫,而是整個計算機(jī)。所以,必須限制用戶根據(jù)他們的需要進(jìn)行訪問數(shù)據(jù)庫,不要給他們權(quán)利太少,也不能太多。
暫且把每一天管理的SA帳號放在一邊,讓我們看看帶有安全密碼的帳號。建立另一帳號以便管理(或者是一個SQL Server帳號或者是一個Windows帳號,取決于你的認(rèn)證模式)。你所要避免的是太容易地猜到帳號名稱或者帳號密碼,因為任何人得到這些帳號,這就完蛋了。
一個引起警戒的壞事—Slammer worm(Slammer蠕蟲)
2003年1月份出現(xiàn)了一些非常致命的惡意代碼,即為Slammer worm。這一代碼專門針對于SQL Server的安裝進(jìn)行攻擊。通過利用SQL Servera代碼中的缺欠,蠕蟲能夠在SQL Server安裝的時候復(fù)制本身程序而損壞整個機(jī)器和其他機(jī)器。蠕蟲生成時以15秒可以充滿網(wǎng)絡(luò)。微軟已經(jīng)花了很大力量來阻止這一蠕蟲,但是蠕蟲還是無法完全消除。有些人開始抱怨SQL Server的測試版本的原因,因為是它在安裝時導(dǎo)致了系統(tǒng)的損壞。
很多月份已經(jīng)過去了,有必要還要對蠕蟲那么警惕嗎?回答是肯定的。因為每一天還有很多Slammer的復(fù)制而感染機(jī)器。如果一個沒有任何補丁的SQL Server連接到網(wǎng)絡(luò),你將會變成這一行為的犧牲品。從道德上而言,在將SQL Server與網(wǎng)絡(luò)線連接之前,必須保護(hù)你的服務(wù)器,并運行所有的新服務(wù)補丁。
服務(wù)補丁的重要性
服務(wù)補丁在下載時是免費的。Slammer沒有損壞你的數(shù)據(jù),但它可以導(dǎo)致服務(wù)器的很多破壞,其危害是明顯的。保護(hù)數(shù)據(jù)最簡單的方法是下載Service Pack 3 或者Service Pack 3a。
蠕蟲如何工作這一方面的知識并不是重要,重要的是蠕蟲在微軟的補丁發(fā)布以后還可以生存6個月。被蠕蟲感染的商業(yè)系統(tǒng)通常有兩個原因:一是管理人員沒有很有效的保護(hù)好系統(tǒng),二是蠕蟲本身太厲害。
你應(yīng)該注意到,SQL Server SP3也是無法保證它能夠保持全部的數(shù)據(jù)。你應(yīng)該實時監(jiān)控Microsoft's Security Bulletin(微軟安全公告)以保證處于被服務(wù)補丁通知的狀態(tài)。
選擇一個認(rèn)證模式
在 SQL Server安裝過程中有一個必須決定的是選擇安全認(rèn)證模式。這里有兩種模式:
Windows認(rèn)證模式(也叫集成模式)
混合模式
Windows認(rèn)證模式用戶通過使用一個現(xiàn)成的Windows用戶帳號連接到SQL服務(wù)器。當(dāng)用戶使用一個合法用戶名和密碼連接到服務(wù)器時,SQL Server就確認(rèn)用戶的注冊信息。結(jié)果是用戶只是在Windows和SQL Server中注冊,帳號信息被Windows嚴(yán)格的存儲。
混合模式是Windows認(rèn)證和SQL Server認(rèn)證的結(jié)合。在混合模式中,一些用戶可以繼續(xù)使用Windows帳號來訪問SQL Server,但其他只能使用與Windows帳號完全不關(guān)聯(lián)的SQL Server用戶帳號。每一個SQL Server帳號都存放其用戶名和密碼。如果這些注冊值相同,用戶必須輸入兩次——一次是Windows輸入,另一次是SQL Server輸入。
Windows認(rèn)證比混合模式更優(yōu)越,原因在以下:
它比SQL Server認(rèn)證提供更多的特性。
很多管理人員都認(rèn)為Windows認(rèn)證比較容易執(zhí)行和使用。
使用Windows認(rèn)證,不需要將密碼存放在連接字符串中。
Windows認(rèn)證意味著你只需要將密碼存放在一個地方。
不幸的是,Windows認(rèn)證并不是每一個人都能夠使用的。混合模式必須在SQL Server 7.0中運行,而Windows認(rèn)證只能在SQL Server2000中使用。還有其他的一些環(huán)境,Windows認(rèn)證無法運行,因為無法獲得垮平臺的相互信任。在這種情況下,,你只能使用混合模式和SQL Server注冊。
其他安裝技巧
在安裝SQL Server時,還在其他一些技巧值得注意。
使用TCP/IP作為SQL Server的網(wǎng)絡(luò)庫。這是微軟推薦使用的庫,是經(jīng)受考驗的。如果服務(wù)器將與網(wǎng)絡(luò)連接,使用非標(biāo)準(zhǔn)端口會被一些別有用心的人破壞。
使用一個低級別的帳號來運行SQL Server,而不是一個管理帳號。這對系統(tǒng)崩潰的時候起著保護(hù)作用。
不要允許未獲得安全許可的客人訪問任何包括安全數(shù)據(jù)的數(shù)據(jù)庫。
將數(shù)據(jù)庫保護(hù)于一個“被鎖的房間”。記住,很多騷擾都是來自于內(nèi)部的人。
總結(jié)
從開始就要對數(shù)據(jù)進(jìn)行安全保護(hù)措施。為了防止有意或無意的破壞,你應(yīng)該保護(hù)你的數(shù)據(jù)。學(xué)會建立安全模型,并運用它。讓安全噩夢遠(yuǎn)離你,高枕無憂的工作。
關(guān)鍵字:SQL Server、網(wǎng)絡(luò)、服務(wù)器、數(shù)據(jù)庫
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解