WEB應(yīng)用防火墻在面對(duì)以上事件時(shí),可以應(yīng)對(duì)WEB服務(wù)器及WEB應(yīng)用中的安全漏洞。在對(duì)企業(yè)網(wǎng)絡(luò)采取安全措施時(shí),我們必須思考一些企業(yè)實(shí)際需求。本文,我們將為用戶(hù)介紹網(wǎng)絡(luò)應(yīng)用安全的8個(gè)關(guān)鍵事項(xiàng)。
訣竅1:不要輕易相信
如果你是在負(fù)責(zé)設(shè)計(jì)或管理一個(gè)公共網(wǎng)站,你不得不面對(duì)是否相信你的用戶(hù)。如果你是特別偏執(zhí),你可能會(huì)把這個(gè)想法帶入到整個(gè)網(wǎng)站中。但問(wèn)題是,除非用戶(hù)在網(wǎng)站中進(jìn)行自我驗(yàn)證,否則你就不知道他們是誰(shuí)以及他們要做什么.
作為網(wǎng)站的管理員,無(wú)論黑客如何偽裝自己的IP,您是否能夠分辨出哪些是合法流量,哪些是非法流量嗎?當(dāng)服務(wù)器日志過(guò)多出現(xiàn)404錯(cuò)誤時(shí),是否有人正在窺探您的網(wǎng)絡(luò)安全防御?作為管理員必須時(shí)刻保持警惕,對(duì)網(wǎng)絡(luò)中的異常行為進(jìn)行驗(yàn)證。
訣竅2:保持低調(diào)
對(duì)一個(gè)潛在的入侵者來(lái)說(shuō),他們要做的第一步就是搜集有關(guān)你的Web服務(wù)器和任何主機(jī)應(yīng)用程序。不要將任何信息暴露給沒(méi)有相應(yīng)權(quán)限的終端用戶(hù),并考慮實(shí)施以下反偵察手段:
•從您的WHOIS記錄中刪除個(gè)人信息對(duì)于防御社會(huì)工程學(xué)攻擊十分重要;
•確保您的電腦中沒(méi)有能夠顯示電腦是什么系統(tǒng)及版本的文件名稱(chēng);
•從服務(wù)器響應(yīng)中刪除服務(wù)器上的標(biāo)題;
•重新映射動(dòng)態(tài)網(wǎng)頁(yè)的文件擴(kuò)展名,如JSP到SHTM;
•添加自定義錯(cuò)誤頁(yè)面,有助于隱藏服務(wù)器或相關(guān)開(kāi)發(fā)平臺(tái)的有價(jià)值信息;
•從HTML、CSS樣式表、以及JavaScript源代碼中,刪除注釋,特別是那些能夠表明實(shí)施信息或網(wǎng)站及管理人員的信息;
•不在robots.txt文件中暴露出敏感的文件或目錄名.
您可以調(diào)整您的網(wǎng)絡(luò)防火墻和服務(wù)器關(guān)聯(lián)設(shè)置從而進(jìn)行反偵察,這方面可以參考的工具如NMAP(www.insecure.org),通過(guò)TCP回執(zhí)能夠幫您識(shí)別您的服務(wù)器。在http層,你可以考慮改變您的Web服務(wù)器的回應(yīng)來(lái)偽裝session cookie的名稱(chēng),并刪除其他項(xiàng)目的回應(yīng)。此類(lèi)參考工具如ServerMask,能夠幫助用戶(hù)執(zhí)行多種掩蔽方法.
顯然,安全并不能僅僅靠一個(gè)稱(chēng)職的WEB管理員來(lái)全面防范,安全是防護(hù)是必須的,但一些公司邀請(qǐng)部分黑客進(jìn)行攻擊以測(cè)試網(wǎng)站的防護(hù)功能是十分愚蠢的;攻擊的真實(shí)目的是使?jié)撛诘墓粽哌h(yuǎn)離真正需要保護(hù)的網(wǎng)站,讓他們?nèi)ス粲脕?lái)做誘餌的網(wǎng)站或服務(wù)器。
訣竅3:障眼法避免信息泄露
如果有些信息需要共享時(shí),管理員需要考慮采用障眼法來(lái)保證安全。通常我們可以將服務(wù)器進(jìn)行偽裝,假裝使用與正常業(yè)務(wù)不同的技術(shù)或給予矛盾的信息,來(lái)誘使攻擊者采用錯(cuò)誤的攻擊手段并標(biāo)注其意圖。例如,你可以在網(wǎng)站的robots.txt文件、注釋或錯(cuò)誤網(wǎng)頁(yè)中添加偽造的不受限的目錄或文件,這樣當(dāng)攻擊者或者惡意軟件在進(jìn)行監(jiān)測(cè)或攻擊時(shí),就會(huì)暴露其意圖。其他偽裝保護(hù)的例子包括:
•在響應(yīng)數(shù)據(jù)包中加入隨機(jī)網(wǎng)絡(luò)和HTTP服務(wù)器簽名;
•通過(guò)實(shí)施欺騙性的管理員帳號(hào)和網(wǎng)絡(luò)日志,可以及時(shí)發(fā)現(xiàn)社會(huì)工程需攻擊的發(fā)生;
•誘捕服務(wù)器或蜜罐(www.honeypots.org)混淆入侵者.
•向入侵者發(fā)送不同的錯(cuò)誤的相應(yīng)或 “500 Server Error”來(lái)偽裝服務(wù)器故障。
障眼法在安全應(yīng)用中擁有很大的延展空間。通過(guò)創(chuàng)建集群化的誘捕設(shè)備和站點(diǎn)來(lái)不斷的檢測(cè),這對(duì)潛在的攻擊者而言無(wú)疑是巨大的煩惱。然而本分公司并不支持這種觀點(diǎn)。
必須認(rèn)識(shí)到:偽裝并不能有效解決問(wèn)題,而且有可能刺激攻擊者。在許多情況下,面對(duì)來(lái)自機(jī)器人、蠕蟲(chóng)或腳本小子的攻擊時(shí),這些策略將無(wú)法發(fā)揮作用。攻擊者并不在乎他們攻擊的目標(biāo),因此管理員有必要弄清在攻擊者發(fā)起攻擊行為前可以處理哪些問(wèn)題。
訣竅4:強(qiáng)硬的拒絕惡意需求
必須意識(shí)到用戶(hù)的執(zhí)行請(qǐng)求并非都是安全的。通常攻擊重點(diǎn)放在試圖修改HTTP請(qǐng)求從而造成惡意行為發(fā)生。用戶(hù)可以使用應(yīng)用層防火墻或服務(wù)過(guò)濾器以消除不良的HTTP請(qǐng)求,包括冗長(zhǎng)的URL、異常的字符、不被支持的方法和標(biāo)題及任何其他畸形要求等.
用戶(hù)應(yīng)該清楚自己網(wǎng)站中的數(shù)據(jù)類(lèi)型與程序種類(lèi)。如果您知道什么是允許的,那這個(gè)范圍以外的數(shù)據(jù)與程序就是不允許的。比如,需要ASP支持的網(wǎng)站用PHP制作就會(huì)有問(wèn)題。請(qǐng)務(wù)必清除所有未使用的文件,特別是備份文件(.bak) 關(guān)閉您的服務(wù)器的目錄瀏覽選項(xiàng),并從服務(wù)器中刪除任何未使用的擴(kuò)展名。
訣竅5:密切關(guān)注用戶(hù)請(qǐng)求與輸入
更危險(xiǎn)的攻擊行為是提交Web應(yīng)用。因?yàn)橛脩?hù)可以繞過(guò)任何客戶(hù)端的限制(包括尺寸和類(lèi)型),所以不論攻擊行為是否發(fā)生,您都必須仔細(xì)檢查所有容易忽視的提交請(qǐng)求,包括URL查詢(xún)字符串或表單提交。尤其需要留意頁(yè)面中的Javascript過(guò)濾,這種以消息框傳遞給頁(yè)面表單的方式,可以引起嚴(yán)重的跨站腳本攻擊(XSS)。
必須仔細(xì)檢查可以用于提交的隱藏表單字段和Cookie。避免里面出現(xiàn)機(jī)密的數(shù)據(jù),并且應(yīng)該考慮加入校驗(yàn)以核實(shí)他們并沒(méi)有被篡改。要特別注意會(huì)話cookie,如果表單很容易被破解,將會(huì)引發(fā)Cookie劫持攻擊。
程序流動(dòng)是很重要的,請(qǐng)務(wù)必查看涉及的網(wǎng)址和拒絕任何順序之外的網(wǎng)頁(yè)請(qǐng)求。關(guān)于信號(hào)的問(wèn)題,您可以添加額外的、加密的cookie信息表明切入點(diǎn)和尾頁(yè)訪問(wèn)。
訣竅6:監(jiān)測(cè)與測(cè)試
如果在出現(xiàn)問(wèn)題的時(shí)候只是去檢查日志,那你做的還遠(yuǎn)遠(yuǎn)不夠。在此時(shí)研究日志已經(jīng)晚了,它只能幫您重現(xiàn)入侵過(guò)程或者幫忙修補(bǔ)漏洞。由于應(yīng)用程序的攻擊顯然是記錄在服務(wù)器的訪問(wèn)日志中,所以發(fā)現(xiàn)問(wèn)題的難度不大且速度很快。除非攻擊者有服務(wù)器級(jí)別的權(quán)限,否則他們想要掩飾他們的追蹤是很困難的。
應(yīng)用層的攻擊比網(wǎng)絡(luò)入侵更難掩飾,因此將正常的和惡意的請(qǐng)求區(qū)分開(kāi)來(lái)也是很困難的。要選出惡意的請(qǐng)求,可以從未知的用戶(hù)代理、不能解決的IP地址和同一個(gè)來(lái)源的請(qǐng)求這幾個(gè)方面入手。要注意服務(wù)器的錯(cuò)誤日志并看看404請(qǐng)求,它們并非簡(jiǎn)單的錯(cuò)誤而是未能利用或探測(cè)。
確保自己在測(cè)試網(wǎng)站的時(shí)候使用諸如NStealth(www.nstalker.com)等工具來(lái)查找和修補(bǔ)漏洞,但必須記住的是,"零日漏洞攻擊"(zero-day attack,即安全補(bǔ)丁與瑕疵曝光的同一日內(nèi),相關(guān)的惡意程序就會(huì)出現(xiàn)并對(duì)漏洞進(jìn)行攻擊)一直存在著,無(wú)法防御的攻擊也是會(huì)出現(xiàn)的.
訣竅7:做好最壞的打算
不管如何努力,也會(huì)有人對(duì)您的服務(wù)器或應(yīng)用程序虎視眈眈。您絕不能忽視這種可能性,應(yīng)該有一個(gè)針對(duì)不同威脅采取不同應(yīng)對(duì)措施的方法.威脅包括:
•服務(wù)器威脅
•網(wǎng)頁(yè)遭篡改
•Dos攻擊
•泄露敏感數(shù)據(jù)
在服務(wù)器威脅方面,想辦法使服務(wù)器回到正常狀態(tài)并設(shè)法堵塞漏洞是唯一可以做的。當(dāng)面對(duì)網(wǎng)頁(yè)遭篡改時(shí),您可以將它修改回來(lái)或者用另一個(gè)網(wǎng)頁(yè)替換。處理網(wǎng)頁(yè)篡改并不是很難,但是想要快速的偵測(cè)到網(wǎng)頁(yè)被篡改還是很困難的。一個(gè)網(wǎng)站的首頁(yè)被篡改的話當(dāng)然是很容易被發(fā)現(xiàn),但是沒(méi)有網(wǎng)頁(yè)校驗(yàn)的話,要檢測(cè)輕微的數(shù)據(jù)修改可能會(huì)有困難。如果一個(gè)公司網(wǎng)站的重要信息被入侵者修改的話,后果將會(huì)是及其的嚴(yán)重.
在網(wǎng)絡(luò)中的DoS攻擊是被人熟知的且有許多處理辦法,但是應(yīng)用層的DoS攻擊就很難處理了.區(qū)別真實(shí)流量和惡意流量是很困難的。這方面的問(wèn)題急需解決,積極監(jiān)測(cè)網(wǎng)站的流量就是重要的第一步.
泄露敏感數(shù)據(jù)(如客戶(hù)資料包括信用卡號(hào)碼)是很難被監(jiān)控的。安全軟件和設(shè)備可以監(jiān)測(cè)敏感資料并有效阻止其外泄。積極的監(jiān)測(cè)是解決數(shù)據(jù)泄露最好的辦法,因?yàn)槊舾械馁Y料可不像社保障好或者信用卡號(hào)碼那樣一目了然。
訣竅8:融合開(kāi)發(fā)人員與管理人員
網(wǎng)絡(luò)應(yīng)用安全中最大的挑戰(zhàn)是那些開(kāi)發(fā)了網(wǎng)站的人往往不是保護(hù)其安全的人。如果該網(wǎng)站的管理員并不是特別熟悉網(wǎng)站的運(yùn)作,那么想要充分保障它的安全就是很困難的。另一方面,開(kāi)發(fā)人員并不知道發(fā)生了什么類(lèi)型的攻擊。因此,無(wú)法通過(guò)寫(xiě)代碼來(lái)解決這些問(wèn)題。將這兩方面的知識(shí)融會(huì)貫通可以說(shuō)對(duì)付網(wǎng)絡(luò)應(yīng)用安全問(wèn)題的終極武器。


