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