Web開(kāi)發(fā)中常見(jiàn)9大安全誤區(qū)

2015-12-19 21:30:38來(lái)源:黑馬程序員作者:

安全是Web應(yīng)用程序不容忽視的一個(gè)重要因素,而在Web應(yīng)用開(kāi)發(fā)中,一些開(kāi)發(fā)者由于缺乏安全方面的意識(shí),導(dǎo)致Web應(yīng)用存在風(fēng)險(xiǎn)。下面來(lái)介紹Web開(kāi)發(fā)中常見(jiàn)的一些安全誤區(qū)。

安全是Web應(yīng)用程序不容忽視的一個(gè)重要因素,而在Web應(yīng)用開(kāi)發(fā)中,一些開(kāi)發(fā)者由于缺乏安全方面的意識(shí),導(dǎo)致Web應(yīng)用存在風(fēng)險(xiǎn)。下面來(lái)介紹Web開(kāi)發(fā)中常見(jiàn)的一些安全誤區(qū)。

1、如果我們使用Web框架,那么不必?fù)?dān)心安全問(wèn)題

一些流行的框架比如Rails和 Django在編寫(xiě)之初已考慮到安全性問(wèn)題,并幫助防止常見(jiàn)的漏洞問(wèn)題。然而,它們并不能阻止業(yè)務(wù)邏輯出現(xiàn)的陷,比如設(shè)置產(chǎn)品數(shù)量為負(fù)數(shù),這就可能給攻擊者提供了機(jī)會(huì)。如果你以非常規(guī)的方式使用該框架,它們會(huì)努力去保護(hù)你,此外,許多安全功能需要由開(kāi)發(fā)者手動(dòng)實(shí)現(xiàn)。

2、我不是很有趣,沒(méi)人想要攻擊我

即便你的公司或應(yīng)用不是很有價(jià)值,訪問(wèn)者或者黑客也可能會(huì)攻擊您的網(wǎng)站。如果你的網(wǎng)站能夠被搜索引擎檢索到,并且還有常見(jiàn)的漏洞,那么你的網(wǎng)站已不安全了,已經(jīng)被攻擊了。

比如,2008年,有一連串的自動(dòng)ASPROX 蠕蟲(chóng)利用網(wǎng)站SQL注入漏洞,以致用戶(hù)的電腦受到多個(gè)惡意腳本的攻擊,直到今天仍然有許多網(wǎng)站受到影響。

3、我們已經(jīng)有了備份,因此無(wú)后顧之憂(yōu)

盡管網(wǎng)站被攻擊后,備份可以幫助你恢復(fù),但它絕不是一個(gè)網(wǎng)站安全性良好的、可行性的替代方案。

遭到黑客臨時(shí)被攻擊的網(wǎng)站可能會(huì)導(dǎo)致嚴(yán)重的后果,比如,被搜索引擎列入黑名單,敏感的用戶(hù)數(shù)據(jù)被盜,網(wǎng)絡(luò)釣魚(yú)或蠕蟲(chóng)攻擊你的訪客。此外,即使你把網(wǎng)站備份了,也不能保證其不會(huì)再發(fā)生了。

4、它是一個(gè)內(nèi)部網(wǎng)絡(luò),所以,安全并不重要

你永遠(yuǎn)也不能確保威脅不會(huì)來(lái)自某個(gè)雇員或者攻擊者以某種方法來(lái)獲得訪問(wèn)內(nèi)部網(wǎng)絡(luò)。
比如,公司內(nèi)部的CRM或ERP的機(jī)密數(shù)據(jù)被心懷不滿(mǎn)的初級(jí)員工或者因好奇心缺乏安全意識(shí)的員工、臨時(shí)工因缺乏工作安全性而泄露?攻擊者通過(guò)你的無(wú)線(xiàn)網(wǎng)或者互聯(lián)網(wǎng)連接而獲取網(wǎng)絡(luò)訪問(wèn)?等等這些都會(huì)對(duì)你造成潛在威脅。

5、它是安全的,因?yàn)橥ㄟ^(guò)VPN連接

盡管用戶(hù)使用安全的網(wǎng)絡(luò)連接到你的應(yīng)用程序,但這并不意味著你的應(yīng)用程序本身就是安全的。正如我們第四條談到的內(nèi)部網(wǎng)絡(luò)(惡意員工和網(wǎng)絡(luò)漏洞)。

6、網(wǎng)站使用SSL,因此,它很安全

如果你的網(wǎng)站使用SSL,它會(huì)在你的網(wǎng)站和訪問(wèn)者瀏覽器之間傳輸加密數(shù)據(jù),盡管它能防止他人攔截未加密的數(shù)據(jù),但SSL卻無(wú)法阻止攻擊者利用漏洞來(lái)訪問(wèn)你的網(wǎng)站。

7、我想防火墻可以做到!

防火墻實(shí)施了一套規(guī)則能夠控制訪問(wèn)者的IP地址或端口,但卻無(wú)法阻止訪問(wèn)者利用漏洞訪問(wèn)你的網(wǎng)站。應(yīng)用防火墻的作用是在HTTP請(qǐng)求級(jí)別上但不會(huì)查看請(qǐng)求的內(nèi)容。當(dāng)正確配置后,防火墻可以幫助減少特定的攻擊,比如跨站點(diǎn)腳本或者SQL注入,但不會(huì)確保你免受攻擊,無(wú)法解決根本性問(wèn)題。更重要的是,黑客會(huì)采取很多方法來(lái)繞過(guò)Web應(yīng)用防火墻。

8、我們做了滲透測(cè)試和源代碼分析,因此不需要擔(dān)心!

滲透測(cè)試和源代碼分析是編寫(xiě)安全Web應(yīng)用程序的基本組成部分,但它卻不能“包治百病”。重要的是,你不能保證所有的漏洞都能被檢測(cè)到,因此你需要確保編寫(xiě)安全代碼。更重要的是,修復(fù)Bug是如此的昂貴,漏洞亦如此,你應(yīng)該在滲透測(cè)試階段盡可能多地查找漏洞。

9、熱門(mén)書(shū)籍可以教你如何編寫(xiě)安全代碼

截止到目前,你幾乎不可能找到有關(guān)編寫(xiě)安全代碼方面的編程書(shū)籍。開(kāi)發(fā)者利用這些書(shū)籍學(xué)會(huì)Web應(yīng)用開(kāi)發(fā),但卻無(wú)法做到編寫(xiě)安全的Web應(yīng)用,除非他們已經(jīng)經(jīng)歷某個(gè)應(yīng)用被黑客攻擊或者其在Web安全方面感興趣。

關(guān)鍵詞:Web開(kāi)發(fā)安全