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