虞麗妹
[摘要]針對(duì)Web服務(wù)器的SQL注入攻擊技術(shù)層出不窮。而為使web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器能夠更好的擴(kuò)展功能,實(shí)現(xiàn)公共信息交換的目的就不可避免的暴露一些可以被攻擊者非法利用的安全缺陷。如何讓系統(tǒng)管理者采取有效的防范措施阻止內(nèi)部信息的泄露,將整個(gè)系統(tǒng)的威脅降至最低是目前服務(wù)器防守的關(guān)鍵。針對(duì)SQL注入攻擊防范中的服務(wù)器端安全配置問(wèn)題進(jìn)行分析語(yǔ)闡釋?zhuān)M軌驅(qū)υ擃I(lǐng)域的研究有所幫助。
[關(guān)鍵詞]SQLL注入攻擊防范安全配置
中圖分類(lèi)號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671—7597(2009)1010070—01
SQLL注入攻擊(SQL-Injection-Attract)是目前網(wǎng)上最流行最熱門(mén)的黑客腳本攻擊方法之一,它是指黑客利用一些Web應(yīng)用程序(如:論壇、留言本、文章發(fā)布系統(tǒng)等)中某些疏于防范的用戶(hù)可以提交或修改的數(shù)據(jù)的頁(yè)面,精心構(gòu)造SQL語(yǔ)句,把特殊的SQL指令語(yǔ)句插入到系統(tǒng)實(shí)際SQL語(yǔ)句中并執(zhí)行它,以獲取用戶(hù)密碼等敏感信息,以及獲取主機(jī)控制權(quán)限的攻擊方法。
SQL注入攻擊是近年來(lái)Internet網(wǎng)絡(luò)上最流行的網(wǎng)站入侵方式之一,SQL注入攻擊利用的是SQL語(yǔ)法,對(duì)于所有平臺(tái)上的基于SQL語(yǔ)言標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)軟件都是有效的。由于SQL注入攻擊的原理相對(duì)簡(jiǎn)單,易于掌握和實(shí)施,使得這種攻擊具有相當(dāng)?shù)膹V泛性。因此對(duì)于SQL注入攻擊的防范顯得尤為重要了。
一、Apache服務(wù)器安全配置
(一)Apache初始安裝服務(wù)管理
因?yàn)榉?wù)器初始安裝時(shí)都會(huì)默認(rèn)許多如用戶(hù)登陸名、服務(wù)端口、配置信息等,這些都給攻擊者留下了入侵的可能。安全維護(hù)工作在安裝初期就應(yīng)被重視,修改默認(rèn)登陸名的權(quán)限,只分配管理員用戶(hù)具有訪問(wèn)配置文件的權(quán)利,關(guān)閉所有服務(wù)端口后在開(kāi)啟欲用端口等等。
(二)Apache服務(wù)器目錄安全認(rèn)證
Apache服務(wù)器中是允許使用,htaccess做目錄安全保護(hù),如果攻擊者想讀取這保護(hù)內(nèi)容的目錄,需要先輸入正確用戶(hù)帳號(hào)與密碼。這種保護(hù)措施可作為專(zhuān)門(mén)管理web服務(wù)器網(wǎng)頁(yè)存放的目錄或作為會(huì)員專(zhuān)區(qū)等。服務(wù)器管理者可以在保護(hù)的目錄放置—個(gè)檔案,文檔名為,htaccss文檔內(nèi)容主要包含三個(gè)參數(shù):AuthName、AuthType、AuthUserFile分別存放名稱(chēng)、類(lèi)型和目錄名。將一些敏感的數(shù)據(jù)資源如密碼文件放入該保護(hù)目錄,就可以限制非法用戶(hù)的訪問(wèn)。
(三)Apache服務(wù)器安全補(bǔ)丁更新
及時(shí)對(duì)提供網(wǎng)絡(luò)服務(wù)的模塊進(jìn)行必要更新,使服務(wù)器保持最新補(bǔ)丁包,運(yùn)行穩(wěn)定版本。
(四)Apache日志系統(tǒng)文件管理
將服務(wù)器程序訪問(wèn)日志存放一個(gè)安全系統(tǒng)高的服務(wù)器上或保存在上面提到的保護(hù)目錄中,并利用工具如AWstats軟件對(duì)日志文件進(jìn)行定期分析,以便第一時(shí)間發(fā)現(xiàn)入侵狀況。這里值得注意的是日志文件的管理只是被動(dòng)的防御方式,它只是提供給管理人員分析鑒別的功效,無(wú)法做出有效的應(yīng)急措施。
二、IIS服務(wù)器安全配置
(一)IIS特定服務(wù)配置
多數(shù)注入攻擊是根據(jù)IIS給出的ASP錯(cuò)誤提示來(lái)判斷攻擊的。所以IIS服務(wù)器應(yīng)該自行設(shè)置返回語(yǔ)句顯示內(nèi)容,即所有錯(cuò)誤都只返回一種信息,讓攻擊者無(wú)法從中得到有價(jià)值的內(nèi)容。這種方式的缺點(diǎn)是當(dāng)程序員編寫(xiě)的代碼出錯(cuò)時(shí)也只是得到預(yù)設(shè)的錯(cuò)誤內(nèi)容,對(duì)正確編寫(xiě)帶來(lái)些不便。
(二)IIS服務(wù)器的權(quán)限設(shè)置
服務(wù)器應(yīng)該仔細(xì)的設(shè)置系統(tǒng)執(zhí)行權(quán)限以防止惡意用戶(hù)的入侵攻擊。多數(shù)情況下服務(wù)器不給靜態(tài)網(wǎng)站設(shè)置腳本可執(zhí)行權(quán)限。動(dòng)態(tài)網(wǎng)站也只是賦予其純腳本的權(quán)限。對(duì)于通過(guò)客戶(hù)端瀏覽器上傳的文件設(shè)置為無(wú)可執(zhí)行權(quán)限,該目錄中不可存放機(jī)密的系統(tǒng)配置文件。這樣是為了防止注入攻擊者上傳惡意文件,如Wehshell等。
(三)IIS服務(wù)器用戶(hù)訪問(wèn)安全性
同Apache安裝時(shí)會(huì)產(chǎn)生默認(rèn)用戶(hù)相同,安裝IIS后的默認(rèn)用戶(hù)為Iuser_x,其密碼由系統(tǒng)隨機(jī)產(chǎn)生。這種匿名機(jī)制雖然為系統(tǒng)的共享性提供了途徑,但是也給Web服務(wù)器帶來(lái)了潛在的安全危險(xiǎn)。如果攻擊者通過(guò)注入攻擊拿到了IIs服務(wù)器的訪問(wèn)權(quán)限就使整個(gè)系統(tǒng)處于非常不利的狀態(tài)。IIS服務(wù)器如無(wú)需匿名登陸的需要可以取消該訪問(wèn)服務(wù)。
已授權(quán)用戶(hù)也要使用多符號(hào)結(jié)合的密碼設(shè)置方法和經(jīng)常修改其身份驗(yàn)證密碼,使注入攻擊用戶(hù)猜解困難或由于及時(shí)更改密碼攻擊者無(wú)法正常登陸。
三、MySOL安全配置
(一)最小權(quán)利法則
應(yīng)用程序使用連接數(shù)據(jù)庫(kù)的賬戶(hù)應(yīng)該只擁有必要的特權(quán),這樣有助于保護(hù)整個(gè)系統(tǒng)盡可能少的受到入侵者的危害。通過(guò)限制用戶(hù)權(quán)限,隔離了不同賬戶(hù)可執(zhí)行的操作,用不同的用戶(hù)賬戶(hù)執(zhí)行查詢(xún)、插入、更新、刪除操作,可以防止原本用于執(zhí)行SELECT命令的地方卻被用于執(zhí)行INSERT、UPDATE或DELETE命令。
(二)用戶(hù)帳號(hào)安全法則
禁用默認(rèn)的root管理員賬號(hào),新建一個(gè)復(fù)雜的用戶(hù)名和密碼管理數(shù)據(jù)庫(kù)。
(三)內(nèi)容加密
有些網(wǎng)站使用SSL/SSH數(shù)據(jù)加密,但是該技術(shù)只對(duì)數(shù)據(jù)傳輸過(guò)程進(jìn)行加密,無(wú)法保護(hù)數(shù)據(jù)庫(kù)中已有數(shù)據(jù)。目前對(duì)數(shù)據(jù)進(jìn)行加密的數(shù)據(jù)庫(kù)系統(tǒng)很少,而利用PIP支持的加密算法,可以在存儲(chǔ)時(shí)對(duì)數(shù)據(jù)進(jìn)行加密,安全的保存在數(shù)據(jù)中,在檢索時(shí)對(duì)數(shù)據(jù)進(jìn)行解密,實(shí)現(xiàn)對(duì)數(shù)據(jù)的加密功能,數(shù)據(jù)加密節(jié)中會(huì)詳細(xì)分析此種技巧。
(四)存儲(chǔ)過(guò)程控制
用戶(hù)應(yīng)該無(wú)權(quán)通過(guò)SQL語(yǔ)句來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)命令的調(diào)用,這是注入Webshell時(shí)十分危險(xiǎn)的漏洞。
(五)系統(tǒng)補(bǔ)丁
及時(shí)更新MySQL的最新版本補(bǔ)丁,可有效的解決數(shù)據(jù)庫(kù)的漏洞問(wèn)題。
四、結(jié)語(yǔ)
針對(duì)SQL注入攻擊本文從Apache服務(wù)器安全配置、IIS服務(wù)器安全配置、MySQL安全配置等方面進(jìn)行了詳細(xì)闡述。本文僅是針對(duì)sQL注入攻擊防范中的服務(wù)器端安全配置問(wèn)題進(jìn)行了探索和研究,對(duì)SOL注入攻擊,還有很多其他的防范措施,這些都是有待于今后深入開(kāi)發(fā)研究的問(wèn)題。