掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
針對(duì)Web應(yīng)用的攻擊——SQL注入為人所熟知,安全專家對(duì)被越來越多的黑客所利用的這一方式長(zhǎng)期以來都非常警惕。SQL注入是一種人為向Web表單的輸入框中加入惡意的結(jié)構(gòu)化查詢語言(SQL)代碼以試圖獲取資源的訪問權(quán)限或是改變數(shù)據(jù)的安全攻擊。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),茌平企業(yè)網(wǎng)站建設(shè),茌平品牌網(wǎng)站建設(shè),網(wǎng)站定制,茌平網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,茌平網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
它需要的唯一條件是網(wǎng)絡(luò)端口80處于開放狀態(tài)。即使有設(shè)置妥當(dāng)?shù)姆阑饓?,這一端口也是少數(shù)的幾個(gè)允許流量的通道之一。最近發(fā)生的SQL注入案例是Heartland Payment Systems公司的服務(wù)器攻擊事件,它讓網(wǎng)絡(luò)管理人員意識(shí)到SQL注入威脅的嚴(yán)重程度并且開始重新審視他們對(duì)這一攻擊的防范措施。
防御SQL注入攻擊的主要方法是使用參數(shù)化的存儲(chǔ)程序。當(dāng)這些程序被使用時(shí),將以參數(shù)和用戶定義的子程序的形式對(duì)數(shù)據(jù)庫(kù)發(fā)出請(qǐng)求,這就代替了需要用戶直接提供數(shù)值的命令方式。SQL參數(shù)的優(yōu)勢(shì)不光體現(xiàn)在輸入的安全性上,而且他們還能夠很大程度地減少SQL注入攻擊發(fā)生的成功幾率。
數(shù)據(jù)庫(kù)的開發(fā)不在網(wǎng)絡(luò)管理員的職責(zé)范圍之內(nèi),但是你應(yīng)當(dāng)堅(jiān)信只有保障了網(wǎng)絡(luò)上的數(shù)據(jù)安全才能保證遵循了最佳實(shí)踐。
雖然使用存儲(chǔ)程序是必須的,但光這樣做還是不夠的。為了防御潛在的攻擊者,深度防御戰(zhàn)略是必不可少的。否則開發(fā)者將會(huì)被要求提供前線安全(front-line security),而從以往經(jīng)驗(yàn)看來這對(duì)許多的組織來說都是種挑戰(zhàn)。數(shù)據(jù)庫(kù)管理員和應(yīng)用程序開發(fā)者應(yīng)當(dāng)遵從最佳實(shí)踐是毫無疑問的,但還是讓我們來看看你作為一個(gè)網(wǎng)絡(luò)管理員,為數(shù)據(jù)庫(kù)資源提供附加保護(hù)所能做的事情。
應(yīng)用程序和數(shù)據(jù)庫(kù)服務(wù)器很顯然需要加固,并需要定期打補(bǔ)丁,但是由于SQL注入攻擊的對(duì)象是具體的Web應(yīng)用程序——ASP, JSP, PHP等,而不是Web服務(wù)器和SQL注入攻擊運(yùn)行的操作系統(tǒng),因而SQL注入攻擊不能因系統(tǒng)的補(bǔ)丁升級(jí)而得到解決。
靜態(tài)的和網(wǎng)絡(luò)中傳送的敏感信息都需要加密,但作出最大貢獻(xiàn)的可能要數(shù)附加的Web應(yīng)用防火墻或作為附加防御的一些應(yīng)用層防火墻的變種。
Web應(yīng)用防火墻的防護(hù)范圍超越了傳統(tǒng)網(wǎng)絡(luò)防火墻和入侵檢測(cè)/入侵防御系統(tǒng)。許多Web應(yīng)用防火墻,比如由Imperva公司和Barracuda Networks公司開發(fā)的產(chǎn)品,能夠幫助防御SQL注入攻擊、跨站腳本攻擊和其他的一些針對(duì)應(yīng)用程序邏輯漏洞或軟件技術(shù)漏洞的攻擊。最新的Web應(yīng)用防火墻能夠識(shí)別由攻擊者使用SQL注入開發(fā)的逃逸技術(shù)(evasion techniques)。例如,有一種是通過對(duì)注入的命令進(jìn)行部分編碼來達(dá)到攪亂攻擊的目的的。
你所選擇的應(yīng)用層防火墻應(yīng)當(dāng)同時(shí)允許創(chuàng)建過濾器來進(jìn)行攔截、分析或者修改僅限于流向該網(wǎng)絡(luò)的流量。大量的請(qǐng)求通常不需要分析,過濾器通常不應(yīng)當(dāng)去除在SQL注入攻擊中經(jīng)常使用的字符串,例如——and @@version。所有的這些請(qǐng)求都能夠記錄到日志并且其原IP地址也可封閉。更出色的防火墻能夠“學(xué)習(xí)”對(duì)你的特定網(wǎng)絡(luò)來說哪些是正常流量,哪些是異常流量,并且采取各自相應(yīng)的處理方式。
當(dāng)檢測(cè)到異常狀況時(shí),Web應(yīng)用防火墻能夠關(guān)閉正在發(fā)生的潛在攻擊進(jìn)程。而且,由于SQL注入通常通過URL查詢字符串來發(fā)動(dòng)攻擊,對(duì)Web服務(wù)器的日志文件進(jìn)行定期檢查可以發(fā)現(xiàn)可能帶來注入攻擊的異常查詢操作。
作為網(wǎng)絡(luò)管理員,有一點(diǎn)很重要,那就是保證Web應(yīng)用程序使用的任何賬戶的權(quán)限必須被設(shè)置為最低級(jí)別。嚴(yán)格的訪問限制將會(huì)降低成功的攻擊所造成的損失。絕對(duì)不要在用戶使用帶有管理權(quán)限的用戶名,例如在服務(wù)器層使用“sysadmin”,或者在數(shù)據(jù)庫(kù)層使用“db_owner” 時(shí),連接Web應(yīng)用程序。
例如,微軟建議在安裝SQL Server時(shí),為服務(wù)分配一個(gè)域賬戶,以限制用戶只能訪問必要資源。這樣以來,即使攻擊者攻破了某組織的防線,他還會(huì)被訪問SQL服務(wù)器的控制集限制住。
由于SQL注入攻擊利用的是寫得不夠完美的代碼,完全阻止SQL注入攻擊的唯一方式是解決你的應(yīng)用程序代碼的漏洞問題。然而,作為網(wǎng)絡(luò)管理員,你還可以添加附加的防御層,從而使?jié)撛诘墓粽吒y攻克。
【編輯推薦】

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流