摘 要:本文主要闡述Asp技術及用Asp技術的WEB服務器的安全問題進行分析和總結,從而提高使用ASP技術的WEB開發和應用的安全。
關鍵詞:ASP Web 服務器 數據庫 安全
中圖分類號:TP2文獻標識碼:A文章編號:1674-098X(2011)04(b)-0023-01
ASP是Active Server Page的縮寫,意為“動態服務器頁面”。ASP是微軟公司開發的代替CGI腳本程序的一種應用,它可以與數據庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式是.asp,現在常用于各種動態網站中。
1 ASP概述
1.1 ASP工作原理
當在Web站點中融入ASP功能后,將出現以下情況:
(1)用戶向瀏覽器地址欄輸入網址,默認頁面的擴展名是.asp。
(2)瀏覽器向服務器發出請求。
(3)服務器引擎開始運行ASP程序。
(4)ASP文件按照從上到下的順序開始處理,執行腳本命令,執行HTML頁面內容。
(5)頁面信息發送到瀏覽器。
1.2 ASP網頁特點
(1)利用ASP可以實現突破靜態網頁的一些功能限制,實現動態網頁技術;
(2)ASP文件是包含在HTML代碼所組成的文件中的,易于修改和測試;
(3)服務器上的ASP解釋程序會在服務器端執行ASP程序,并將結果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產生的網頁;
(4)ASP提供了一些內置對象,使用這些對象可以使服務器端腳本功能更強。例如可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,并在腳本中對這些信息進行處理,然后向web瀏覽器發送信息。
(5)ASP可以使用服務器端ActiveX組件來執行各種各樣的任務,例如存取數據庫、發送Email或訪問文件系統等。
(6)由于服務器是將ASP程序執行的結果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,可防止ASP程序代碼被竊取。
(7)方便連接ACCESS與SQL數據庫。
(8)開發需要有豐富的經驗,否則會留出漏洞,讓黑客利用進行注入攻擊。
2 ASP程序設計安全技術
Asp程序設計的安全主要涉及三個方面:Asp源代碼的安全、Asp程序設計的安全和數據庫安全。
2.1 ASP源代碼的安全
(1)保證ASP源碼的安全的主要技術是Asp腳本加密技術。常用方法有兩種:一是ASP2DLL技術。二是利用微軟提供的Script Encoder加密軟件對Asp頁面進行加密。
(2)合適的腳本。應用程序的腳本映射保證了Web服務器不會意外地下載Asp文件的源代碼,但不安全或有錯誤的腳本易導致Asp源代碼泄漏。
2.2 程序設計中的安全
(1)用戶名、口令機制。用戶名、口令是最基本的安全技術,在Asp中常采用Form表單提交用戶輸入的帳號和密碼,與用戶標識數據庫中相應的字段進行匹配,在必要的場合可以使用MD5算法來加密用戶輸入的密碼,可以保證在線路被竊聽的情況下依然保證數據的安全,保護用戶口令的安全。
(2)注冊驗證。為了網站資源的安全性和易于管理,可以對用戶進行分級,給定權限,使特定用戶訪問特定的資源群,也可以阻止未授權用戶使用網站的資源,這就需要對用戶進行注冊驗證。
(3)網頁過期管理。考慮到有可能用戶在使用網頁的過程中,有可能會長時間離開計算機處理別的事情,這樣會給別有用心的人有可乘之機,所以應該給網頁一個過期時間。
(4)頁面緩沖管理:頁面緩沖可以加快網站的瀏覽速度,但也會給非法用戶提供了越權瀏覽的機會。因此,重要的Web頁面(如身份驗證頁面)必須禁止頁面緩存,瀏覽器每次向Web服務器請求新頁面。
(5)程序錯誤管理:錯誤的執行參數和意外的執行過程,都可以導致頁面出現錯誤提示,而這些錯誤提示會提供給別人很多網站的信息,所以在編程過程中要注意對異常數據的處理和意外事件的控制,才能保證網站的安全。
2.3 數據庫的安全
(1)ACCESS數據庫:在一些小型程序中,常用到ACCESS數據庫,ACCESS數據庫易于管理而安全性低,應注意在命名時不要采用常規的*.mdb的后綴名,而應該用*.asp,*.inc文件的后綴名,這樣,即使數據庫路徑即使被別人發現,也不能下載數據庫而導致信息的不安全。
(2)SQL SERER數據庫:更改sa口令,取消guest帳號。并且不能把sa帳號的密碼寫在應用程序或者腳本中。加強數據庫訪問日志的監視,定期備份數據庫。同時,制訂完整的數據庫備份策略,在必要的時候能夠實現對數據庫的恢復。
(3)屏蔽數據庫路徑信息。為防止數據庫路徑和名稱隨ASP源代碼失密而失密,常使用ODBC數據源。使用ODBC數據源連接數據庫的命令是Conn.open “DSN名”。
3 Web服務器的安全
Asp技術中常用微軟自帶的IIS架設WEB服務器。WEB服務器的安全包括了系統的安全和IIS的安全。
3.1 系統的安全
(1)目錄文件的保護:NTFS權限。NTFS文件系統提供了比Fat32更為安全的文件管理方式,它通過文件訪問控制表(ACL)定義了用戶訪問文件和目錄的權限級別,如果用戶具有打開文件的權限,計算機則允許該用戶訪問文件。通過設定目錄和文件的訪問權限,禁止無關用戶對目錄文件進行復制、修改、刪除等操作,限制對系統的入侵。
(2)防火墻技術。可以根據WEB服務器的應用范圍,決定防火墻的位置。
(3)審核與監視技術。安全審核負責監視系統中各種與安全有關的事件,生成安全日志,并提供查看安全日志的方法。
(4)關閉不用的服務和協議,堵上系統的漏洞和后門。“盡量少開沒用到的服務”,如果開啟了某個服務,就要提防該服務可能引起的漏洞。
3.2 IIS的安全
(1)不要將IIS安裝在系統分區上
默認情況下,IIS與操作系統安裝在同一個分區中,這是一個潛在的安全隱患。因為一旦入侵者繞過了IIS的安全機制,就有可能入侵到系統分區。如果管理員對系統文件夾、文件的權限設置不是非常合理,入侵者就有可能篡改、刪除系統的重要文件,或者利用一些其他的方式獲得權限的進一步提升。將IIS安裝到其他分區,即使入侵者能繞過IIS的安全機制,也很難訪問到系統分區。
(2)修改IIS的安裝默認路徑
IIS的默認安裝的路徑是\\inetpub,Web服務的頁面路徑是\\inetpub\\wwwroot,這是任何一個熟悉IIS的人都知道的,入侵者也不例外,使用默認的安裝路徑無疑是告訴了入侵者系統的重要資料,所以需要更改。
(3)刪除危險的IIS組件
默認安裝后的有些IIS組件可能會造成安全威脅,例如Internet服務管理器(HTML)、SMTP Service和NNTP Service、樣本頁面和腳本,大家可以根據自己的需要決定是否刪除。
參考文獻
[1]陳婧等.基于ASP技術的MIS安全機制研究[J].情報雜志,2003.
[2]華軍等.基于ASP技術網站建設的安全性研究[J].計算機工程和應用,2003.