- 相關推薦
畢業論文:基于IIS的信息安全策略
摘要 隨著計算機網絡的發展,使得信息安全的需求日益增強。本文通過使用ISAPI過濾器保護系統的存儲安全,通過SSL實現信息的傳輸安全,從而給出基于IIS的信息安全策略。
要害詞 Internet 服務應用編程接口 信息安全性 Internet信息服務
一、 引言
信息安全包括防止系統存儲和傳輸的信息被故意或偶然地非授權泄露、更改、破壞或被非法的系統辯識和控制,確保信息的保密性和可控性。目前信息傳輸的途徑主要是網絡,隨著網絡的開放性、互連性和共享性程度的擴大,使得網絡的安全問題變得更加突出,成為信息安全的重要環節[1]。
在以Windows NT(包括Windows NT4.0,Windows 2000 Server系列,windows Server2003)為操作系統的服務器上通過Internet 信息服務器(Internet Information Server,IIS)程序為客戶的請求提供服務。維護IIS信息安全的方法包括公共網關接口(Common Gateway Interface,CGI),Internet服務應用編程接口(Internet Server API,ISAPI)的過濾器(Filter)程序和安全套接字(Security Socket Layer,SSL)等。CGI是最常用的方法,可以實現基于IIS的信息存儲和傳輸的安全,用CGI編制的程序由IIS調用,但運行在自己的進程內,所以其運行的速度較慢。ISAPI Filter主要實現信息存儲的安全,是以動態鏈接庫的形式封裝,直接運行在IIS進程內,運行速度較快。SSL可以用于信息傳輸的安全,直接集成在IIS中。將ISAPI Filter和SSL結合即可達到信息存儲和傳輸的安全,本文即通過這種方法實現基于IIS的信息安全。
二、 ISAPI Filter的作用機制
ISAPI是微軟提供的基于Windows NT(包括Windows NT4.0,Windows 2000 Server系列,windows Server2003)的Internet編程接口,利用ISAPI編制的應用程序以動態鏈接庫的形式封裝,直接運行在IIS進程中。ISAPI實現的應用程序包括擴展和過濾器兩種形式,ISAPI擴展可以響應客戶的請求,執行非凡的功能,而過濾器可以實現數據壓縮、重定向、加密和身份驗證等功能[2]。
圖1 過濾器的作用機制
ISAPI過濾器運行在IIS的前端,可以處理IIS提供的每一步服務。ISAPI過濾器的作用機制如圖1所示。過濾器在IIS進程啟動時裝載,并運行GetFilterVison函數,GetFilterVison函數的目的是設置過濾器的優先級并將事件通知的關注點注冊到過濾器。當系統中存在多個過濾器時需要通過設置優先級確定過濾器的執行順序,而事件通知的關注點是過濾器可以處理的服務。當客戶請求服務時,IIS首先啟動過濾器程序,然后根據過濾器注冊的關注點調用過濾器實現的事件處理函數。
三、 ISAPI過濾器實現信息存儲安全
通過ISAPI過濾器可以對客戶的身份進行驗證,控制訪問的客戶,從而實現系統存儲的信息安全。在ISAPI過濾器中,驗證客戶身份需要注冊的事件關注點是SF_AUTHENTICATION事件,相應的事件處理函數是OnAuthentication?蛻粼谔峤辉L問后,IIS啟動新的線程為客戶提供服務,在IIS線程驗證客戶的身份前會首先查看過濾器中有無SF_AUTHENTICATION事件關注點,若有,則執行過濾器的OnAuthentication函數。所以可以通過OnAuthentication函數在IIS線程前對客戶的身份進行驗證。
圖2 身份驗證過濾器基本架構
IIS以HTTP的挑戰/響應機制結合Windows NT(包括Windows NT4.0,Windows 2000 Server系列,windows Server2003)的用戶數據庫驗證客戶的身份,而Windows NT(包括Windows NT4.0,Windows 2000 Server系列,windows Server2003)的用戶數目是有限的,并且直接以NT用戶訪問存在著不安全的因素,所以在過濾器中引入專用的用戶訪問數據庫,數據庫中包含客戶的密碼和用戶名以及對應的系統密碼和用戶名身份驗證過濾器的基本結構如圖2所示。
客戶匿名訪問時,過濾器直接返回,保證客戶可以訪問非保密的資源。當客戶非匿名訪問時,過濾器查找用戶數據庫,找到對應的系統密碼和用戶名,并替代客戶的密碼和用戶名,然后在IIS中用替換的系統密碼和用戶名對客戶的身份進行驗證。采用這種方法使得客戶輸入的密碼和用戶名并不是系統真正的密碼和用戶名,既保證了客戶的數量又保護了系統的安全。
ISAPI身份驗證過濾器運行在多線程的IIS進程中,每一個線程都將調用過濾器程序,而與數據庫的連接很占系統的資源,當訪問的客戶超過一定的數量時,可能會導致系統的崩潰。在實現時可以通過一段緩存解決這個問題,具體方法是過濾器裝載時在內存中開辟一段空間,用以保存近來訪問服務器的客戶的密碼和用戶名以及對應的系統密碼和用戶名。在客戶訪問時,過濾器先查找緩存中有無客戶的密碼和用戶名,若沒有再查找數據庫,并將查找到的內容寫入緩存中,由于查找緩存的時間及占用的資源遠遠小于對數據庫的查找,所以可以大大提高過濾器的執行效率。
ISAPI過濾器實現的過程中應注重的問題主要是內存泄漏和多線程。避免的方法在于選擇支持多線程的數據庫,并且保證緩存的單線程訪問以及釋放占用的內存。
四、 SSL實現信息傳輸安全
圖3 SSL會話過程
在Internet傳輸的所有數據都暴露于任何網絡客戶面前,任何對通信進行監測的人都可以對通信的數據進行截取和修改。保證數據傳輸的保密性、完整性和安全性的要害在于防止網絡的監聽和篡改。SSL技術為應用層間數據通信提供安全的途徑,它位于可靠的傳輸層之上,為高層的應用提供透明的服務,保證傳輸信息的隱私性、可靠性和用戶的非否認性。
SSL通信分兩個階段:連接階段和數據傳輸階段。在連接階段,建立安全連接,一旦算法達成協議,就交換密鑰,接著驗證身份,然后開始數據傳輸。在數據傳輸階段,信息傳輸到SSL時通過加密或解密后向下或向上傳輸。SSL要求在客戶端與服務器端建立通信渠道,通信渠道的建立通過客戶與服務器的握手來完成。具體過程如圖3所示。
客戶和服務器之間通過相互詢問確定最終的加密算法。詢問信息提供了建立安全渠道的重要信息。服務器端通過證書確定客戶的身份,然后發出確認和結束信息結束握手階段,開始正常的數據傳輸。數據在傳輸過程中被分解為許多信息,同時用會話密鑰加密并使用數字簽名。接收端在試圖解密數據之前首先要驗證數字簽名[2]。
在IIS中可以方便的通過SSL建立數據傳輸的安全性。服務器建立SSL鏈接之前必須安裝證書。證書可以使用Microsoft Certificate Server生成。新密鑰的創建通過IIS密鑰治理器完成,它會根據向導自動請求服務器上安裝的Certificate Server生成證書。在密鑰建成后需要通過IIS的控制臺配置SSL,可以配置的選項包括密鑰設置、是否要求客戶端證書以及客戶端證書映射等。在這些設置完成后就可以實現信息傳輸的安全性。
五、 結束語
以ISAPI過濾器程序保護系統存儲信息安全的方法,采用DLL的形式運行在IIS進程中,可以通過用戶數據庫和緩存擴充用戶的數量并提高過濾器運行的效率。用SSL保護信息傳輸的安全是目前常用的也是較好的方法之一。本文將二者結合給出了基于IIS進程的信息安全策略,通過作者在實際應用中的檢驗,確定了方案的可行性。
參考文獻
[1] 羅軍舟, 《網絡信息安全的技術和策略》,《科技進步與學科發展綜合學術研討會論文集》1999年10月
[2] Lecond braginski, 《IIS4.0使用大全》,中興業科技公司譯,人民郵電出版社1998年
【畢業論文:基于IIS的信息安全策略】相關文章:
基于IIS總線的嵌入式音頻系統設計03-18
基于信息用戶認知的圖書館“信息喚醒”03-28
電子商務安全策略12-07
信息管理畢業論文12-10
物理與信息工程畢業論文03-13
基于Blog的動態信息資源組織03-18
談電子商務的安全策略03-18
生物信息技術畢業論文12-06
基于總線的多功能信息系統的研究03-07