現(xiàn)代web安全防護(hù)機(jī)制主要基于兩方面的機(jī)制。
下面將主要介紹第一方面的內(nèi)容:處理用戶訪問的相關(guān)機(jī)制
1.身份驗證,身份驗證是應(yīng)用程序處理用戶訪問最基本的機(jī)制,通過對身份驗證機(jī)制的驗證測試可以允許攻擊者非法訪問敏感數(shù)據(jù)和內(nèi)容。
2.會話管理,用戶登錄以后與web應(yīng)用程序會直接建立會話,這時候服務(wù)器端會給用戶發(fā)布標(biāo)識會話的令牌,通過該令牌可以直接辨識用戶身份,而http cookie就是其中一種手段,cookie的產(chǎn)生過程也是黑客進(jìn)行攻擊的著眼點。
3.訪問控制機(jī)制,這是設(shè)計最復(fù)雜的機(jī)制,可以進(jìn)行重點的關(guān)注。
第二方面的內(nèi)容,處理用戶輸入的相關(guān)機(jī)制:
1.輸入處理的手段:
a.黑名單策略,拒絕已知的不良輸入。
b.白名單策略,只接受已知的正常輸入
c.凈化,對已知的用戶進(jìn)行輸入進(jìn)行html編碼等。
d.安全數(shù)據(jù)處理,保證命令執(zhí)行過程中能正常執(zhí)行。
2.邊界確認(rèn)機(jī)制
我們應(yīng)該把所有的用戶輸入當(dāng)成不良且不可信的,因此需要進(jìn)行一個邊界確認(rèn)機(jī)制,保證系統(tǒng)執(zhí)行的是可信且正常的,因此需要進(jìn)行一個邊界檢查,常用可以用來進(jìn)行一個邊界確認(rèn)手段如下:
a.表單處理程序應(yīng)當(dāng)確認(rèn)用戶輸入僅包含正常字符。
b.為防止注入攻擊和跨站點腳本攻擊,應(yīng)當(dāng)進(jìn)行對用戶輸入進(jìn)行編碼轉(zhuǎn)義
c.多重確認(rèn)以及規(guī)范化,需要對用戶輸入進(jìn)行規(guī)范化和過濾。
3.處理攻擊者
處理有可能出現(xiàn)攻擊者相關(guān)機(jī)制,主要有以下幾方面:
a.處理相關(guān)錯誤,錯誤可以給別有用心的攻擊者暴露一些信息,可被黑客利用。
b.維護(hù)審計日志,有利于進(jìn)行數(shù)字取證和后續(xù)的足跡追蹤。
c.向管理員發(fā)出警報,可進(jìn)行良好的預(yù)警,但要處理好誤報和不報之間的關(guān)系。
d.應(yīng)對攻擊,對于能明顯標(biāo)識出為攻擊者的手段,應(yīng)該有相應(yīng)的手段措施,例如對爆破進(jìn)行封鎖ip等。