卓越邁創(chuàng)在網(wǎng)站建設(shè)過程中總結(jié)的常見的安全漏洞:
最近有一件事情把筆者震驚到了。有個(gè)朋友獨(dú)自一人經(jīng)營(yíng)著一個(gè)行業(yè)網(wǎng)站平臺(tái),網(wǎng)站的百度權(quán)重已經(jīng)達(dá)到了5。他每天的工作只是接待客戶電話詢盤,每天的咨詢量非常大,大到他幾乎連喝水的時(shí)間都沒有。但就是這么有價(jià)值的一個(gè)網(wǎng)站,之前有一段時(shí)間頻頻出現(xiàn)網(wǎng)站打不開的現(xiàn)象。后來查出來是被同行攻擊了。
原來事情是這樣的:朋友的網(wǎng)站平臺(tái)是好多年以前用ASP+access數(shù)據(jù)庫(kù)開發(fā)的,網(wǎng)站建設(shè)時(shí)大部分新聞頁(yè)面都是動(dòng)態(tài)頁(yè)面,每個(gè)訪客打開他的網(wǎng)站頁(yè)面,都是直接向ACCESS數(shù)據(jù)庫(kù)發(fā)送訪問請(qǐng)求,但是每個(gè)服務(wù)器都是有最高并發(fā)限制的,超過這個(gè)最高并發(fā)數(shù)量,網(wǎng)站就會(huì)出現(xiàn)卡死的情況,也就是說如果最高限制并發(fā)是5000個(gè),如果并發(fā)請(qǐng)求達(dá)到5001條,網(wǎng)站就會(huì)卡死打不開。他的競(jìng)爭(zhēng)對(duì)手就是找出了他網(wǎng)站的這個(gè)缺陷,用軟件刷訪問量的方式把他網(wǎng)站搞癱瘓了。逼得他不得不換萬網(wǎng)的云服務(wù)器,提高服務(wù)器配置。
于是最近我一直在想一個(gè)問題,網(wǎng)站的安全隱患真的要重視,否則你前面運(yùn)營(yíng)網(wǎng)站積累的一些基礎(chǔ)和成果可能會(huì)被毀于一旦。那么網(wǎng)站到底可能會(huì)存在哪些安全漏洞呢?我們今天來分享一下卓越邁創(chuàng)在網(wǎng)站建設(shè)過程中總結(jié)的常見的安全漏洞主要有這些:
1、文件上傳漏洞
問題描述:沒有對(duì)文件上傳限制,可能會(huì)被上傳可執(zhí)行文件,或腳本文件。進(jìn)一步導(dǎo)致服務(wù)器淪陷。
修改建議:嚴(yán)格驗(yàn)證上傳文件,防止上傳asp、aspx、asa、php、jsp等危險(xiǎn)腳本。同事最好加入文件頭驗(yàn)證,防止用戶上傳非法文件。
2、明文傳輸
問題描述:對(duì)系統(tǒng)用戶口令保護(hù)不足,攻擊者可以利用攻擊工具,從網(wǎng)絡(luò)上竊取合法的用戶口令數(shù)據(jù)。
修改建議:傳輸?shù)拿艽a必須加密。
注意:所有密碼要加密。要復(fù)雜加密。不要用base64或md5。
3、sql注入
問題描述:攻擊者利用sql注入漏洞,可以獲取數(shù)據(jù)庫(kù)中的多種信息,如:管理后臺(tái)的密碼,從而脫取數(shù)據(jù)庫(kù)中的內(nèi)容(脫庫(kù))。
修改建議:對(duì)輸入?yún)?shù)進(jìn)行過濾、校驗(yàn)。采用黑白名單方式。
注意:過濾、校驗(yàn)要覆蓋系統(tǒng)內(nèi)所有的參數(shù)。
4、默認(rèn)口令、弱口令
問題描述:因?yàn)槟J(rèn)口令、弱口令很容易讓人猜到。
修改建議:加強(qiáng)口令強(qiáng)度不適用弱口令
注意:口令不要出現(xiàn)常見的單詞。如:root123456、admin1234、qwer1234、pssw0rd等。
5、敏感信息泄露
問題描述:系統(tǒng)暴露內(nèi)部信息,如:網(wǎng)站的絕對(duì)路徑、網(wǎng)頁(yè)源代碼、SQL語句、中間件版本、程序異常等信息。
修改建議:對(duì)用戶輸入的異常字符過濾。屏蔽一些錯(cuò)誤回顯,如自定義404、403、500等。
6、命令執(zhí)行漏洞
問題描述:腳本程序調(diào)用如php的system、exec、shell_exec等。
修改建議:打補(bǔ)丁,對(duì)系統(tǒng)內(nèi)需要執(zhí)行的命令要嚴(yán)格限制。
7、跨站腳本攻擊
問題描述:對(duì)輸入信息沒有進(jìn)行校驗(yàn),攻擊者可以通過巧妙的方法注入惡意指令代碼到網(wǎng)頁(yè)。這種代碼通常是JavaScript,但實(shí)際上,也可以包括Java、VBScript、ActiveX、Flash或者普通的HTML。攻擊成功之后,攻擊者可以拿到更高的權(quán)限。
修改建議:對(duì)用戶輸入進(jìn)行過濾、校驗(yàn)。輸出進(jìn)行HTML實(shí)體編碼。
注意:過濾、校驗(yàn)、HTML實(shí)體編碼。要覆蓋所有參數(shù)。
8、SSRF漏洞
問題描述:服務(wù)端請(qǐng)求偽造。
修改建議:打補(bǔ)丁,或者卸載無用的包
9、CSRF(跨站請(qǐng)求偽造)
問題描述:使用已經(jīng)登陸用戶,在不知情的情況下執(zhí)行某種動(dòng)作的攻擊。
修改建議:添加token驗(yàn)證。時(shí)間戳或這圖片驗(yàn)證碼。
當(dāng)然以上這些并不是所有可能出現(xiàn)的漏洞,企業(yè)網(wǎng)站在運(yùn)營(yíng)過程中一定要經(jīng)常檢測(cè)維護(hù),最好有專門的負(fù)責(zé)人對(duì)企業(yè)網(wǎng)站定期檢測(cè)維護(hù),確保網(wǎng)站安全。
朋友換了服務(wù)器之后,為了避免再被同行攻擊,他想了一個(gè)笨辦法,但是很有用。網(wǎng)站的各項(xiàng)權(quán)重和關(guān)鍵詞的排名已經(jīng)非常好了,不能把那些文章的動(dòng)態(tài)頁(yè)面改成靜態(tài)頁(yè)面啊。用什么辦法呢?他在那之后每次更新網(wǎng)站文章,都是按照文章模板手動(dòng)的把文章做成一個(gè)靜態(tài)網(wǎng)頁(yè),直接用FTP工具上傳到服務(wù)器里去,而不是通過網(wǎng)站后臺(tái)添加文章。一直積累了近一千個(gè)靜態(tài)頁(yè)面。這個(gè)辦法我戲稱之為愚公移山。這也是最好最有效的修補(bǔ)辦法了。
其實(shí),如果在網(wǎng)站建設(shè)的初期就考慮到這些問題,用PHP+SQL數(shù)據(jù)庫(kù)開發(fā)網(wǎng)站,采用網(wǎng)站后臺(tái)生成靜態(tài)頁(yè)面的方式,那就可以完全消除數(shù)據(jù)庫(kù)的負(fù)擔(dān)了。