小議網絡管理系統的安全性

前言:尋找寫作靈感?中文期刊網用心挑選的小議網絡管理系統的安全性,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

小議網絡管理系統的安全性

1.net網絡管理系統安全性分析

在系統運行時,.net和Internet信息服務(IIS)協調工作,能提供很好的安全機制。而身份驗證和RBAC權限管理等方式能很好地提高基于.net網絡管理系統的安全性。對發送請求的客戶端信息進行身份核實被稱為身份驗證,主要驗證登陸身份的合法性。.net網絡管理系統的身份驗證有以下幾種:windows身份驗證、forms驗證、passport驗證。RBAC權限管理則決定用戶是否有權限訪問他所調用的資源,而數據的加密和使用存儲過程則為數據訪問提供了有力的安全保證。

1.1.net的身份驗證

1.1.1Windows身份驗證

Windows身份驗證在Intranet中使用,Intranet中的用戶組可以以客戶端身份登陸。IIS通過Web瀏覽器與.net網絡管理系統進行數據訪問,客戶端的請求需要經過IIS解密驗證才能到達.net應用程序。假設被客戶端請求的資源可以匿名訪問,客戶端的請求將不進行Windows身份驗證;如果被驗證且已被授權的用戶請求需要具有一定的權限才能訪問,那么.net應用程序將對該請求進行處理。通常IIS把用戶票據映射到Windows賬戶,然后通過用戶票據來驗證用戶。Windows身份驗證類型一般分為以下三種:

其一,基本身份驗證?;旧矸蒡炞C方法已經在工業上得到普遍的運用,它主要用來收集用戶身份驗證信息。然而用戶的身份信息以文本信息的形式在網絡上傳送過程中,如果使用Sniffer之類的監聽工具能夠監聽到,因此只有在安全性要求不高的環境中才使用基本身份驗證。

其二,Windows域的摘要式驗證。摘要式驗證的使用要求Windowsserver2003域控制器站點的環境,并且IE版本在5.0以上才能使用。摘要式驗證將密碼用Hash算法轉換,然后發送,同時在域控制器上將密碼以文本文件保存,IIS發送的散列和域控制器的文本文件進行比較。摘要式驗證的安全性低,如果有人獲得域控制器上的文本文件,密碼就會被破解,從而產生安全隱患。

其三,集成Windows驗證。集成Windows驗證的使用必須保證域控制器可以訪問,同時瀏覽器的版本在InternetExplorer5.0以上。Windowsserver2003域控制器的站點允許Windows域用戶登錄。對客戶端而言,Windows驗證過程是透明的。根據以上各種驗證的特點,IIS管理服務應當選擇要集成的Windows身份驗證為宜,因為它的實現比較方便。

1.1.2forms身份驗證

在Internet中,forms進行身份驗證服務使用的是Cookies,Cookies存儲有驗證信息。如果客戶端設置IIS允許匿名訪問,那么.net網絡管理系統中仍可以進行forms身份驗證以實現在應用程序內部進行客戶端的身份驗證和授權。forms利用重定向功能[3]將客戶端瀏覽器發送的未通過驗證的請求重定向到login.asp登錄頁面,客戶端在登陸頁面輸入用戶驗證票據。用戶票據驗證如果通過且被授權,那么.net應用程序將生成驗證用戶身份的密匙(通過html發送到客戶端,稱為身份驗證票據)的forms(稱為身份驗證表單),身份驗證表單存放在Cookies中,再重定向到用戶指定的頁面上。如果同一用戶在同一會話中再次發出請求時,forms身份驗證和授權將被再次進行。

1.1.3passport身份驗證

集中身份驗證服務(Microsoft提供)稱為pass-port身份驗證,需要安裝PSDK(PlatformSoftwareDevelopmentKit)。這種認證方式適合于跨站之間的應用,用戶有一個用戶名和密碼可以訪問任何成員站。其工作原理與forms認證相似,都需要在客戶端創建認證cookies。在進行passport驗證時,首先客戶端針對受保護的資源發出HTTPGET請求,應用程序先檢查passport身份驗證票據是否存放客戶端的Cookie,有效的票據如果在站點被找到,客戶端就進行身份驗證,反之服務器返回狀態代碼,客戶端將被重定向到passport登錄服務??蛻舳藞绦兄囟ㄏ虿⒃俅握埱蟪跏嫉馁Y源。按如下方式可將pass-port設置為身份驗證模式:把<authenticationmode=“passport”>代碼設置到web應用程序的web.config配置文件中。

1.2基于角色訪問權限的控制

基于角色的訪問控制RBAC是一種靈活、高效的訪問機制,它在用戶和權限之間引入了角色的概念。這樣,訪問權限和角色相關聯,角色與用戶關聯,實現了用戶和權限的邏輯分離,便于權限的管理。以企業網絡管理系統為例,當某一用戶的職位發生變化,其對應的權限也將發生變化。采用RBAC時,只要系統管理員委派給某一用戶新的角色即可,不需要專業人員來操作。其具體思想是根據企業的訪問控制需要,確定整個系統的功能模塊的情況和用戶角色的情況,從而創建功能模塊表、功能表、角色表,其中模塊表由模塊編號、模塊名稱、功能數量等字段組成,主要用來顯示功能的數量。功能表由功能編號、功能名稱、該功能所屬的模塊編號等字段組成,確定某功能的編號(排在第幾位)。角色表是由角色編號、角色名稱、角色值等字段組成,其中角色值確定角色是否擁有某功能。角色值是由一組類似的二進制組成的字符串(由“0”、“1”構成),字符串的長度由功能數量決定,角色值對應位置上的是“0”,則表示沒有此權限,是“1”表示擁有此權限。例如,某公司的普通員工的角色值是100001010…(共20位),位數和功能編號對應,即角色值的第一位代表功能編號01,第二位代表功能編號02。如果要對該員工增加員工信息查詢的權限(該權限對應功能編號03),則只需要將角色值第三位置成“1”即(101001010…)。它們的關系如圖1所示。如果想添加新角色只需將角色值全置為“0”,根據角色需要和功能表編號,利用.net類庫中的re-palce函數將對應的功能編號的位置置為“1”即可。通過RBAC權限管理,使得授權用戶能夠順利訪問.net網絡管理系統授權使用的資源,并且防止了授權用戶對.net網絡管理系統的非法使用。進入.net網絡管理系統后,按照用戶所屬角色的不同,動態構建不同角色的鏈接頁面,使模塊功能在表示層上,保證了數據資源的安全。

1.3數據庫安全

1.3.1數據庫密碼的加密處理

用戶的信息保密在基于.net網絡管理系統中是相當重要的,如果用戶的密碼被別人盜取,那么就會導致網絡管理系統的數據和數據庫處于不安全的狀態。但是通過對用戶的密碼加密則可以解決問題。用戶密碼應當加密之后再存儲,不能直接存儲在數據庫中。用戶登陸時,也對密碼進行加密生成亂碼,再和存儲于數據庫中的亂碼比較,如果相同,則通過驗證。.net中提供了加密的解決方法。在.net中System.Web.Security中包含類FormAuthentication,這個類提供的函數可以用MD5算法將用戶的密碼變成亂碼,然后存儲在cookies中。函數支持“SHA1”和“MD5”兩個加密算法。這兩個散列算法是單向算法,即使看到加密后的密碼也無法獲得原始值。通過這種辦法可以提高驗證密碼的準確性,保證了用戶、數據和數據庫的安全。

1.3.2使用存儲過程

中間層的組件ADO.net被基于.net的網絡管理系統用來訪問數據庫,在對數據庫的訪問上,對數據的操作全部采用存儲過程實現。表示層(客戶端)和數據訪問層的隔離也可以通過使用存儲過程實現,用戶對數據表的直接更新和訪問得到了控制,非法代碼的安全隱患也被使用存儲過程消除了。另外,存儲過程避免了SQLServer數據庫受到“SQL注射”的攻擊。“SQL注射”攻擊可以解釋為攻擊者把SQL的and或or命令插入到web表單的輸入文本框或頁面查詢請求的字符串,以欺騙數據庫執行惡意的SQL命令。如果按照上述操作,相當于不需要密碼驗證就登錄到網絡管理系統,對系統造成安全隱患,甚至使系統遭到破壞。數據庫如果采用使用存儲過程訪問,“SQL注射攻擊”可以被消除。另外,在用戶進行數據訪問的時候,有時一次會產生多個SQL語句,那么就可以將其在存儲過程中打成一個包,然后到數據庫服務器批量執行,網絡通信量和執行的速度將會有很大的提高。存儲過程實際被ADO.net組件調用時,它的代碼全部使用參數而不使用實際值。由此,存儲過程的使用保證了數據庫的安全和系統的安全運行。

2結論

本文對基于.net的網絡管理系統的安全性進行了分析,基于.net的網絡管理系統的安全性同時需要考慮數據訪問安全和網絡安全兩個方面。分析發現,基于.net的B/S的三層架構的網絡管理系統安全訪問機制得到了基本的保障,在邏輯上表示層、業務邏輯層、數據訪問層相互之間獨立,提高了網絡管理系統的安全,軟件開發的耦合度降低了。網絡管理系統數據的安全被身份驗證、RBAC權限管理、SQL數據訪問加密、存儲過程訪問SQLServer數據庫等多種安全策略所保證,很好地限制了網絡管理系統的攻擊入侵,網絡管理系統的安全性、完整性得到了保證。

作者:圣光磊 單位:合肥工業大學計算機與信息學院 亳州師范高等??茖W校理化系

亚洲精品一二三区-久久