1. 安全模型
關(guān)于數(shù)據(jù)庫(kù)安全模型的討論的一直就沒(méi)有停止過(guò),其中把SQL Server安裝到本機(jī)還是采用防火墻隔離模式的話題是最為激烈的。盡管后者是比較麻煩的一種方法,但還是網(wǎng)絡(luò)安全人士鐘愛(ài)的安全模型。

作為一個(gè)全面的服務(wù)器管理平臺(tái),將負(fù)責(zé)管理服務(wù)器和應(yīng)用基礎(chǔ)設(shè)施的整個(gè)生命周期。而安全管理方面包括以下一些內(nèi)容:管理操作系統(tǒng)、應(yīng)用、補(bǔ)丁和配置中不斷出現(xiàn)的變化;保證服務(wù)器、安全和應(yīng)用配置策略的連續(xù)性。一個(gè)安全的數(shù)據(jù)中心必須在安全管理平臺(tái)上自動(dòng)實(shí)現(xiàn)軟件升級(jí)、補(bǔ)丁和深層漏洞掃描及修復(fù)。數(shù)據(jù)庫(kù)的安全性和計(jì)算機(jī)系統(tǒng)的安全性,包括操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的安全性是緊密聯(lián)系、相互支持的。

2. 驅(qū)動(dòng)模式
網(wǎng)絡(luò)驅(qū)動(dòng)庫(kù)(Network Libraries)是SQL Server服務(wù)器為客戶端提供數(shù)據(jù)交換的基礎(chǔ),在這個(gè)基礎(chǔ)上多個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)庫(kù)(庫(kù))同時(shí)響應(yīng)不同的客戶請(qǐng)求,默認(rèn)情況下SQL Server將使用TCP 1433端口和UDP 1434端口來(lái)監(jiān)聽。換句話說(shuō)如果你通過(guò)端口掃描軟件掃描的哪臺(tái)主機(jī)開放著1433端口,這臺(tái)服務(wù)器必定運(yùn)行著SQL Server。

SQL Server 2000 漏洞綜述
1. sa賬戶密碼破解
有些管理員和程序員為了省事,SQL Server管理員sa 用的是空口令或弱口令,這樣危險(xiǎn)性十分巨大,而這些危險(xiǎn)往往是初學(xué)者意識(shí)不到的,殊不知SQL Server的默認(rèn)用戶sa的權(quán)限等于Administrator的權(quán)限,也就是說(shuō)沒(méi)有sa用戶做不了的任何事。
舉一個(gè)例子:首先利用字典暴力破解了sa的密碼為12345678,然后利用一些工具就可以直接對(duì)服務(wù)器進(jìn)行操作。除了密碼過(guò)于簡(jiǎn)單,造成這種漏洞還有一個(gè)原因就是因?yàn)閤p_cmdshell 擴(kuò)展存儲(chǔ)過(guò)程可以運(yùn)行任何操作系統(tǒng)命令,在防止腳本注入的環(huán)節(jié)中我們將介紹如何修補(bǔ)這一漏洞。

2. SQL Server緩沖區(qū)溢出
筆者回憶:2003年3月3號(hào),我又一個(gè)難忘的日子,早上上網(wǎng)非常慢,一天的努力(沒(méi)吃飯)才找出了根源,W32/SQL Slammer蠕蟲病毒。
其實(shí)微軟早在2002年7月就為這個(gè)漏洞發(fā)布了MS02-039號(hào)安全公告,那時(shí)的我意識(shí)到安全升級(jí)的重要性。當(dāng)我們向一臺(tái)SQL Server發(fā)送一個(gè)特定的數(shù)據(jù)包,服務(wù)器會(huì)出現(xiàn)緩沖區(qū)溢出,導(dǎo)致死機(jī)。而SQL Slammer蠕蟲病毒正是利用這一漏洞使這些服務(wù)器最終成為傀儡,它們向網(wǎng)絡(luò)發(fā)送無(wú)效UDP數(shù)據(jù)包,導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓。有一種傳聞,微軟就因?yàn)檫@個(gè)病毒推遲了SQL Server 2003的發(fā)布,直到今天才公布初露端倪的SQL Server 2005。

3. 其它
由于篇幅的限制我們不可能把所有的漏洞都一一說(shuō)明,除了上述兩個(gè)較為常見(jiàn)的漏洞外還包括:代碼注入、跨庫(kù)提升權(quán)限、SQL語(yǔ)句查詢?yōu)E用、存儲(chǔ)過(guò)程輸入惡意代碼等。這些漏洞都可能為黑客留下入侵的機(jī)會(huì),一旦將某個(gè)普通用戶提升為管理員,那么我們之前所作的努力都將付之東流。
建議:請(qǐng)程序員們不要再把sa的口令寫在global.a(chǎn)sa文件里面了,將sa口令以明文的方式放到Web網(wǎng)站的根目錄下真的是一種不太好的辦法。

加固步驟
1. sa口令符合復(fù)雜性要求
沒(méi)有必要重復(fù)說(shuō)"復(fù)雜性"了,但是,如果你在初始安全的時(shí)候沒(méi)有設(shè)置sa的口令或者過(guò)于簡(jiǎn)單,就可以執(zhí)行"SQL Server 企業(yè)管理器→SQL Server組→安全性→sa 賬戶屬性"進(jìn)行更改。

2. 及時(shí)進(jìn)行安全升級(jí)
SQL Server不作為Automatic Updates升級(jí)一部分,并且SQL Server、MSDE、Analysis Services 都需要單獨(dú)更新,這確實(shí)是一件比較麻煩的事。
SQL Serve 2000 補(bǔ)丁全集:
http://www.microsoft.com/china/technet/downloads/sqlsrvr.mspx。
★MDAC 升級(jí):
http://www.microsoft.com/downloads/details.aspx?FamilyID=6C050FE3-C795-4B7D-B037-185D0506396C&&displaylang=zh-cn。
手工檢查SQL Server安全更新簡(jiǎn)直是一件痛苦的。還記得我們?cè)?jīng)提到"Microsoft 基準(zhǔn)安全分析器"嗎?利用它來(lái)掃描系統(tǒng),從每個(gè)失敗的檢查旁邊"Result details"(結(jié)果詳細(xì)信息)的鏈接可查看缺少的安全更新的列表。單擊后出現(xiàn)的對(duì)話框顯示 Microsoft 安全公告參考號(hào),單擊該參考可了解公告的詳細(xì)信息及下載地址。

3. 根據(jù)需求禁用不必要 SQL Server 服務(wù)

4. TCP/IP 是惟一啟用的協(xié)議

在 Microsoft SQL Server 程序組中,啟動(dòng)"Server 網(wǎng)絡(luò)實(shí)用工具"。在"常規(guī)"選項(xiàng)卡中確保 TCP/IP 是惟一啟用的 SQL Server 協(xié)議,同時(shí)禁用所有其它協(xié)議。

5. NTFS權(quán)限的運(yùn)用
限制Everyone組對(duì)"Program FilesMicrosoft SQL ServerMSSQL"目錄的寫入權(quán)限。

6. 激活SQL Server的身份驗(yàn)證審核日志
執(zhí)行"企業(yè)管理器→SQL Server 組→SQL Server→右鍵選屬性→安全性"選項(xiàng)卡進(jìn)行配置,將審核級(jí)別設(shè)置為"全部"或"失敗"。這些設(shè)置的應(yīng)用對(duì)象是SQL Server 實(shí)例中所有的數(shù)據(jù)庫(kù)。

7. 最小權(quán)限原則
針對(duì)于不同的數(shù)據(jù)庫(kù)管理賬戶設(shè)計(jì)不同訪問(wèn)權(quán)限,比如我們建立了一個(gè)ylc的用戶可以訪問(wèn)ylc數(shù)據(jù)庫(kù),那么微軟推薦將"服務(wù)器角色"選項(xiàng)為空,在"數(shù)據(jù)庫(kù)訪問(wèn)"選項(xiàng)中只選"ycl"庫(kù),數(shù)據(jù)庫(kù)角色中允只選默認(rèn)的"public"。

分享到

kuangmin

相關(guān)推薦