freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

web的入侵防御系統(tǒng)的設(shè)計與實現(xiàn)—計算機畢業(yè)設(shè)計(編輯修改稿)

2024-09-02 06:20 本頁面
 

【文章內(nèi)容簡介】 在一個策略中,可以返回對客戶端的行為做出的響應(yīng),或什么都不返回。如果返回的是除“調(diào)度下一條策略”外的其他響應(yīng),則策略引擎停止調(diào)動策略鏈中后面的策略,否則策略引擎依次調(diào)度策略鏈上的策略直到全部策略調(diào)度完成。下面將詳細介紹每一種響應(yīng)方式的效果和作用。(1) 調(diào)度下一條策略這是策略的默認響應(yīng)方式,策略引擎將為客戶端調(diào)度下一條策略。當一個策略中沒有對客戶端的行為做出任何響應(yīng),則策略引擎認為該客戶端調(diào)用策略鏈上的下一條策略。(2) 接受請求接受客戶端的訪問。策略引擎將不會調(diào)用后面的策略。這種響應(yīng)方式通常用于白名單,即對特定的客戶端的做出的特別響應(yīng)處理,由Web服務(wù)器處理客戶端的訪問請求,而不受發(fā)出這個響應(yīng)的策略后面的策略的影響。(3) 拒絕連接讓W(xué)eb Server直接斷開和客戶端的連接,這是一種最嚴重的響應(yīng)方式,在客戶端所看到的結(jié)果就是瀏覽器報告說找不到服務(wù)器。當策略引擎已經(jīng)確認客戶端的訪問是惡意的攻擊行為時,可以直接斷開和客戶端的連接。由于響應(yīng)是在Http響應(yīng)模塊中完成,這個模塊使用的是Web 服務(wù)器提供的接口,響應(yīng)的過程是在策略調(diào)度之后,所以客戶端再次發(fā)送的Http報文請求還是會通過Http報文的解析及策略的調(diào)度,如果“拒絕連接”的響應(yīng)方式是由Web服務(wù)器外的方式實現(xiàn)的,比如操作系統(tǒng)的IP訪問策略或硬件防火墻等,則客戶端再次發(fā)送的訪問請求不會再被Http報文解析模塊接收到,也不會再被引擎策略調(diào)度。(4) 發(fā)送信息直接發(fā)送一段文本信息到客戶端,通常是一段提示或警告信息。這是一種比較友好的交互行為,其效果為客戶端的瀏覽器上會顯示發(fā)送的這段信息。當策略引擎檢測到策略返回的是這種響應(yīng)方式后會停止調(diào)用策略鏈后面的其他策略。(5) 發(fā)送文件發(fā)送服務(wù)器上的一個文件到客戶端。這種響應(yīng)方式和上一種類式,但通過文件的方式可以發(fā)送更多的信息到客戶端。比如在防止圖片的盜鏈的策略中,可以發(fā)送一個用來表明圖片為盜鏈的圖片文件到客戶端。如果是采用的發(fā)送信息的響應(yīng)方式,則客戶端看不到這條信息。(6) 重定向讓W(xué)eb Server重定向客戶端的訪問。和前兩種響應(yīng)方式類似,區(qū)別是客戶端會檢測到所訪問的Url的發(fā)生跳轉(zhuǎn)。跳轉(zhuǎn)即可以是本服務(wù)器的地址,也可以是外部服務(wù)器的地址。當策略引擎檢測到策略返回的是這種響應(yīng)方式后也會停止調(diào)用策略鏈后面的其他策略 策略引擎的設(shè)計策略引擎是整個系統(tǒng)的核心模塊,如圖3所示為策略引擎的結(jié)構(gòu)。策略引擎可以加載兩種格式的策略,或者說策略可以用兩種不同的方式實現(xiàn),一種是使用C++編碼的C++類,一種是使用策略腳本文件。雖然實現(xiàn)的方式不同,但策略引擎以同樣的方式調(diào)度。C++的效率高,而腳本驅(qū)動的策略修改和編寫都十分方便。這種體系結(jié)構(gòu)可以方便的把策略不同的實現(xiàn)方式擴充進來。圖 3 策略引擎的結(jié)構(gòu)策略引擎的初始化過程為:讀取策略的屬性列表,根據(jù)屬性列表加載策略。初始化完成后就可以等待客戶端發(fā)出訪問服務(wù)器的請求,為客戶端的訪問進行策略調(diào)度。下面就將介紹策略的屬性及策略的加載和調(diào)度的過程。 策略的屬性策略的屬性可以幫助策略引擎選擇合適的策略加載器加載策略和策略引擎按合適的方式調(diào)度策略。(1) 策略的名稱用來標示不同的策略,在加載過程中,C++加載器通過此名稱生成C++策略的對象。在屬性列表中這一條不能省略。(2) 描述描述策略的功能。可以省略。(3) 類型按類型可以把策略分為系統(tǒng)策略和用戶策略。系統(tǒng)策略永遠都是在用戶策略前面調(diào)度。這兩種不同類別的策略都可以由C++的類或者以腳本的方式實現(xiàn)。此屬性的作用是在增加策略優(yōu)先級調(diào)度的粒度??梢栽谂渲梦募性O(shè)置此值(4) 加載器表示策略該有什么樣的加載器加載,加載器會將該策略轉(zhuǎn)換成策略引擎能夠調(diào)度的策略對象。(5) 開啟狀態(tài)可以給策略的設(shè)置開啟狀態(tài):Enable和Disable,當一個策略處于Disable狀態(tài)時,策略引擎會跳過對其的加載。(6) 加載狀態(tài)策略的加載狀態(tài):Unloaded/Loaded,當策略的加載狀態(tài)不處于Loaded時,策略引擎不對其進行調(diào)度。這個值不能在配置文件中設(shè)置,默認為Unloaded,當策略引擎成功加載此策略時,會將此值設(shè)置為Loaded。(7) 優(yōu)先級通過優(yōu)先級可以控制策略調(diào)度的順序,優(yōu)先級得范圍是:0255,值越低的優(yōu)先級越高。(8) 路徑記錄策略腳本的位置,加載時通過這個屬性找到相應(yīng)的策略文件的路徑。這個屬性只對腳本加載器有效。 策略的加載策略引擎加載策略的步驟如下:(1) IPS通過配置模塊讀取出策略屬性列表,去掉此列表中策略名稱重復(fù)的項,然后將此列表作為策略引擎初始化的參數(shù)或者作為策略引擎重新加載的參數(shù)。(2) 策略引擎將由此列表中策略類型屬性和優(yōu)先級屬性,由系統(tǒng)策略到用戶策略,從高優(yōu)先級策略到低優(yōu)先級的策略的次序,進行排序。形成一個新的策略列表。(3) 按后面的步驟依次加載這個策略列表中的屬性。(4) 如果策略的開啟狀態(tài)屬性不為Enable,則跳過該策略,繼續(xù)加載策略列表中后面的策略。(5) 如果加載器的屬性為C++則交由C++的策略加載器處理,如果是為腳本的就由相應(yīng)的腳本加載器處理。如果不能識別則跳過該策略。C++的加載器為一個策略對象的工廠類,會根據(jù)策略的名稱生成不同的策略對象,如果找不到為該名稱的策略則返回NULL表示加載失敗。腳本加載器會根據(jù)屬性中的路徑字段去讀取策略腳本,加載器要完成策略腳本語法檢測的步驟,加載成功時也是返回一個策略對象,加載失敗返回NULL。如上所述,加載器會將策略對象的初始化(C++對象是通過調(diào)用構(gòu)造函數(shù)來實現(xiàn))。所以在策略的調(diào)度前不需要再對策略做初始化。(6) 加載成功后就將該策略的狀態(tài)屬性置為Loaded,如果是加載失敗就保持該選項為Unload。(7) 直到策略列表中的所有項都處理結(jié)束后,重新遍歷這個列表,把Loaded的項依次提取出來,形成策略調(diào)度用的策略列表。 策略的調(diào)度策略對象中提供兩個接口供策略引擎調(diào)度,一個是OnRecv,另一個是OnSend。當策略引擎是為檢測客戶端的信息而調(diào)動策略時,都是調(diào)用的策略中的OnRecv接口,而當策略引擎是為檢測服務(wù)器發(fā)送的數(shù)據(jù)是,都是調(diào)用策略中的OnSend接口。策略引擎將按下面的步驟對策略鏈上的策略進行調(diào)度:(1) 依次按步驟(2)(3)調(diào)動策略鏈上的策略(2) 如果策略返回的是一個“調(diào)用下一條策略”的響應(yīng)時,則調(diào)用下一條策略。(3) 如果策略返回的不是“調(diào)用下一條策略”的響應(yīng)時,則停止調(diào)度策略鏈上后面的策略并返回該響應(yīng)。(4) 重復(fù)步驟(2)(3)直到策略全部調(diào)度完,如果沒有任何策略響應(yīng),則策略引擎返回一個“接受請求”的響應(yīng)。 策略的接口(1) 策略調(diào)度的接口為時策略引擎能調(diào)度策略對客戶端的行為進行檢測,策略為策略引擎的不同階段的調(diào)度提供三個接口:OnRecv、OnSend和OnEnd。在檢測客戶端發(fā)出的請求時,策略引擎調(diào)用策略中的OnRecv接口;在檢測服務(wù)器端對客戶端的響應(yīng)時調(diào)用OnSend接口;當Http會話結(jié)束時,策略引擎調(diào)度OnEnd接口。策略調(diào)度時,策略引擎在調(diào)用這些接口時傳入的都是client對象。不同的方式實現(xiàn)的策略中都要提供這幾個接口。(2) 客戶端對象:client策略調(diào)度接口的參數(shù),策略引擎在調(diào)用OnRecv和OnSend時傳入的參數(shù)就是client,client中提供獲取客戶端信息的方法:GetServerVariable。由Http解析模塊提供其具體實現(xiàn)。(3) 獲取客戶端信息的接口:GetServerVariableClient對象的方法。策略引擎需要為策略提供能獲取客戶端或服務(wù)器端的信息的方法,具體的實現(xiàn)是在Http解析與響應(yīng)層來完成的。Http解析與響應(yīng)層中會為每一個客戶端的請求生成一個對象,這個對象提供獲取客戶端和服務(wù)器端信息的訪問為GetServerVariable。此接口和Web腳本中的GetServerVariable的作用一致,用來獲得ServerVariable。例如: REMOTE_ADDR是客戶端的IP;QUERY_STRING是查詢 HTTP 請求中問號(?)后的信息;HTTP_COOKIE是客戶端發(fā)送的Cookie,等等。可以在策略腳本中封裝這個接口,使腳本顯得更直觀。(4) 響應(yīng)的接口:Response和響應(yīng)的方式一一對應(yīng):Disconnect、SendMsg、SendFile、Redirect和Accept, Next Policy。策略引擎認為策略的默認響應(yīng)為“Next Policy”。具體的實現(xiàn)是由Http響應(yīng)層完成的。以上描述的是本系統(tǒng)的體系結(jié)構(gòu)、處理流程、功能框圖及各個模塊的詳細設(shè)計和接口,至此,設(shè)計工作就全部完成了,下面將根據(jù)此設(shè)計思想的來實現(xiàn)Web的入侵防御系統(tǒng)。4 Web的入侵防御系統(tǒng)的實現(xiàn)按照前面介紹的體系結(jié)構(gòu),整個系統(tǒng)分成了三層:解析及響應(yīng)、策略引擎、數(shù)據(jù)管理。在Windows平臺下的IIS服務(wù)器上,IIS提供了ISAPI機制來實現(xiàn)服務(wù)器的擴展和篩選器。我們可以利用ISA
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1