《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > Web应用系统的安全性设计
Web应用系统的安全性设计
来源:微型机与应用2010年第21期
张国和,徐骏善
(南京理工大学 机械工程学院,江苏 南京 210094)
摘要: 探讨了Web应用系统的安全问题,阐述了防火墙技术、身份验证技术、ASP.NET程序安全性设计、数据加密技术等实现Web应用系统安全性设计的技术。
Abstract:
Key words :

摘  要: 探討了Web應(yīng)用系統(tǒng)的安全問題,闡述了防火墻技術(shù)、身份驗證技術(shù)、ASP.NET程序安全性設(shè)計、數(shù)據(jù)加密技術(shù)等實現(xiàn)Web應(yīng)用系統(tǒng)安全性設(shè)計的技術(shù)。
關(guān)鍵詞: Web應(yīng)用系統(tǒng);防火墻;身份驗證;ASP.NET;數(shù)據(jù)庫

    隨著Internet的飛速發(fā)展,Web服務(wù)的應(yīng)用越來越廣泛,企業(yè)信息系統(tǒng)的應(yīng)用領(lǐng)域由傳統(tǒng)的、小型業(yè)務(wù)系統(tǒng)逐漸向大型的、關(guān)鍵業(yè)務(wù)系統(tǒng)轉(zhuǎn)變[1]。企業(yè)信息系統(tǒng)中的數(shù)據(jù),包括業(yè)務(wù)處理信息、技術(shù)資料信息,以及涉及企業(yè)高層發(fā)展計劃和企業(yè)決策信息,其中大部分信息極其重要且具有保密性質(zhì)。伴隨著社會信息化建設(shè)大步推進,人們對企業(yè)信息系統(tǒng)的使用依賴性也越來越強。因此企業(yè)信息系統(tǒng)出現(xiàn)任何故障或被破壞,都會對用戶、企業(yè)乃至整個行業(yè)產(chǎn)生不可估量的影響。
    本文以徐工筑路機械有限公司(以下簡稱徐工筑路)備件管理系統(tǒng)項目為背景,由于此系統(tǒng)是在徐工筑路企業(yè)內(nèi)外Internet/Intranet范圍內(nèi)設(shè)計使用,系統(tǒng)安全性問題關(guān)系到備件管理系統(tǒng)的正常運行,以及企業(yè)的業(yè)務(wù)能否正常展開,因此徐工筑路備件管理系統(tǒng)的安全性設(shè)計就顯得尤為重要了。
1 系統(tǒng)面臨的安全威脅
    徐工筑路備件管理系統(tǒng)的安全威脅主要表現(xiàn)在非授權(quán)訪問系統(tǒng)、偽用戶登錄系統(tǒng)、破壞數(shù)據(jù)的完整性、干擾備件管理系統(tǒng)正常運行等方面。它們主要利用以下途徑:備件管理系統(tǒng)自身存在的漏洞、備件管理系統(tǒng)安全體系的缺陷、徐工筑路員工薄弱的安全意識及尚未健全的管理制度。備件管理系統(tǒng)的安全威脅主要有人為威脅和自然威脅。而人為威脅都是有目的的惡意攻擊,攻擊有主動和被動之分,因此可以將人為威脅分為主動性攻擊和被動性攻擊兩大類。這些攻擊對徐工筑路備件管理系統(tǒng)安全有著直接或潛在的破壞和威脅[2]。
1.1 主動性攻擊
    主動攻擊是指那些攻擊者未經(jīng)徐工筑路許可截獲或篡改公司信息,冒充公司拒絕或中止某些用戶對系統(tǒng)使用的行為。這方面攻擊往往是對數(shù)據(jù)通道中正在傳輸?shù)臄?shù)據(jù)單元進行更改、刪除、延遲、拷貝重發(fā)或插入、合成或偽造等各種惡意處理行為,并以更改報文流、拒絕報文服務(wù)、偽造連結(jié)初始化等形式實現(xiàn)攻擊者的險惡用心。主動攻擊通常易于探測但卻難于防范,因為攻擊者可以通過多種不同方法發(fā)起攻擊。
1.2 被動性攻擊
    被動攻擊主要是指攻擊者通過監(jiān)聽網(wǎng)絡(luò)上傳遞的信息流,從而截獲信息內(nèi)容的行為。這類攻擊僅僅為了獲得信息流的長度、傳輸頻率等數(shù)據(jù)要素,它不像主動攻擊有直接惡意的破壞,而只是觀察和解析出貫穿于一條連接通道上傳輸?shù)臄?shù)據(jù)單元所含的信息(包括用戶數(shù)據(jù)的內(nèi)容,或協(xié)議控制信息),但不纂改或破壞數(shù)據(jù)單元的信息。攻擊者正是通過這種看似“無惡意”的攻擊行為來了解熟悉正在通信的雙方詳情,以便用其他方法達到竊取或破壞備件管理系統(tǒng)和企業(yè)資源的間接性攻擊目的。因此,在信息發(fā)送者或接收者發(fā)現(xiàn)機密信息被泄漏之前,要發(fā)覺這種攻擊是很困難的。然而通過對機密信息進行加密可以避免被動攻擊的發(fā)生。
    從上述分析可以看出備件管理系統(tǒng)所受到的攻擊可能是多方面的,攻擊形式也是多種多樣的,而且往往是多種攻擊同時存在。如何防范這些非法攻擊是一項復(fù)雜而艱巨的任務(wù),需要通過各種安全服務(wù)措施和健全企業(yè)機制來實現(xiàn)。
2 對系統(tǒng)的安全措施
    為了保證備件管理系統(tǒng)的安全運行,保護企業(yè)計算機的硬件、軟件和系統(tǒng)數(shù)據(jù)不因偶然或惡意的原因而遭到破壞、更改或泄漏,本備件管理系統(tǒng)采用以下安全措施。
2.1 使用防火墻技術(shù)
    防火墻技術(shù)是一種建立在現(xiàn)代通信網(wǎng)絡(luò)技術(shù)和信息安全技術(shù)基礎(chǔ)上的網(wǎng)絡(luò)應(yīng)用安全技術(shù),越來越多地被應(yīng)用在專用網(wǎng)絡(luò)與公用網(wǎng)絡(luò)的互聯(lián)環(huán)境之中,尤其是以接入Internet網(wǎng)絡(luò)使用最為廣泛[3]。
    防火墻是指設(shè)置在不同網(wǎng)絡(luò)(如可信任的企業(yè)內(nèi)部網(wǎng)和不可信的外部公共網(wǎng))或網(wǎng)絡(luò)安全域之間的一系列器件的組合。防火墻是不同網(wǎng)絡(luò)或網(wǎng)絡(luò)安全域之間信息的唯一出入口,它能根據(jù)企業(yè)的安全政策(允許、拒絕、監(jiān)測)控制出入網(wǎng)絡(luò)的信息流,且本身還具有較強的抗攻擊能力。防火墻可提供信息安全服務(wù),是實現(xiàn)網(wǎng)絡(luò)和信息安全的基礎(chǔ)設(shè)施。在邏輯上,防火墻既是一個分離器、限制器,也是一個分析器,能夠有效地監(jiān)控內(nèi)部網(wǎng)和因特網(wǎng)之間的任何活動,保證內(nèi)部網(wǎng)絡(luò)的安全[3]。
    徐工筑路備件管理系統(tǒng)在使用防火墻技術(shù)主要體現(xiàn)在兩個方面:
    (1)企業(yè)網(wǎng)絡(luò)級防火墻,用來防止整個企業(yè)內(nèi)部安全網(wǎng)絡(luò)出現(xiàn)外來非法不可信網(wǎng)絡(luò)的入侵。屬于這類的有分組過濾和授權(quán)服務(wù)器,分組過濾檢查所有流入本企業(yè)網(wǎng)絡(luò)的信息,拒絕所有不符合企業(yè)事先制定好的一套準則的數(shù)據(jù),而授權(quán)服務(wù)器則是檢查系統(tǒng)使用用戶的登錄是否合法。
    (2)企業(yè)應(yīng)用級防火墻,企業(yè)從應(yīng)用程序入手來進行備件管理系統(tǒng)的接入控制。通常使用應(yīng)用網(wǎng)關(guān)或代理服務(wù)器來區(qū)分各種應(yīng)用。如徐工筑路公司只允許通過訪問萬維網(wǎng)的應(yīng)用,而阻止FTP應(yīng)用的通過。
2.2 應(yīng)用系統(tǒng)的安全性
    本系統(tǒng)可供徐工筑路的備件中心、備件代理商、市場部、特約維修站、服務(wù)部及銷售部等多個部門員工同時使用,因此在系統(tǒng)安全性設(shè)計方案上,可采用角色管理和系統(tǒng)用戶身份驗證的安全策略。
    (1)角色管理
    角色管理將系統(tǒng)不同模塊權(quán)限和對象權(quán)限整合成一個集合,即角色。通過對系統(tǒng)功能模塊的劃分,不同的模塊對不同的角色有著不同的訪問權(quán)限控制。從而限制了那些沒有該功能模塊訪問權(quán)限的用戶訪問該功能模塊。本系統(tǒng)將操作用戶分為7類角色:倉庫管理員、備件系統(tǒng)管理員、服務(wù)處處長、服務(wù)系統(tǒng)管理員、特約維修站總經(jīng)理、特約維修站信息接待處理員及銷售系統(tǒng)管理員。
    (2)系統(tǒng)用戶身份驗證
    身份驗證技術(shù)是目前廣泛使用的企業(yè)信息系統(tǒng)的安全技術(shù)之一,它通過使用用戶向系統(tǒng)出示自己身份證明、系統(tǒng)核查使用用戶身份證明的有效性兩個過程判明和確認通信雙方的真實有效身份。
    本備件管理系統(tǒng)主要依靠Internet信息服務(wù)(IIS)的身份驗證技術(shù)和Windows NT文件訪問系統(tǒng)的安全性,如圖1所示。使用用戶的訪問請求首先從網(wǎng)絡(luò)客戶進入IIS,IIS可以選擇使用基本的、簡要的或集成的Windows 身份驗證技術(shù)對客戶進行身份驗證,如果客戶通過了身份驗證,那么IIS將根據(jù)驗證后的結(jié)構(gòu)生成新的對ASP.NET的請求后提交給ASP.NET應(yīng)用程序服務(wù)器。之后ASP.NET應(yīng)用程序使用從IIS傳遞來的訪問標記模擬原始提出請求的客戶,并驗證該用戶在配置文件中所給定的訪問權(quán)限。最后通過驗證,應(yīng)用程序通過IIS返回所請求的頁面[4]。此方案依賴了Windows集成的賬戶驗證功能,同時可以盡量減少備件管理系統(tǒng)對ASP.NET程序本身在安全性方面的編程量,大大簡化了備件管理系統(tǒng)設(shè)計過程中的工作量。


2.3 ASP.NET程序的安全性
    在備件管理系統(tǒng)的程序設(shè)計過程中為了減少因程序設(shè)計漏洞而帶來的安全性問題,在程序設(shè)計中采取如下措施來增加ASP腳本的安全性。
    (1)防止SQL注入攻擊,在編程的時候要禁止用戶輸入非法的危險字符,如單引號(‘或’),or,and,、,*,<,>,空格等危險字符[5];同時在客戶端和服務(wù)器端都要對用戶輸入的信息進行驗證;同時在編寫程序過程中盡量使用存儲過程技術(shù),使用存儲過程不僅可以防止某些類型的SQL注入式攻擊,還可以提高SQL語句的執(zhí)行速度;在程序出現(xiàn)異常的情況下,程序會自動跳轉(zhuǎn)到固定的頁面,而不是將錯誤信息顯示給用戶,這樣可以防止部分別有用心的用戶。
    (2)在本備件管理系統(tǒng)中,由于訪問權(quán)限的不同,用戶可以訪問的頁面也不同,為了防止用戶直接從網(wǎng)頁的地址欄中輸入鏈接地址進入某個超出該用戶權(quán)限的頁面,而出現(xiàn)越權(quán)的操作,如圖2所示。用戶登錄后輸入選擇角色并輸入密碼,驗證通過進入導(dǎo)航頁面,同時系統(tǒng)記錄下該用戶的角色。用戶在訪問頁面時,系統(tǒng)將同時記錄用戶請求的路徑,并進入數(shù)據(jù)庫對其進行判斷,如果該用戶的角色具有訪問此頁面的權(quán)限,則進入要訪問的頁面,否則進入錯誤提示頁面。用戶點擊重新登錄后將重新返回到登錄頁面,從而避免了用戶采用直接輸入網(wǎng)址的方式訪問超出其權(quán)限的頁面。由于系統(tǒng)不能夠檢測登錄的賬號是否被他人冒用,所以采取當用戶長時間不在系統(tǒng)中進行操作時(本備件管理系統(tǒng)設(shè)置為20 min),用戶在系統(tǒng)中的Session值過期,從而該登錄的賬號失去了再次使用系統(tǒng)的權(quán)利,必須重新登錄系統(tǒng)。這樣可以防止用戶離開計算機時被他人冒名使用。

    (3)本備件管理系統(tǒng)中具有文件的上傳和下載功能,在上傳文件時為了防止有些用戶上傳惡意文件破壞系統(tǒng),因此需要在上傳時對文件類型進行判斷。除非是指定的文件類型外,其他的文件均不予上傳,尤其是以.asp,.aspx或.exe等結(jié)尾的文件。
2.4 數(shù)據(jù)庫中數(shù)據(jù)加密技術(shù)
    由于系統(tǒng)應(yīng)用程序的關(guān)鍵信息和數(shù)據(jù)都存儲在數(shù)據(jù)庫中,所以數(shù)據(jù)庫的安全性就顯得尤為重要。在信息系統(tǒng)的開發(fā)過程中,加密技術(shù)是一種很常用的安全技術(shù)。它把重要的數(shù)據(jù)通過技術(shù)手段變成亂碼(加密)后再傳送信息,即通過將信息編碼為不易被非法入侵者閱讀或理解的形式來保護數(shù)據(jù)的信息,到達目的地后再用相同或不同的手段還原(解密)信息。根據(jù)加密密鑰和解密密鑰在性質(zhì)上的不同,在ASP.NET應(yīng)用中提供了兩種加密算法,即對稱加密算法和非對稱加密算法[6]。
    (1)對稱加密是加密和解密使用相同密鑰的加密算法。它的優(yōu)點是保密程度較高、計算開銷小、處理速度快、使用方便快捷、密鑰短且破譯困難。由于持有密鑰的任意一方都可以使用該密鑰解密數(shù)據(jù),因此必須保證密鑰不被未經(jīng)授權(quán)的非法用戶得到。在對稱加密技術(shù)中廣泛使用的是DES加密算法。
    (2)非對稱加密是加密和解密使用不同密鑰的加密算法。它使用了一對密鑰:一個用于加密信息;另一個用于解密信息,通信雙方無需事先交換密鑰就可以進行保密通信。但是加密密鑰不同于解密密鑰,加密密鑰是公之于眾,誰都可以使用;而解密密鑰只有解密人知道,這兩個密鑰之間存在著相互依存關(guān)系:即用其中任一個密鑰加密的信息只能用另一密鑰進行解密。它只可加密少量的數(shù)據(jù)。在非對稱加密算法中普遍使用的是RSA加密算法。
    基于上述分析,并結(jié)合徐工筑路備件信息網(wǎng)的特點,采用RSA與DES混合加密體制的方式實現(xiàn)數(shù)據(jù)信息的加密??梢杂脤ΨQ加密算法(DES加密算法)加密較長的明文;用非對稱加密算法(RSA加密算法)加密數(shù)字簽名等較短的數(shù)據(jù),這樣既保證了數(shù)據(jù)的保密強度,又加快了系統(tǒng)運算速度。
    本文通過對信息系統(tǒng)安全威脅及系統(tǒng)安全的防護措施的分析[7],使用戶能夠最大限度地保障Web應(yīng)用系統(tǒng)的安全,并通過必要的安全措施,將可能發(fā)生的風(fēng)險控制在可接受的范圍之內(nèi)。
參考文獻
[1] 唐俊,趙曉娟,賈逸龍.企業(yè)信息系統(tǒng)安全體系結(jié)構(gòu)的研究[J].微計算機信息,2010(26):43-45.
[2] 瞿微.基于Web的企業(yè)售后服務(wù)系統(tǒng)設(shè)計與加密技術(shù)研究[D].武漢:華中科技大學(xué),2006.
[3] 彭繼衛(wèi).淺談計算機網(wǎng)絡(luò)中信息系統(tǒng)的安全防范[J].中國新技術(shù)新產(chǎn)品,2009(1):23.
[4] 羅曉光.企業(yè)機械有限公司銷售管理系統(tǒng)的設(shè)計與開發(fā)[D].南京:南京理工大學(xué),2008.
[5] 金永濤.基于.NET框架的Web應(yīng)用系統(tǒng)安全問題研究[J].北華航天工業(yè)學(xué)院學(xué)報,2009(12):1-3.
[6] 李海泉,李健.計算機網(wǎng)絡(luò)安全與加密技術(shù)[M].北京:科學(xué)出版社,2001.
[7] 許曉馮.Web應(yīng)用系統(tǒng)的安全威脅及其防護[J].信息化研究,2009(35):1-3.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容