華為WEB應(yīng)用系統(tǒng)安全規(guī)范v1.5_第1頁
華為WEB應(yīng)用系統(tǒng)安全規(guī)范v1.5_第2頁
華為WEB應(yīng)用系統(tǒng)安全規(guī)范v1.5_第3頁
華為WEB應(yīng)用系統(tǒng)安全規(guī)范v1.5_第4頁
華為WEB應(yīng)用系統(tǒng)安全規(guī)范v1.5_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

DKBA華為技術(shù)有限公司內(nèi)部技術(shù)規(guī)范DKBAWeb應(yīng)用安全開發(fā)規(guī)范HUAWEI2013年XX月XX日發(fā)布2013年XX月XX日實(shí)施華為技術(shù)有限公司HuaweiTechnologiesCo.,Ltd.版權(quán)所有侵權(quán)必究Allrightsreserved修訂聲明Revisiondeclaration本規(guī)范擬制與解釋部門:網(wǎng)絡(luò)安全能力中心&電信軟件與核心網(wǎng)網(wǎng)絡(luò)安全工程部本規(guī)范的相關(guān)系列規(guī)范或文件:《C&C++語言安全編程規(guī)范》《Java語言安全編程規(guī)范》相關(guān)國際規(guī)范或文件一致性:無替代或作廢的其它規(guī)范或文件:無相關(guān)規(guī)范或文件的相互關(guān)系:《產(chǎn)品網(wǎng)絡(luò)安全紅線》和《電信軟件與核心網(wǎng)業(yè)務(wù)部安全能力基線》中的Web安全要求引用了本規(guī)范的內(nèi)容,如果存在沖突,以本規(guī)范為準(zhǔn)。規(guī)范號(hào)主要起草部門專家主要評(píng)審部門專家修訂情況DKBA安全解決方案:趙武42873,楊光磊57125,萬振華55108軟件公司設(shè)計(jì)管理部:劉茂征11000,劉高峰63564,何偉祥33428安全解決方案:劉海軍12014,吳宇翔18167,吳海翔57182接入網(wǎng):彭東紅27279無線:胡濤46634核心網(wǎng):吳桂彬41508,甘嘉棟33229,馬進(jìn)32897,謝秀洪33194,張毅27651,張永鋒40582業(yè)軟:包宜強(qiáng)56737,丁小龍63583,董鵬越60793,傅鑒杏36918,傅用成30333,龔連陽18753,胡海,胡海華52463,李誠37517,李大鋒54630,李戰(zhàn)杰21615,劉創(chuàng)文65632,劉飛46266,劉劍51690,欒陽62227,羅仁鈞65560,羅湘武06277,馬亮,孟詠喜22499,潘海濤27360,孫林46580,王福40317,王錦亮36430,王美玲,王謨磊65558,王玉龍24387,楊娟,張鋒43381,張健,張軼57143,鄒韜51591何偉祥33428劉高峰63564,龔連陽00129383,許汝波62966,吳宇翔00120395,王歡00104062,呂曉雨56987增加了WebService、Ajax和上傳和下載相關(guān)的安全規(guī)范。何偉祥00162822

規(guī)范號(hào)主要起草部門專家主要評(píng)審部門專家修訂情況增加了防止會(huì)話固定和防止跨站請(qǐng)求偽造的安全規(guī)范。何偉祥00162822增加了“規(guī)則的實(shí)施指導(dǎo);刪除了“建議;修改了“6配套CBB介紹”的內(nèi)容和獲取方式。增加了“DWR”何偉祥00162822吳淑榮00197720魏建雄00222906謝和坤00197709李田00042091孫波00175839朱雙紅00051429王偉00207440陳偉00141500增加“規(guī)則、規(guī)則、規(guī)則、建議、PHP”增加“RESTfulWebService”修改“規(guī)則、規(guī)則、規(guī)則、規(guī)則刪除“口令策略”和“規(guī)則、規(guī)則、規(guī)則附件文檔作為對(duì)象直接插入主文檔目錄TableofContents概述錯(cuò)誤!未定義書簽。背景簡介錯(cuò)誤!未定義書簽。技術(shù)框架錯(cuò)誤!未定義書簽。使用對(duì)象錯(cuò)誤!未定義書簽。適用范圍錯(cuò)誤!未定義書簽。用詞約定錯(cuò)誤!未定義書簽。常見Web安全漏洞 錯(cuò)誤!未定義書簽。Web設(shè)計(jì)安全規(guī)范錯(cuò)誤!未定義書簽。Web部署要求錯(cuò)誤!未定義書簽。身份驗(yàn)證錯(cuò)誤!未定義書簽??诹铄e(cuò)誤!未定義書簽。認(rèn)證錯(cuò)誤!未定義書簽。驗(yàn)證碼錯(cuò)誤!未定義書簽。會(huì)話管理錯(cuò)誤!未定義書簽。權(quán)限管理錯(cuò)誤!未定義書簽。敏感數(shù)據(jù)保護(hù)錯(cuò)誤!未定義書簽。敏感數(shù)據(jù)定義錯(cuò)誤!未定義書簽。敏感數(shù)據(jù)存儲(chǔ)錯(cuò)誤!未定義書簽。敏感數(shù)據(jù)傳輸錯(cuò)誤!未定義書簽。安全審計(jì)錯(cuò)誤!未定義書簽。WebService錯(cuò)誤!未定義書簽。RESTfulWebService錯(cuò)誤!未定義書簽。DWR錯(cuò)誤!未定義書簽。Web編程安全規(guī)范錯(cuò)誤!未定義書簽。輸入校驗(yàn)錯(cuò)誤!未定義書簽。輸出編碼錯(cuò)誤!未定義書簽。上傳下載錯(cuò)誤!未定義書簽。異常處理錯(cuò)誤!未定義書簽。代碼注釋錯(cuò)誤!未定義書簽。歸檔要求錯(cuò)誤!未定義書簽。其他錯(cuò)誤!未定義書簽。PHP錯(cuò)誤!未定義書簽。Web安全配置規(guī)范錯(cuò)誤!未定義書簽。配套CBB介紹錯(cuò)誤!未定義書簽。WAFCBB錯(cuò)誤!未定義書簽。驗(yàn)證碼CBB錯(cuò)誤!未定義書簽。附件錯(cuò)誤!未定義書簽。附件1Tomcat配置SSL指導(dǎo)錯(cuò)誤!未定義書簽。附件2WebService安全接入開發(fā)指導(dǎo)錯(cuò)誤!未定義書簽。附件3客戶端IP鑒權(quán)實(shí)施指導(dǎo)錯(cuò)誤!未定義書簽。附件4口令安全要求錯(cuò)誤!未定義書簽。附件5Web權(quán)限管理設(shè)計(jì)規(guī)格說明書錯(cuò)誤!未定義書簽。

Web應(yīng)用安全開發(fā)規(guī)范概述背景簡介在Internet大眾化及Web技術(shù)飛速演變的今天,Web安全所面臨的挑戰(zhàn)日益嚴(yán)峻。黑客攻擊技術(shù)越來越成熟和大眾化,針對(duì)Web的攻擊和破壞不斷增長,Web安全風(fēng)險(xiǎn)達(dá)到了前所未有的高度。許多程序員不知道如何開發(fā)安全的應(yīng)用程序,開發(fā)出來的Web應(yīng)用存在較多的安全漏洞,這些安全漏洞一旦被黑客利用將導(dǎo)致嚴(yán)重甚至是災(zāi)難性的后果。這并非危言聳聽,類似的網(wǎng)上事故舉不勝舉,公司的Web產(chǎn)品也曾多次遭黑客攻擊,甚至有黑客利用公司W(wǎng)eb產(chǎn)品的漏洞敲詐運(yùn)營商,造成極其惡劣的影響。本規(guī)范就是提供一套完善的、系統(tǒng)化的、實(shí)用的Web安全開發(fā)方法供Web研發(fā)人員使用,以期達(dá)到提高Web安全的目的。本規(guī)范主要包括三大內(nèi)容:Web設(shè)計(jì)安全、Web編程安全、Web配置安全,配套CBB,多管齊下,實(shí)現(xiàn)Web應(yīng)用的整體安全性;本規(guī)范主要以JSP/Java編程語言為例。典型的Web安全技術(shù)框架圖1顯示了典型的Web安全的技術(shù)框架和安全技術(shù)點(diǎn),這些安全技術(shù)點(diǎn),貫穿整個(gè)Web設(shè)計(jì)開發(fā)過程。上圖各個(gè)區(qū)域中存在任何一點(diǎn)薄弱環(huán)節(jié),都容易導(dǎo)致安全漏洞。由于HTTP的開放性,Web應(yīng)用程序必須能夠通過某種形式的身份驗(yàn)證來識(shí)別用戶,并確保身份驗(yàn)證過程是安全的,同樣必須很好地保護(hù)用于跟蹤已驗(yàn)證用戶的會(huì)話處理機(jī)制。為了防止一些惡意輸入,還要對(duì)輸入的數(shù)據(jù)和參數(shù)進(jìn)行校驗(yàn)。另外還要考慮Web系統(tǒng)的安全配置,敏感數(shù)據(jù)的保護(hù)和用戶的權(quán)限管理,以及所有操作的安全審計(jì)。當(dāng)然還要考慮代碼安全,以及其他方面的威脅。表1列出了一些Web缺陷類別,并針對(duì)每類缺陷列出了由于設(shè)計(jì)不當(dāng)可能會(huì)導(dǎo)致的潛在問題。針對(duì)這些潛在的問題,本規(guī)范中有相應(yīng)的解決措施。Web應(yīng)用程序缺陷和由于不良設(shè)計(jì)可能導(dǎo)致的問題缺陷類別由于不良設(shè)計(jì)可能導(dǎo)致的問題身份驗(yàn)證身份偽造、口令破解、權(quán)限提升和未授權(quán)訪問。缺陷類別由于不良設(shè)計(jì)可能導(dǎo)致的問題身份驗(yàn)證身份偽造、口令破解、權(quán)限提升和未授權(quán)訪問。會(huì)話管理通過捕獲導(dǎo)致會(huì)話劫持和會(huì)話偽造。權(quán)限管理訪問機(jī)密或受限數(shù)據(jù)、篡改和執(zhí)行未授權(quán)操作。配置管理未授權(quán)訪問管理界面、更新配置數(shù)據(jù)、訪問用戶帳戶和帳戶配置文件。敏感數(shù)據(jù)機(jī)密信息泄漏和數(shù)據(jù)篡改。加密技術(shù)未授權(quán)訪問機(jī)密數(shù)據(jù)或帳戶信息。安全審計(jì)未能識(shí)別入侵征兆、無法證明用戶的操作,以及在問題診斷中存在困難。輸入檢驗(yàn)通過嵌入查詢字符串、窗體字段、Cookie和HTTP標(biāo)頭中的惡意字符串所執(zhí)行的攻擊。包括命令執(zhí)行、跨站點(diǎn)腳本編寫(XSS)、SQL注入和緩沖區(qū)溢出攻山-等。參數(shù)操作路徑遍歷攻擊、命令執(zhí)行、此外還有跳過訪問控制機(jī)制、導(dǎo)致信息泄露、權(quán)限提升和拒絕服務(wù)。異常管理拒絕服務(wù)和敏感的系統(tǒng)級(jí)詳細(xì)信息泄露。使用對(duì)象本規(guī)范的讀者及使用對(duì)象主要為Web相關(guān)的需求分析人員、設(shè)計(jì)人員、開發(fā)人員、測試人員等。適用范圍本規(guī)范的制定考慮了公司各種Web應(yīng)用開發(fā)的共性,適合于公司絕大部分Web產(chǎn)品,要求Web產(chǎn)品開發(fā)必須遵循。對(duì)于嵌入式系統(tǒng)(如ADSLModem、硬件防火墻)中的Web應(yīng)用,由于其特殊性(CPU、內(nèi)存、磁盤容量有限,沒有成熟的Web容器),不強(qiáng)制遵循本規(guī)范的所有內(nèi)容,只需遵循以下章節(jié)的規(guī)則要求:身份驗(yàn)證會(huì)話管理敏感數(shù)據(jù)保護(hù)輸入校驗(yàn)輸出編碼上傳下載代碼注釋歸檔要求用詞約定規(guī)則:強(qiáng)制必須遵守的原則建議:需要加以考慮的原則說明:對(duì)此規(guī)則或建議進(jìn)行相應(yīng)的解釋實(shí)施指導(dǎo):對(duì)此規(guī)則或建議的實(shí)施進(jìn)行相應(yīng)的指導(dǎo)常見Web安全漏洞Web應(yīng)用的安全漏洞有很多,無法窮舉。針對(duì)眾多的Web漏洞,OWASP的專家們結(jié)合各自在各領(lǐng)域的應(yīng)用安全工作經(jīng)驗(yàn)及智慧,提出了十大Web應(yīng)用程序安全漏洞,幫助人們關(guān)注最嚴(yán)重的漏洞。(OWASP即開放Web應(yīng)用安全項(xiàng)目,是一個(gè)旨在幫助人們理解和提高Web應(yīng)用及服務(wù)安全性的項(xiàng)目組織。)卜大Web應(yīng)用程序安全漏洞列表序號(hào)漏洞名稱漏洞描述1注入注入攻擊漏洞,例如SQL、OS命令以及LDAP注入。這些攻擊發(fā)生在當(dāng)不可信的數(shù)據(jù)作為命令或者查詢語句的一部分,被發(fā)送給解釋器的時(shí)候。攻擊者發(fā)送的惡意數(shù)據(jù)可以欺騙解釋器,以執(zhí)行計(jì)劃外的命令或者訪問未被授權(quán)的數(shù)據(jù)。2跨站腳本當(dāng)應(yīng)用程序收到含有不可信的數(shù)據(jù),在沒有進(jìn)行適當(dāng)?shù)尿?yàn)證和轉(zhuǎn)義的情況下,

就將它發(fā)送給一個(gè)網(wǎng)頁瀏覽器,這就會(huì)產(chǎn)生跨站腳本攻擊(簡稱XSS)。XSS允許攻擊者在受害者的瀏覽器上執(zhí)行腳本,從而劫持用戶會(huì)話、危害網(wǎng)站、或者將用戶轉(zhuǎn)向至惡意網(wǎng)站。3失效的身份認(rèn)證和會(huì)話管理與身份認(rèn)證和會(huì)話管理相關(guān)的應(yīng)用程序功能往往得不到正確的實(shí)現(xiàn),這就導(dǎo)致了攻擊者破壞密碼、密匙、會(huì)話令牌或攻擊其他的漏洞去冒充其他用戶的身份。4不安全的直接對(duì)象引用當(dāng)開發(fā)人員暴露一個(gè)對(duì)內(nèi)部實(shí)現(xiàn)對(duì)象的引用時(shí),例如,一個(gè)文件、目錄或者數(shù)據(jù)庫密匙,就會(huì)產(chǎn)生一個(gè)不安全的直接對(duì)象引用。在沒有訪問控制檢測或其他保護(hù)時(shí),攻擊者會(huì)操控這些引用去訪問未授權(quán)數(shù)據(jù)。5跨站請(qǐng)求偽造一個(gè)跨站請(qǐng)求偽造攻擊迫使登錄用戶的瀏覽器將偽造的HTTP請(qǐng)求,包括該用戶的會(huì)話cookie和其他認(rèn)證信息,發(fā)送到一個(gè)存在漏洞的Web應(yīng)用程序。這就允許了攻擊者迫使用戶瀏覽器向存在漏洞的應(yīng)用程序發(fā)送請(qǐng)求,而這些請(qǐng)求會(huì)被應(yīng)用程序認(rèn)為是用戶的合法請(qǐng)求。6安全配置錯(cuò)誤好的安全需要對(duì)應(yīng)用程序、框架、應(yīng)用程序服務(wù)器、Web服務(wù)器、數(shù)據(jù)庫服務(wù)器和平臺(tái),定義和執(zhí)行安全配置。由于許多設(shè)置的默認(rèn)值并不是安全的,因此,必須定義、實(shí)施和維護(hù)所有這些設(shè)置。這包括了對(duì)所有的軟件保護(hù)及時(shí)地更新,包括所有應(yīng)用程序的庫文件。7失敗的URL訪問權(quán)限限制許多Web應(yīng)用程序在顯示受保護(hù)的鏈接和按鈕之前會(huì)檢測URL訪問權(quán)限。但是,當(dāng)這些頁面被訪問時(shí),應(yīng)用程序也需要執(zhí)行類似的訪問控制檢測,否則攻擊者將可以偽裝這些URL去訪問隱藏的網(wǎng)頁。8未經(jīng)驗(yàn)證的重定向和前轉(zhuǎn)Web應(yīng)用程序經(jīng)常將用戶重定向和前轉(zhuǎn)到其他網(wǎng)頁和網(wǎng)站,并且利用不可信的數(shù)據(jù)去判定目的頁面。如果沒有得到適當(dāng)驗(yàn)證,攻擊者可以將受害用戶重定向到釣魚網(wǎng)站或惡意網(wǎng)站,或者使用前轉(zhuǎn)去訪問未經(jīng)授權(quán)的網(wǎng)頁。9不安全的加密存儲(chǔ)許多Web應(yīng)用程序并沒有使用恰當(dāng)?shù)募用艽胧┗騂ash算法保護(hù)敏感數(shù)據(jù),比如信用卡、社會(huì)安全號(hào)碼(SSN)、認(rèn)證憑據(jù)等。攻擊者可能利用這種弱保護(hù)數(shù)據(jù)實(shí)行身份盜竊、信用卡欺騙或或其他犯罪。10傳輸層保護(hù)不足應(yīng)用程序時(shí)常沒有身份認(rèn)證、加密措施,甚至沒有保護(hù)敏感網(wǎng)絡(luò)數(shù)據(jù)的保密性和完整性。而當(dāng)進(jìn)行保護(hù)時(shí),應(yīng)用程序有時(shí)采用弱算法、使用過期或無效的證書,或不正確地使用這些技術(shù)。Web設(shè)計(jì)安全規(guī)范Web部署要求規(guī)則3.1.1:如果Web應(yīng)用對(duì)Internet開放,Web服務(wù)器應(yīng)當(dāng)置于DMZ區(qū),在Web服務(wù)器與Internet之間,Web服務(wù)器與內(nèi)網(wǎng)之間應(yīng)當(dāng)有防火墻隔離,并設(shè)置合理的策略。規(guī)則3.1.2:如果Web應(yīng)用對(duì)Internet開放,Web服務(wù)器應(yīng)該部署在其專用的服務(wù)器上,應(yīng)避免將數(shù)據(jù)庫服務(wù)器或其他核心應(yīng)用與Web服務(wù)器部署在同一臺(tái)主機(jī)上。說明:Web服務(wù)器比較容易被攻擊,如果數(shù)據(jù)庫或核心應(yīng)用與Web服務(wù)器部署在同一臺(tái)主機(jī),一旦Web服務(wù)器被攻陷,那么數(shù)據(jù)庫和核心應(yīng)用也就被攻擊者掌控了。規(guī)則:Web站點(diǎn)的根目錄必須安裝在非系統(tǒng)卷中。說明:Web站點(diǎn)根目錄安裝在非系統(tǒng)卷,如單獨(dú)創(chuàng)建一個(gè)目錄/home/Web作為Web站點(diǎn)根目錄,能夠防止攻擊者使用目錄遍歷攻擊訪問系統(tǒng)工具和可執(zhí)行文件。建議3.1.1:Web服務(wù)器與應(yīng)用服務(wù)器需物理分離(即安裝在不同的主機(jī)上),以提高應(yīng)用的安全性。建議3.1.2:如果Web應(yīng)用系統(tǒng)存在不同的訪問等級(jí)(如個(gè)人帳號(hào)使用、客戶服務(wù)、管理),那么應(yīng)該通過不同的Web服務(wù)器來處理來自不同訪問等級(jí)的請(qǐng)求,而且Web應(yīng)用應(yīng)該鑒別請(qǐng)求是否來自正確的Web服務(wù)器。說明:這樣便于通過防火墻的訪問控制策略和Web應(yīng)用來控制不同訪問等級(jí)的訪問,比如通過防火墻策略控制,只允許內(nèi)網(wǎng)訪問管理Portal。建議3.1.3:對(duì)于“客戶服務(wù)”和“管理”類的訪問,除了普通的認(rèn)證,還應(yīng)該增加額外的訪問限制。說明:額外的訪問限制,可以限制請(qǐng)求來自企業(yè)內(nèi)網(wǎng),可以建立VPN,或采用雙向認(rèn)證的SSL;或采用更簡單的辦法,通過IP地址白名單對(duì)客戶端的IP地址進(jìn)行過濾判斷,實(shí)施參考《附件3客戶端IP鑒權(quán)實(shí)施指導(dǎo)》。身份驗(yàn)證口令關(guān)于Web應(yīng)用及容器涉及到的口令,請(qǐng)遵循《產(chǎn)品網(wǎng)絡(luò)安全紅線》的口令安全要求(詳細(xì)內(nèi)容請(qǐng)見:附件4口令安全要求x/sx)。認(rèn)證規(guī)則:對(duì)用戶的最終認(rèn)證處理過程必須放到應(yīng)用服務(wù)器進(jìn)行。說明:不允許僅僅通過腳本或其他形式在客戶端進(jìn)行驗(yàn)證,必須在應(yīng)用服務(wù)器進(jìn)行最終認(rèn)證處理(如果采用集中認(rèn)證,那么對(duì)用戶的最終認(rèn)證就是放在集中認(rèn)證服務(wù)器進(jìn)行)。規(guī)則:網(wǎng)頁上的登錄/認(rèn)證表單必須加入驗(yàn)證碼。說明:使用驗(yàn)證碼的目的是為了阻止攻擊者使用自動(dòng)登錄工具連續(xù)嘗試登錄,從而降低被暴力破解的可能。如果覺得驗(yàn)證碼影響用戶體驗(yàn),那么可以在前3次登錄嘗試中不使用驗(yàn)證碼,3次登錄失敗后必須使用驗(yàn)證碼。驗(yàn)證碼在設(shè)計(jì)上必須要考慮到一些安全因素,以免能被輕易地破解。具體實(shí)現(xiàn)細(xì)節(jié)請(qǐng)查看錯(cuò)誤!未找到引用源。錯(cuò)誤!未找到引用源。。如圖:驗(yàn)證碼實(shí)施指導(dǎo):建議使用電信軟件與核心網(wǎng)網(wǎng)絡(luò)安全工程部提供的驗(yàn)證碼CBB。備注:對(duì)于嵌入式系統(tǒng),如果實(shí)現(xiàn)驗(yàn)證碼比較困難,可以通過多次認(rèn)證失敗鎖定客戶端IP的方式來防止暴力破解。規(guī)則:用戶名、密碼和驗(yàn)證碼必須在同一個(gè)請(qǐng)求中提交給服務(wù)器,必須先判斷驗(yàn)證碼是否正確,只有當(dāng)驗(yàn)證碼檢驗(yàn)通過后才進(jìn)行用戶名和密碼的檢驗(yàn),否則直接提示驗(yàn)證碼錯(cuò)誤。說明:如果驗(yàn)證碼和用戶名、密碼分開提交,攻擊者就可以繞過驗(yàn)證碼校驗(yàn)(如:先手工提交正確的驗(yàn)證碼,再通過程序暴力破解),驗(yàn)證碼就形同虛設(shè),攻擊者依然可以暴力破解用戶名及口令。規(guī)則:所有登錄頁面的認(rèn)證處理模塊必須統(tǒng)一。說明:可以存在多個(gè)登錄頁面,但是不允許存在多個(gè)可用于處理登錄認(rèn)證請(qǐng)求的模塊,防止不一致的認(rèn)證方式。規(guī)則:所有針對(duì)其他第三方開放接口的認(rèn)證處理模塊必須統(tǒng)一。規(guī)則:認(rèn)證處理模塊必須對(duì)提交的參數(shù)進(jìn)行合法性檢查。說明:具體輸入校驗(yàn)部分請(qǐng)查看輸入校驗(yàn)。規(guī)則:認(rèn)證失敗后,不能提示給用戶詳細(xì)以及明確的錯(cuò)誤原因,只能給出一般性的提示。說明:可以提示:“用戶名或者口令錯(cuò)誤,登錄失敗”;不能提示:“用戶名不存在”、“口令必須是6位”等等。規(guī)則:最終用戶portal和管理portal分離。說明:最終用戶portal和管理portal分離,防止相互影響,防止來自用戶面的攻擊影響管理面。實(shí)施指導(dǎo):將最終用戶portal和管理portal分別部署在不同的物理服務(wù)器;如果為了解決成本合設(shè)(部署在同一臺(tái)物理服務(wù)器上),那么,必須做到端口分離(通過不同的端口提供Web服務(wù)),一般的Web容器(如tomcat)支持為不同的Web應(yīng)用創(chuàng)建不同的端口。規(guī)則:禁止在系統(tǒng)中預(yù)留任何的后門帳號(hào)或特殊的訪問機(jī)制。規(guī)則0:對(duì)于重要的管理事務(wù)或重要的交易事務(wù)要進(jìn)行重新認(rèn)證,以防范會(huì)話劫持和跨站請(qǐng)求偽造給用戶帶來損失。說明:重要的管理事務(wù),比如重新啟動(dòng)業(yè)務(wù)模塊;重要的交易事務(wù),比如轉(zhuǎn)賬、余額轉(zhuǎn)移、充值等。重新認(rèn)證,比如讓用戶重新輸入口令。規(guī)則1:用戶名和密碼認(rèn)證通過后,必須更換會(huì)話標(biāo)識(shí),以防止會(huì)話固定(sessionfixation)漏洞。實(shí)施指導(dǎo):場景一:對(duì)于從HTTP轉(zhuǎn)到HTTPS再轉(zhuǎn)到HTTP(也就是僅在認(rèn)證過程采用HTTPS,認(rèn)證成功后又轉(zhuǎn)到HTTP)的,在用戶名和密碼認(rèn)證通過后增加以下行代碼:().invalidate();HttpSessionnewSession=(true);Cookiecookie=newCookie("JSESSIONID",());(-1);(false);());(cookie);場景二:對(duì)于全程采用HTTPS協(xié)議,或者全程采用HTTP協(xié)議的,在用戶名和密碼認(rèn)證通過后增加以下行代碼:().invalidate();(true);建議:管理頁面建議實(shí)施強(qiáng)身份認(rèn)證。說明:如雙因素認(rèn)證、SSL雙向證書認(rèn)證、生物認(rèn)證等;還可以通過應(yīng)用程序限制只允許某些特定的IP地址訪問管理頁面,并且這些特定的IP地址可配置。建議:同一客戶端在多次連續(xù)嘗試登錄失敗后,服務(wù)端需要進(jìn)行用戶帳號(hào)或者是客戶端所在機(jī)器的IP地址的鎖定策略,且該鎖定策略必須設(shè)置解鎖時(shí)長,超時(shí)后自動(dòng)解鎖。說明:登錄失敗應(yīng)該提示用戶:如果重試多少次不成功系統(tǒng)將會(huì)鎖定。在鎖定期間不允許該用戶帳號(hào)(或者客戶端所在機(jī)器的IP地址)登錄。允許連續(xù)失敗的次數(shù)(指從最后一次成功以來失敗次數(shù)的累計(jì)值)可配置,取值范圍為:0-99次,0表示不執(zhí)行鎖定策略,建議默認(rèn):5次。鎖定時(shí)長的取值范圍為:0-999分鐘,建議默認(rèn):30分鐘,當(dāng)取值為0時(shí),表示無限期鎖定,只能通過管理員手動(dòng)解鎖(需要提供管理員對(duì)服務(wù)器鎖定其它用戶帳號(hào)/IP進(jìn)行解鎖的功能界面)。建議優(yōu)先使用帳號(hào)鎖定策略。注意:應(yīng)用程序的超級(jí)用戶帳號(hào)不能被鎖定,只能鎖定操作的客戶端所在的IP,這是為了防止系統(tǒng)不可用。特別說明:鎖客戶端IP策略存在缺陷,當(dāng)用戶使用proxy上網(wǎng)時(shí),那么鎖定客戶端IP會(huì)導(dǎo)致使用該proxy上網(wǎng)的所有用戶在IP鎖定期間都不能使用該Web應(yīng)用;鎖定用戶帳戶的策略也存在缺陷,當(dāng)攻擊者不斷嘗試某帳戶的口令,就給該帳戶帶來拒絕服務(wù)攻擊,使該帳戶不可用。驗(yàn)證碼規(guī)則:驗(yàn)證碼必須是單一圖片,且只能采用JPEG、PNG或GIF格式。說明:驗(yàn)證碼不能使用文本格式,不允許多圖片組合(如用四個(gè)圖片拼成的驗(yàn)證碼)。規(guī)則:驗(yàn)證碼內(nèi)容不能與客戶端提交的任何信息相關(guān)聯(lián)。說明:在使用驗(yàn)證碼生成模塊時(shí)不允許接收來自客戶端的任何參數(shù),例如:禁止通過code=1234的URL請(qǐng)求,將1234作為驗(yàn)證碼隨機(jī)數(shù)。規(guī)則:驗(yàn)證碼模塊生成的隨機(jī)數(shù)不能在客戶端的靜態(tài)頁面中的網(wǎng)頁源代碼里出現(xiàn)。說明:在客戶端網(wǎng)頁上點(diǎn)擊鼠標(biāo)右鍵、選擇“查看源文件”時(shí),必須看不到驗(yàn)證碼模塊生成的隨機(jī)數(shù)。規(guī)則:驗(yàn)證碼字符串要求是隨機(jī)生成,生成的隨機(jī)數(shù)必須是安全的。說明:對(duì)于java語言可以使用類來生成安全的隨機(jī)數(shù)。規(guī)則:驗(yàn)證碼要求有背景干擾,背景干擾元素的顏色、位置、數(shù)量要求隨機(jī)變化。規(guī)則:驗(yàn)證碼在一次使用后要求立即失效,新的請(qǐng)求需要重新生成驗(yàn)證碼。說明:進(jìn)行驗(yàn)證碼校驗(yàn)后,立即將會(huì)話中的驗(yàn)證碼信息清空,而不是等到生成新的驗(yàn)證碼時(shí)再去覆蓋舊的驗(yàn)證碼,防止驗(yàn)證碼多次有效;注意:當(dāng)客戶端提交的驗(yàn)證碼為空,驗(yàn)證不通過。說明:以上規(guī)則可以通過使用電信軟件與核心網(wǎng)網(wǎng)絡(luò)安全工程部提供的驗(yàn)證碼CBB來實(shí)現(xiàn)。會(huì)話管理規(guī)則3.3.1:使用會(huì)話cookie維持會(huì)話。說明:目前主流的Web容器通過以下幾種方式維持會(huì)話:隱藏域、URL重寫、持久性cookie、會(huì)話cookie,但通過隱藏域、URL重寫或持久性cookie方式維持的會(huì)話容易被竊取,所以要求使用會(huì)話cookie維持會(huì)話。如果條件限制必須通過持久性cookie維持會(huì)話的話,那么cookie信息中的重要數(shù)據(jù)部分如身份信息、計(jì)費(fèi)信息等都必須進(jìn)行加密。(cookie有兩種:會(huì)話cookie和持久性cookie;會(huì)話cookie,也就是非持久性cookie,不設(shè)置過期時(shí)間,其生命期為瀏覽器會(huì)話期間,只要關(guān)閉瀏覽器窗口,cookie就消失了;會(huì)話cookie一般不存儲(chǔ)在硬盤上而是保存在內(nèi)存里。持久性cookie,設(shè)置了過期時(shí)間,被瀏覽器保存到硬盤上,關(guān)閉后再次打開瀏覽器,持久性cookie仍然有效直到超過設(shè)定的過期時(shí)間。)備注:對(duì)于嵌入式系統(tǒng)的Web,不適合本條規(guī)則,按“規(guī)則實(shí)施。規(guī)則3.3.2:會(huì)話過程中不允許修改的信息,必須作為會(huì)話狀態(tài)的一部分在服務(wù)器端存儲(chǔ)和維護(hù)。說明:會(huì)話過程中不允許修改的信息,例如,當(dāng)用戶通過認(rèn)證后,其用戶標(biāo)識(shí)在整個(gè)會(huì)話過程中不能被篡改。禁止通過隱藏域或URL重寫等不安全的方式存儲(chǔ)和維護(hù)。對(duì)JSP語言,就是應(yīng)該通過session對(duì)象進(jìn)行存儲(chǔ)和維護(hù)。規(guī)則3.3.3:當(dāng)Web應(yīng)用跟蹤到非法會(huì)話,則必須記錄日志、清除會(huì)話并返回到認(rèn)證界面。說明:非法會(huì)話的概念就是通過一系列的服務(wù)端合法性檢測(包括訪問未授權(quán)資源,缺少必要參數(shù)等情況),最終發(fā)現(xiàn)的不是正常請(qǐng)求產(chǎn)生的會(huì)話。規(guī)則3.3.4:禁止使用客戶端提交的未經(jīng)審核的信息來給會(huì)話信息賦值。說明:防止會(huì)話信息被篡改,如惡意用戶通過URL篡改手機(jī)號(hào)碼等。規(guī)則3.3.5:當(dāng)用戶退出時(shí),必須清除該用戶的會(huì)話信息。說明:防止遺留在內(nèi)存中的會(huì)話信息被竊取,減少內(nèi)存占用。實(shí)施指導(dǎo):對(duì)于JSP或java語言使用如下語句:().invalidate();規(guī)則3.3.6:必須設(shè)置會(huì)話超時(shí)機(jī)制,在超時(shí)過后必須要清除該會(huì)話信息。說明:建議默認(rèn)會(huì)話超時(shí)時(shí)間為10分鐘(備注:對(duì)于嵌入式系統(tǒng)中的Web,建議默認(rèn)超時(shí)時(shí)間為5分鐘,以減少系統(tǒng)資源占用)。如果沒有特殊需求,禁止使用自動(dòng)發(fā)起請(qǐng)求的機(jī)制來阻止session超時(shí)。規(guī)則3.3.7:在服務(wù)器端對(duì)業(yè)務(wù)流程進(jìn)行必要的流程安全控制,保證流程銜接正確,防止關(guān)鍵鑒別步驟被繞過、重復(fù)、亂序。說明:客戶端流程控制很容易被旁路(繞過),因此流程控制必須在服務(wù)器端實(shí)現(xiàn)。實(shí)施指導(dǎo):可以通過在session對(duì)象中創(chuàng)建一個(gè)表示流程當(dāng)前狀態(tài)的標(biāo)識(shí)位,用0、1、2、3、…、N分別表示不同的處理步驟,標(biāo)識(shí)位的初始值為0,當(dāng)接收到步驟N的處理請(qǐng)求時(shí),判斷該標(biāo)識(shí)位是否為N-1,如果不為N-1,則表示步驟被繞過(或重復(fù)或亂序),拒絕受理,否則受理,受理完成后更改標(biāo)識(shí)位為No規(guī)則3.3.8:所有登錄后才能訪問的頁面都必須有明顯的“注銷(或退出)”的按鈕或菜單,如果該按鈕或菜單被點(diǎn)擊,則必須使對(duì)應(yīng)的會(huì)話立即失效。說明:這樣做是為了讓用戶能夠方便地、安全地注銷或退出,減小會(huì)話劫持的風(fēng)險(xiǎn)。規(guī)則:如果產(chǎn)品(如嵌入式系統(tǒng))無法使用通用的Web容器,只能自己實(shí)現(xiàn)Web服務(wù),那么必須自己實(shí)現(xiàn)會(huì)話管理,并滿足以下要求:采用會(huì)話cookie維持會(huì)話。生成會(huì)話標(biāo)識(shí)(sessionID)要保證足夠的隨機(jī)、離散,以便不能被猜測、枚舉,要求sessionID要至少要32字節(jié),要支持字母和數(shù)字字符集。服務(wù)端必須對(duì)客戶端提交的sessionID的有效性進(jìn)行校驗(yàn)。說明:在嵌入式系統(tǒng)中部署Web應(yīng)用,由于軟硬件資源所限,往往無法使用通用的Web容器及容器的會(huì)話管理功能,只能自己實(shí)現(xiàn)。另外,為了節(jié)省內(nèi)存,嵌入式webserver進(jìn)程往往是動(dòng)態(tài)啟動(dòng),為了使session更快的超時(shí),建議增加心跳機(jī)制,對(duì)客戶端瀏覽器是否關(guān)閉進(jìn)行探測,5s一個(gè)心跳,30s沒有心跳則session超時(shí),關(guān)閉該sessiono權(quán)限管理規(guī)則3.4.1:對(duì)于每一個(gè)需要授權(quán)訪問的頁面或servlet的請(qǐng)求都必須核實(shí)用戶的會(huì)話標(biāo)識(shí)是否合法、用戶是否被授權(quán)執(zhí)行這個(gè)操作。說明:防止用戶通過直接輸入U(xiǎn)RL,越權(quán)請(qǐng)求并執(zhí)行一些頁面或servlet;建議通過過濾器實(shí)現(xiàn)。實(shí)施指導(dǎo):請(qǐng)參考“附件5Web權(quán)限管理設(shè)計(jì)規(guī)格說明茄。ex”o規(guī)則3.4.2:授權(quán)和用戶角色數(shù)據(jù)必須存放在服務(wù)器端,不能存放在客戶端,鑒權(quán)處理也必須在服務(wù)器端完成。說明:禁止將授權(quán)和角色數(shù)據(jù)存放在客戶端中(比如cookie或隱藏域中),以防止被篡改。規(guī)則3.4.3:一個(gè)帳號(hào)只能擁有必需的角色和必需的權(quán)限。一個(gè)組只能擁有必需的角色和必需的權(quán)限。一個(gè)角色只能擁有必需的權(quán)限。說明:做到權(quán)限最小化和職責(zé)分離(職責(zé)分離就是分清帳號(hào)角色,系統(tǒng)管理帳號(hào)只用于系統(tǒng)管理,審計(jì)帳號(hào)只用于審計(jì),操作員帳號(hào)只用于業(yè)務(wù)維護(hù)操作,普通用戶帳號(hào)只能使用業(yè)務(wù)。)這樣即使帳號(hào)被攻擊者盜取,也能把安全損失控制在最小的限度。規(guī)則3.4.4:對(duì)于運(yùn)行應(yīng)用程序的操作系統(tǒng)帳號(hào),不應(yīng)使用“root”、“administrator"、“supervisor”等特權(quán)帳號(hào)或高級(jí)別權(quán)限帳號(hào),應(yīng)該盡可能地使用低級(jí)別權(quán)限的操作系統(tǒng)帳號(hào)。規(guī)則3.4.5:對(duì)于應(yīng)用程序連接數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫帳號(hào),在滿足業(yè)務(wù)需求的前提下,必須使用最低級(jí)別權(quán)限的數(shù)據(jù)庫帳號(hào)。說明:根據(jù)業(yè)務(wù)系統(tǒng)要求,創(chuàng)建相應(yīng)的數(shù)據(jù)庫帳號(hào),并授予必需的數(shù)據(jù)庫權(quán)限。不能使用“sa”、“sysman”等管理帳號(hào)或高級(jí)別權(quán)限帳號(hào)。敏感數(shù)據(jù)保護(hù)敏感數(shù)據(jù)定義敏感數(shù)據(jù)包括但不限于:口令、密鑰、證書、會(huì)話標(biāo)識(shí)、License、隱私數(shù)據(jù)(如短消息的內(nèi)容)、授權(quán)憑據(jù)、個(gè)人數(shù)據(jù)(如姓名、住址、電話等)等,在程序文件、配置文件、日志文件、備份文件及數(shù)據(jù)庫中都有可能包含敏感數(shù)據(jù)。敏感數(shù)據(jù)存儲(chǔ)規(guī)則:禁止在代碼中存儲(chǔ)敏感數(shù)據(jù)。說明:禁止在代碼中存儲(chǔ)如數(shù)據(jù)庫連接字符串、口令和密鑰之類的敏感數(shù)據(jù),這樣容易導(dǎo)致泄密。用于加密密鑰的密鑰可以硬編碼在代碼中。規(guī)則:禁止密鑰或帳號(hào)的口令以明文形式存儲(chǔ)在數(shù)據(jù)庫或者文件中。說明:密鑰或帳號(hào)的口令必須經(jīng)過加密存儲(chǔ)。例外情況,如果Web容器的配置文件中只能以明文方式配置連接數(shù)據(jù)庫的用戶名和口令,那么就不用強(qiáng)制遵循該規(guī)則,將該配置文件的屬性改為只有屬主可讀寫。規(guī)則:禁止在cookie中以明文形式存儲(chǔ)敏感數(shù)據(jù)。說明:cookie信息容易被竊取,盡量不要在cookie中存儲(chǔ)敏感數(shù)據(jù);如果條件限制必須使用cookie存儲(chǔ)敏感信息時(shí),必須先對(duì)敏感信息加密再存儲(chǔ)到cookie。規(guī)則:禁止在隱藏域中存放明文形式的敏感數(shù)據(jù)。規(guī)則:禁止用自己開發(fā)的加密算法,必須使用公開、安全的標(biāo)準(zhǔn)加密算法。實(shí)施指導(dǎo):場景1:后臺(tái)服務(wù)端保存數(shù)據(jù)庫的登錄口令后臺(tái)服務(wù)器登錄數(shù)據(jù)庫需要使用登錄數(shù)據(jù)庫的明文口令,此時(shí)后臺(tái)服務(wù)器加密保存該口令后,下次登錄時(shí)需要還原成明文,因此,在這種情況下,不可用不可逆的加密算法,而需要使用對(duì)稱加密算法或者非對(duì)稱加密算法,一般也不建議采用非對(duì)稱加密算法。推薦的對(duì)稱加密算法:AES128、AES192、AES256。場景2:后臺(tái)服務(wù)端保存用戶的登錄口令在該場景下,一般情況是:客戶端提交用戶名及用戶口令,后臺(tái)服務(wù)端對(duì)用戶名及用戶口令進(jìn)行驗(yàn)證,然后返回驗(yàn)證的結(jié)果。此時(shí),在后臺(tái)服務(wù)端,用戶口令可以不需要還原,因此建議使用不可逆的加密算法,對(duì)“用戶名+口令”字符串進(jìn)行加密。推薦的不可逆加密算法:SHA256、SHA384、SHA512,HMAC-SHA256、HMAC-SHA384、HMAC-SHA512。規(guī)則:禁止在日志中記錄明文的敏感數(shù)據(jù)。說明:禁止在日志中記錄明文的敏感數(shù)據(jù)(如口令、會(huì)話標(biāo)識(shí)jsessionid等),防止敏感信息泄漏。規(guī)則:禁止帶有敏感數(shù)據(jù)的Web頁面緩存。說明:帶有敏感數(shù)據(jù)的Web頁面都應(yīng)該禁止緩存,以防止敏感信息泄漏或通過代理服務(wù)器上網(wǎng)的用戶數(shù)據(jù)互竄問題。實(shí)施指導(dǎo):在HTML頁面的<HEAD>標(biāo)簽內(nèi)加入如下代碼:<HEAD><METAHTTP-EQUIV="Expires"CONTENT="0"><METAHTTP-EQUIV="Pragma"CONTENT="no-cache"><METAHTTP-EQUIV="Cache-control"CONTENT="no-cache"><METAHTTP-EQUIV="Cache"CONTENT="no-cache"></HEAD>在JSP頁面的最前面加入如下代碼:<%("Cache-Control","no-cache");("Pragma","no-cache");("Expires",。);%>注意:以上代碼對(duì)于采用強(qiáng)制緩存策略的代理服務(wù)器不生效(代理服務(wù)器默認(rèn)是不緩存的),要防止代理服務(wù)器緩存頁面,可以在鏈接后加入一個(gè)隨機(jī)數(shù)pageid,此時(shí)鏈接變成:,其中2245562數(shù)字是隨機(jī)生成的,每次請(qǐng)求此頁面時(shí),隨機(jī)數(shù)都不同,IE始終認(rèn)為此為一個(gè)新請(qǐng)求,并重新解析,生成新的響應(yīng)頁面。敏感數(shù)據(jù)傳輸規(guī)則:帶有敏感數(shù)據(jù)的表單必須使用HTTP-POST方法提交。說明:禁止使用HTTP-GET方法提交帶有敏感數(shù)據(jù)的表單(form),因?yàn)樵摲椒ㄊ褂貌樵冏址畟鬟f表單數(shù)據(jù),易被查看、篡改。如果是使用servlet處理提交的表單數(shù)據(jù),那么不在doGet方法中處理,只在doPost方法處理。實(shí)施指導(dǎo):.對(duì)于JSP頁面,將表單的屬性method賦值為"post",如下<formname="form1"method="post"action="">.如果是使用servlet處理提交的表單數(shù)據(jù),那么只在doPost方法中處理,參考代碼如下publicclassValidationServletextendsHttpServlet{publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{3.5.3:在客戶端和服務(wù)器間傳遞明文的敏感數(shù)據(jù)時(shí),必須使用帶服務(wù)器端證書的SSL。說明:如果在客戶端和服務(wù)器間傳遞如帳號(hào)、口令等明文的敏感數(shù)據(jù),必須使用帶服務(wù)器端證書的SSL。由于SSL對(duì)服務(wù)端的CPU資源消耗很大,實(shí)施時(shí)必須考慮服務(wù)器的承受能力。實(shí)施指導(dǎo):SSL的配置請(qǐng)參考《附件1Tomcat配置SSL指導(dǎo)》。Web應(yīng)用中,從https切換到http過程中會(huì)丟失session,無法保持會(huì)話的連續(xù)。解決的辦法就是用http-https-http過程代替https-http過程,保證會(huì)話的連續(xù)性。原因:當(dāng)https請(qǐng)求轉(zhuǎn)為http請(qǐng)求的時(shí)候,因?yàn)樵鹊膕ession的secure屬性值是true,無法再http協(xié)議中傳輸,因此,系統(tǒng)生成新的session,且新的session沒有繼承舊session的屬性和值,因此,無法保持會(huì)話連續(xù)。而http-https-http這個(gè)過程,session始終不變,因此,可以保持會(huì)話連續(xù)。規(guī)則:禁止在URL中攜帶會(huì)話標(biāo)識(shí)(如jsessionid)。說明:由于瀏覽器會(huì)保存URL歷史記錄,如果URL中攜帶會(huì)話標(biāo)識(shí),則在多人共用的PC上會(huì)話標(biāo)識(shí)容易被其他人看到,一旦該會(huì)話標(biāo)識(shí)還在其生命有效期,則惡意用戶可以冒充受害用戶訪問Web應(yīng)用系統(tǒng)。規(guī)則:禁止將對(duì)用戶保密的信息傳送到客戶端。說明:這些信息一旦傳送到客戶端,那么用戶也就可以獲取到了。安全審計(jì)本節(jié)的安全審計(jì)是針對(duì)Web業(yè)務(wù)應(yīng)用,不包括對(duì)操作系統(tǒng)、Web容器的安全審計(jì)。對(duì)于操作系統(tǒng)和Web容器的安全審計(jì),可以參考對(duì)應(yīng)的操作系統(tǒng)安全基線和Web安全配置規(guī)范。規(guī)則3.6.1:應(yīng)用服務(wù)器必須對(duì)安全事件及操作事件進(jìn)行日志記錄。說明:安全事件包括登錄、注銷、添加、刪除、修改用戶、授權(quán)、取消權(quán)限、鑒權(quán)、修改用戶口令等;操作事件包括對(duì)業(yè)務(wù)系統(tǒng)配置參數(shù)的修改,對(duì)重要業(yè)務(wù)數(shù)據(jù)的創(chuàng)建、刪除、修改、查詢等;對(duì)于上述事件的結(jié)果,不管是成功還是失敗,都需要記錄日志。規(guī)則3.6.2:安全日志必須包括但不限于如下內(nèi)容:事件發(fā)生的時(shí)間、事件類型、客戶端IP、客戶端機(jī)器名、當(dāng)前用戶的標(biāo)識(shí)、受影響的個(gè)體(數(shù)據(jù)、資源)、成功或失敗標(biāo)識(shí)、啟動(dòng)該事件的進(jìn)程標(biāo)識(shí)以及對(duì)該事件的詳細(xì)描述。規(guī)則3.6.3:嚴(yán)格限制對(duì)安全日志的訪問。說明:只有Web應(yīng)用程序的管理員才能查詢數(shù)據(jù)庫表形式或文件形式的安全日志;除數(shù)據(jù)庫超級(jí)管理員外,只有應(yīng)用程序連接數(shù)據(jù)庫的帳號(hào)可以查詢(select)及插入(缶$0?。┌踩罩颈恚怀僮飨到y(tǒng)超級(jí)管理員外,只有應(yīng)用程序的運(yùn)行帳戶才能讀、寫文件形式的安全日志(但不允許刪除)。確保日志的安全,限制對(duì)日志的訪問,這加大了攻擊者篡改日志文件以掩飾其攻擊行為的難度。規(guī)則3.6.4:對(duì)日志模塊占用資源必須有相應(yīng)的限制機(jī)制。說明:限制日志模塊占用的資源,以防止如自動(dòng)的惡意登陸嘗試導(dǎo)致的資源枯竭類DOS攻擊;比如限制日志記錄占用的磁盤空間。規(guī)則:禁止日志文件和操作系統(tǒng)存儲(chǔ)在同一個(gè)分區(qū)中,同時(shí),應(yīng)使用轉(zhuǎn)儲(chǔ)、滾動(dòng)、輪循機(jī)制,來防止存儲(chǔ)日志的分區(qū)寫滿。說明:所需空間和具體業(yè)務(wù)、局點(diǎn)容量、日志保存周期相關(guān),要根據(jù)實(shí)際情況估算。建議3.6.1:安全日志應(yīng)該有備份及清理機(jī)制。說明:備份及清理機(jī)制包括定期備份及清理安全日志和監(jiān)控用于存放安全日志的磁盤空間的使用情況??梢耘渲枚ㄆ趥浞菁扒謇淼臅r(shí)間,可以配置以用于存放安全日志的磁盤空間使用率達(dá)到多少時(shí)進(jìn)行備份及清理。建議3.6.2:通過網(wǎng)絡(luò)形式保存安全日志。說明:在生成安全日志時(shí),即時(shí)將日志保存到網(wǎng)絡(luò)上其他主機(jī),而且生成安全日志的應(yīng)用程序不能再訪問存放在其他主機(jī)的日志。WebService規(guī)則3.7.1:對(duì)WebService接口的調(diào)用必須進(jìn)行認(rèn)證。說明:認(rèn)證就是確定誰在調(diào)用WebService,并且證實(shí)調(diào)用者身份。實(shí)施指導(dǎo):可以通過在消息頭中增加用戶名和口令,作為認(rèn)證憑據(jù);對(duì)于安全性要求不高、只向同一信任域內(nèi)其他主機(jī)開放的WebService接口,可以通過簡單的IP認(rèn)證來實(shí)現(xiàn)接口的認(rèn)證(只有服務(wù)器端指定IP地址的客戶端才允許調(diào)用,IP地址可配置)。規(guī)則3.7.2:如果調(diào)用者的權(quán)限各不相同,那么必須對(duì)WebService接口的調(diào)用進(jìn)行鑒權(quán)。說明:鑒權(quán)就是判斷調(diào)用者是否有權(quán)限調(diào)用該WebService接口。實(shí)施指導(dǎo):可以通過Axis的handler對(duì)調(diào)用進(jìn)行鑒權(quán)。規(guī)則3.7.3:通過WebService接口傳遞敏感數(shù)據(jù)時(shí),必須保障其機(jī)密性。實(shí)施指導(dǎo):方案1:請(qǐng)參考《附件2WebService安全接入開發(fā)指導(dǎo)》。方案2:采用https安全協(xié)議。規(guī)則3.7.4:通過WebService接口傳遞重要的交易數(shù)據(jù)時(shí),必須保障其完整性和不可抵賴性。說明:重要的交易數(shù)據(jù),如轉(zhuǎn)賬時(shí)涉及的“轉(zhuǎn)入賬號(hào)”、“轉(zhuǎn)出賬號(hào)”、“金額”等。實(shí)施指導(dǎo):請(qǐng)參考《附件2WebService安全接入開發(fā)指導(dǎo)》。規(guī)則3.7.5:如果WebService只對(duì)特定的IP開放,那么必須對(duì)調(diào)用WebService接口的客戶端IP進(jìn)行鑒權(quán),只有在IP地址白名單中的客戶端才允許調(diào)用,IP地址白名單可配置。實(shí)施指導(dǎo):請(qǐng)參考《附件3客戶端IP鑒權(quán)實(shí)施指導(dǎo)》。規(guī)則3.7.6:對(duì)WebService接口調(diào)用進(jìn)行日志記錄。說明:日志內(nèi)容包括但不限于如下內(nèi)容:調(diào)用時(shí)間、操作類型、調(diào)用接口名稱、詳細(xì)的接口參數(shù)、客戶端IP、客戶端機(jī)器名、調(diào)用者的用戶標(biāo)識(shí)、受影響的個(gè)體(數(shù)據(jù)、資源)、成功或失敗標(biāo)識(shí)。規(guī)則3.7.7:必須對(duì)WebService提交的參數(shù)進(jìn)行輸入校驗(yàn)。說明:具體輸入校驗(yàn)部分請(qǐng)查看輸入校驗(yàn)。RESTfulWebServiceRESTfulWebService(也稱為RESTfulWebAPI)是一個(gè)使用HTTP并遵循REST原則的Web服務(wù)。規(guī)則:對(duì)RESTfulWebService的調(diào)用必須進(jìn)行認(rèn)證。說明:認(rèn)證就是確定誰在調(diào)用RESTfulWebService,并且證實(shí)調(diào)用者身份。實(shí)施指導(dǎo):客戶端發(fā)起的Restful請(qǐng)求需要在消息頭帶Authorization字段,內(nèi)容填BasicBase64(user:pass),服務(wù)端對(duì)user和passwd進(jìn)行認(rèn)證。注意:user和pass必須加密保存在配置文件或數(shù)據(jù)庫中,不能寫死在代碼中;傳輸時(shí)采用https安全協(xié)議。對(duì)于安全性要求不高、只向同一信任域內(nèi)其他主機(jī)開放的WebService接口,可以通過簡單的IP認(rèn)證來實(shí)現(xiàn)接口的認(rèn)證(只有服務(wù)器端指定IP地址的客戶端才允許調(diào)用,IP地址可配置)。規(guī)則:如果調(diào)用者的權(quán)限各不相同,那么必須對(duì)RESTfulWebService的調(diào)用進(jìn)行鑒權(quán)。說明:鑒權(quán)就是判斷調(diào)用者是否有權(quán)限調(diào)用該RESTfulWebServiceo規(guī)則:通過RESTfulWebService傳遞敏感數(shù)據(jù)時(shí),必須保障其機(jī)密性。實(shí)施指導(dǎo):采用https安全協(xié)議。規(guī)則:如果RESTfulWebService只對(duì)特定的IP開放,那么必須對(duì)調(diào)用RESTfulWebService的客戶端IP進(jìn)行鑒權(quán),只有在IP地址白名單中的客戶端才允許調(diào)用,IP地址白名單可配置。實(shí)施指導(dǎo):請(qǐng)參考《附件3客戶端IP鑒權(quán)實(shí)施指導(dǎo)》。規(guī)則:對(duì)RESTfulWebService調(diào)用進(jìn)行日志記錄。說明:日志內(nèi)容包括但不限于如下內(nèi)容:調(diào)用時(shí)間、操作類型、調(diào)用接口名稱、詳細(xì)的接口參數(shù)、客戶端IP、客戶端機(jī)器名、調(diào)用者的用戶標(biāo)識(shí)、受影響的個(gè)體(數(shù)據(jù)、資源)、成功或失敗標(biāo)識(shí)。規(guī)則:必須對(duì)RESTfulWebService提交的參數(shù)進(jìn)行輸入校驗(yàn)。說明:具體輸入校驗(yàn)部分請(qǐng)查看輸入校驗(yàn)。DWRDWR(DirectWebRemoting)是一種Java和JavaScript相結(jié)合的開源框架,可以幫助開發(fā)人員更容易地完成應(yīng)用Ajax技術(shù)的Web應(yīng)用程序,讓瀏覽器上的JavaScript方法調(diào)用運(yùn)行在Web服務(wù)器上的Java方法。規(guī)則:關(guān)閉DWR調(diào)試功能。說明:如果開啟了DWR調(diào)試功能,那么攻擊者可以輕易查看和調(diào)用系統(tǒng)提供的所有DWR接口,所以,版本發(fā)布時(shí),一定要關(guān)閉DWR調(diào)試功能。實(shí)施指導(dǎo):修改對(duì)應(yīng)的文件中的debug參數(shù)值為false:<servlet><servlet-name>dwr-invoker</servlet-name><servlet-class><init-param><param-name>debug</param-name><param-value>false</param-value></init-param>規(guī)則:對(duì)DWR接口的調(diào)用必須進(jìn)行認(rèn)證。說明:認(rèn)證就是確定誰在調(diào)用DWR接口,并且證實(shí)調(diào)用者身份。實(shí)施指導(dǎo):對(duì)于DWR接口的認(rèn)證直接沿用認(rèn)證機(jī)制,不用單獨(dú)再做認(rèn)證。規(guī)則:對(duì)DWR接口的調(diào)用必須進(jìn)行鑒權(quán)。說明:鑒權(quán)就是判斷調(diào)用者是否有權(quán)限調(diào)用該DWR接口。實(shí)施指導(dǎo):DWR的請(qǐng)求和普通的Web請(qǐng)求一樣,都可以通過過濾器來鑒權(quán),對(duì)于DWR接口的鑒權(quán)直接沿用規(guī)則的鑒權(quán)機(jī)制,具體實(shí)現(xiàn)參照規(guī)則的實(shí)施指導(dǎo)。規(guī)則:必須對(duì)DWR提交的參數(shù)進(jìn)行輸入校驗(yàn)。說明:具體輸入校驗(yàn)部分請(qǐng)查看輸入校驗(yàn)。Web編程安全規(guī)范輸入校驗(yàn)規(guī)則4.1.1:必須對(duì)所有用戶產(chǎn)生的輸入進(jìn)行校驗(yàn),一旦數(shù)據(jù)不合法,應(yīng)該告知用戶輸入非法并且建議用戶糾正輸入。說明:用戶產(chǎn)生的輸入是指來自text、password、textareas或file表單域的數(shù)據(jù);必須假定所有用戶產(chǎn)生的輸入都是不可信的,并對(duì)它們進(jìn)行合法性校驗(yàn)。規(guī)則4.1.2:必須對(duì)所有服務(wù)器產(chǎn)生的輸入進(jìn)行校驗(yàn),一旦數(shù)據(jù)不合法,必須使會(huì)話失效,并記錄告警日志。說明:服務(wù)器產(chǎn)生的輸入是指除用戶產(chǎn)生的輸入以外的輸入,例如來自hiddenfields、selectionboxes、checkboxes、radiobuttons、cookies、HTTPheaders、熱點(diǎn)鏈接包含的URL參數(shù)的數(shù)據(jù)或客戶端腳本等;必須假定所有服務(wù)器產(chǎn)生的輸入都是被篡改過的、惡意的,并對(duì)它們進(jìn)行合法性校驗(yàn),如果不合法,說明有人惡意篡改數(shù)據(jù)。舉例:假如用戶資料填寫表單中的“性別”為必填項(xiàng),用radiobutton('男’和‘女’對(duì)應(yīng)實(shí)際值分別為‘1’和‘0’)來限制用戶的輸入,如果應(yīng)用程序收到的“性別”值為‘2’,那么可以斷定有人惡意篡改數(shù)據(jù)。規(guī)則4.1.3:禁止將HTTP標(biāo)題頭中的任何未加密信息作為安全決策依據(jù)。說明:HTTP標(biāo)題頭是在HTTP請(qǐng)求和HTTP響應(yīng)的開始階段發(fā)送的。Web應(yīng)用程序必須確保不以HTTP標(biāo)題頭中的任何未加密信息作為安全決策依據(jù),因?yàn)楣粽咭僮鬟@一標(biāo)題頭是很容易的。例如,標(biāo)題頭中的referer字段包含來自請(qǐng)求源端的Web頁面的URL。不要根據(jù)referer字段的值做出任何安全決策(如檢查請(qǐng)求是否來源于Web應(yīng)用程序生成的頁面),因?yàn)樵撟侄问呛苋菀妆粋卧斓摹R?guī)則4.1.4:不能依賴于客戶端校驗(yàn),必須使用服務(wù)端代碼對(duì)輸入數(shù)據(jù)進(jìn)行最終校驗(yàn)。說明:客戶端的校驗(yàn)只能作為輔助手段,減少客戶端和服務(wù)端的信息交互次數(shù)。規(guī)則4.1.5:對(duì)于在客戶端已經(jīng)做了輸入校驗(yàn),在服務(wù)器端再次以相同的規(guī)則進(jìn)行校驗(yàn)時(shí),一旦數(shù)據(jù)不合法,必須使會(huì)話失效,并記錄告警日志。說明:肯定存在攻擊行為,攻擊者繞過了客戶端的輸入校驗(yàn),因此必須使會(huì)話失效,并記入告警日志。規(guī)則4.1.6:如果輸入為數(shù)字參數(shù)則必須進(jìn)行數(shù)字型判斷。說明:這里的數(shù)字參數(shù)指的是完全由數(shù)字組成的數(shù)據(jù)。實(shí)施指導(dǎo):Stringmobileno=("mobileno");StringcharacterPattern="A\\d+$";4.1.7-9A-9A-9A-9A+[a-zA-Z]{2,4}$";...13 XPathExpressionexpr=(" }規(guī)則4.1.14:在JavaBean中禁止使用property="*"進(jìn)行參數(shù)賦值。說明:property="*"這表明用戶在可見的JSP頁面中輸入的,或是直接通過QueryString提交的參數(shù)值,將存儲(chǔ)到與參數(shù)名相匹配的bean屬性中。例如,網(wǎng)上購物程序,一般,用戶是這樣提交請(qǐng)求的:/newItem=ITEM0105342,如果用戶提交:/newItem=ITEM0105342&balance=0,這樣,balance=0的信息就被在存儲(chǔ)到了JavaBean中了,而balance是整個(gè)會(huì)話中用來存儲(chǔ)總費(fèi)用的,當(dāng)他們這時(shí)點(diǎn)擊“chekout”結(jié)賬的時(shí)候,費(fèi)用就全免了。規(guī)則4.1.15:用于重定向的輸入?yún)?shù)不能包含回車和換行字符,以防止HTTP響應(yīng)拆分攻擊。說明:注意,“回車”字符有多種表示方式(CR=%0d=\r),“換行”字符有多種表示方式(LF=%0a=\n)。規(guī)則:如果服務(wù)端代碼執(zhí)行操作系統(tǒng)命令,禁止從客戶端獲取命令。說明:如果服務(wù)端代碼中使用().exec(cmd)或ProcessBuilder等執(zhí)行操作系統(tǒng)命令,那么禁止從客戶端獲取命令;而且最好不要從客戶端獲取命令的參數(shù),如果必須從客戶獲取命令的參數(shù),那么必須采用正則表達(dá)式對(duì)命令參數(shù)進(jìn)行嚴(yán)格的校驗(yàn),以防止命令注入(因?yàn)?,一旦從客戶端獲取命令或參數(shù),通過;&|<>符號(hào),非常容易構(gòu)造命令注入,危害系統(tǒng))。輸出編碼規(guī)則4.2.1:對(duì)于不可信的數(shù)據(jù),輸出到客戶端前必須先進(jìn)行HTML編碼。說明:不可信的數(shù)據(jù)(也就是其他業(yè)務(wù)系統(tǒng)生成的未經(jīng)本應(yīng)用程序驗(yàn)證的表數(shù)據(jù)或文件數(shù)據(jù)),通過對(duì)輸出到客戶端的數(shù)據(jù)進(jìn)行編碼,可以防止瀏覽器將HTML視為可執(zhí)行腳本,從而防止跨站腳本攻擊。實(shí)施指導(dǎo):JSP語言可以通過替換輸出數(shù)據(jù)的特殊字符【&<>",()%+-]為其他表示形式后再輸出給客戶端,例如:<%StringOutStr="<script>alert('XSS')</script>";OutStr=("&","&");OutStr=("<","<");OutStr=(">",">");OutStr=("\"",""");OutStr=("\'","'");OutStr=("\\(","(");OutStr=("\\)",")");(OutStr);%>語言可以通過HtmlEncode方法對(duì)HTML的輸出進(jìn)行編碼。PHP語言可以通過htmlentities或htmlspecialchars方法對(duì)HTML輸出進(jìn)行編碼。上傳下載規(guī)則4.3.1:必須在服務(wù)器端采用白名單方式對(duì)上傳或下載的文件類型、大小進(jìn)行嚴(yán)格的限制。規(guī)則4.3.2:禁止以用戶提交的數(shù)據(jù)作為讀/寫/上傳/下載文件的路徑或文件名,以防止目錄跨越和不安全直接對(duì)象引用攻擊。說明:建議對(duì)寫/上傳文件的路徑或文件名采用隨機(jī)方式生成,或?qū)?上傳文件放置在有適當(dāng)訪問許可的專門目錄。對(duì)讀/下載文件采用映射表(例如,用戶提交的讀文件參數(shù)為1,則讀取file1,參數(shù)為2,則讀取file2)。防止惡意用戶構(gòu)造路徑和文件名,實(shí)施目錄跨越和不安全直接對(duì)象引用攻擊。規(guī)則4.3.3:禁止將敏感文件(如日志文件、配置文件、數(shù)據(jù)庫文件等)存放在Web內(nèi)容目錄下。說明:Web內(nèi)容目錄指的是:通過Web可以直接瀏覽、訪問的目錄,存放在Web內(nèi)容目錄下的文件容易被攻擊者直接下載。異常處理規(guī)則4.4.1:應(yīng)用程序出現(xiàn)異常時(shí),禁止向客戶端暴露不必要的信息,只能向客戶端返回一般性的錯(cuò)誤提示消息。說明:應(yīng)用程序出現(xiàn)異常時(shí),禁止將數(shù)據(jù)庫版本、數(shù)據(jù)庫結(jié)構(gòu)、操作系統(tǒng)版本、堆棧跟蹤、文件名和路徑信息、SQL查詢字符串等對(duì)攻擊者有用的信息返回給客戶端。建議重定向到一個(gè)統(tǒng)一、默認(rèn)的錯(cuò)誤提示頁面,進(jìn)行信息過濾。規(guī)則4.4.2:應(yīng)用程序捕獲異常,并在日志中記錄詳細(xì)的錯(cuò)誤信息。說明:記錄詳細(xì)的錯(cuò)誤消息,可供入侵檢測及問題定位。代碼注釋規(guī)則4.5.1:在注釋信息中禁止包含物理路徑信息。規(guī)則4.5.2:在注釋信息中禁止包含數(shù)據(jù)庫連接信息。規(guī)則4.5.3:在注釋信息中禁止包含SQL語句信息。規(guī)則4.5.4:對(duì)于靜態(tài)頁面,在注釋信息中禁止包含源代碼信息。規(guī)則4.5.5:對(duì)于動(dòng)態(tài)頁面不使用普通注釋,只使用隱藏注釋。說明:動(dòng)態(tài)頁面包括ASP、PHP、JSP、CGI等由動(dòng)態(tài)語言生成的頁面。通過瀏覽器查看源碼的功能,能夠查看動(dòng)態(tài)頁面中的普通注釋信息,但看不到隱藏注釋(隱藏注釋不會(huì)發(fā)送給客戶端)。因此,為了減少信息泄漏,建議只使用隱藏注釋。實(shí)施指導(dǎo):<formaction=><%--隱藏注釋1--%><textareaname=alength=200></textarea><inputtype=submitvalue=test></form><%ak之類的文件,Web服務(wù)器會(huì)將這些文件以文本方式呈現(xiàn)給惡意用戶,造成代碼的泄漏,嚴(yán)重威脅Web應(yīng)用的安全。實(shí)施指導(dǎo):在web應(yīng)用的根目錄下執(zhí)行以下命令:find./-name"*.old"-o-name"*.OLD"-o-name"*.bak"-o-name"*.BAK"-o-name"*.temp"-o-name"*.tmp"-o-name"*.save"-o-name"*.backup"-o-name"*.orig"-o-name"*.000"-o-name"*~"-o-name"*~1"-o-name"*.dwt"-o-name"*.tpl"-o-name"*.zip"-o-name"*.7z"-o-name"*.rar"-o-name"*.gz"-o-name"*.tgz"-o-name"*.tar"-o-name"*.bz2"分析查找到的文件是否臨時(shí)文件、備份文件、無用文件,如果是則刪除。規(guī)則4.6.2:歸檔的頁面程序文件的擴(kuò)展名必須使用小寫字母。說明:很多Webserver對(duì)大小寫是敏感的,但對(duì)后綴的大小寫映像并沒有做正確的處理。攻擊者只要在URL中將JSP文件后綴從小寫變成大寫,Web服務(wù)器就不能正確處理這個(gè)文件后綴,而將其當(dāng)作純文本顯示。攻擊者可以通過查看源碼獲得這些程序的源代碼。因此,歸檔的頁面程序文件的擴(kuò)展名必須使用小寫字母,如jsp、html、htm、asp等頁面程序文件的擴(kuò)展名分別為jsp、html、htm、asp。規(guī)則4.6.3:歸檔的程序文件中禁止保留調(diào)試用的代碼。說明:這里的“調(diào)試用的代碼”是指開發(fā)過程中進(jìn)行臨時(shí)調(diào)試所用的、在Web應(yīng)用運(yùn)行過程中不需要使用到的Web頁面代碼或servlet代碼。例如:在代碼開發(fā)過程中為了測試一個(gè)添加帳號(hào)的功能,開發(fā)人員臨時(shí)編寫了一個(gè)JSP頁面進(jìn)行測試,那么在歸檔時(shí),該JSP頁面必須刪除,以免被攻擊者利用。其他規(guī)則:對(duì)于JSP語言,所有servlet必須進(jìn)行靜態(tài)映射,不允許通過絕對(duì)路徑訪問。說明:在文件中為servlet配置URI映射,使用servlet時(shí),引用它的URI映射,而不允許通過絕對(duì)路徑訪問。規(guī)則:對(duì)客戶端提交的表單請(qǐng)求進(jìn)行合法性校驗(yàn),防止跨站請(qǐng)求偽造攻擊。說明:跨站請(qǐng)求偽造(CSRF)是一種挾制終端用戶在當(dāng)前已登錄的Web應(yīng)用程序上執(zhí)行非本意的操作的攻擊方法。攻擊者可以迫使用戶去執(zhí)行攻擊者預(yù)先設(shè)置的操作,例如,如果用戶登錄網(wǎng)絡(luò)銀行去查看其存款余額,他沒有退出網(wǎng)絡(luò)銀行系統(tǒng)就去了自己喜歡的論壇去灌水,如果攻擊者在論壇中精心構(gòu)造了一個(gè)惡意的鏈接并誘使該用戶點(diǎn)擊了該鏈接,那么該用戶在網(wǎng)絡(luò)銀行帳戶中的資金就有可能被轉(zhuǎn)移到攻擊者指定的帳戶中。當(dāng)CSRF針對(duì)普通用戶發(fā)動(dòng)攻擊時(shí),將對(duì)終端用戶的數(shù)據(jù)和操作指令構(gòu)成嚴(yán)重的威脅;當(dāng)受攻擊的終端用戶具有管理員帳戶的時(shí)候,CSRF攻擊將危及整個(gè)Web應(yīng)用程序。實(shí)施指導(dǎo):方法一:為每個(gè)session創(chuàng)建唯一的隨機(jī)字符串,并在受理請(qǐng)求時(shí)驗(yàn)證<formaction="/"method="post"><inputtype="hidden"name="randomStr"value=<%=().getAttribute("randomStr")%>></form>etAttribute("randomStr"))){nnerHtml時(shí),如果只是要顯示文本內(nèi)容,必須在innerHTML取得內(nèi)容后,再用正則表達(dá)式去除HTML標(biāo)簽,以預(yù)防跨站腳本。說明:使用.innerHtml會(huì)將內(nèi)容以HTML顯示,容易被利用,導(dǎo)致跨站腳本。實(shí)施指導(dǎo):<ahref="javascript:alert('test').(/<.+>/gim,"))">無HTML,符合W3C標(biāo)準(zhǔn)</a>備注:還可以使用.innerText代替「nnerHtml,.innerText只顯示文本內(nèi)容不顯示HTML標(biāo)簽,但.innerText不是W3C標(biāo)準(zhǔn)的屬性,不能適用于所有瀏覽器(但適用于IE瀏覽器)。規(guī)則:禁止使用eval()函數(shù)來處理用戶提交的字符串。說明:eval()函數(shù)存在安全隱患,該函數(shù)可以把輸入的字符串當(dāng)作JavaScript表達(dá)式執(zhí)行,容易被惡意用戶利用。建議4.7.1:關(guān)閉登錄窗體表單中的自動(dòng)填充功能,以防止瀏覽器記錄用戶名和口令。說明:瀏覽器都具有自動(dòng)保存用戶輸入數(shù)據(jù)和自動(dòng)填充數(shù)據(jù)的能力。為了保障用戶名和口令的安全,必須關(guān)閉自動(dòng)填充選項(xiàng),指示瀏覽器不要存儲(chǔ)登錄窗口中用戶名、口令等敏感信息。實(shí)施指導(dǎo):在form表單頭中增加選項(xiàng)(autocomplete="off"),例如:<formaction=""name=loginmethod=postautocomplete="off">建議:防止網(wǎng)頁被框架盜鏈或者點(diǎn)擊劫持。說明:框架盜鏈和點(diǎn)擊劫持(ClickJacking)都利用到框架技術(shù),防范措施就是防止網(wǎng)頁被框架。實(shí)施指導(dǎo):方法一:在每個(gè)網(wǎng)頁上增

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論