摘要:文章討論了IIS+Asp+Access模式的安全缺陷,從Web服務器的安全漏洞、Asp網站程序及Access數據庫存在的安全隱患方面加以分析并給出預防對策。
關鍵詞:網絡安全;IIS;ASP;Access數據庫
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)19-30049-02
The Research of Site Security Based on IIS+ASP+Access
WANG Feng
(Computer Department, Automobile Manage College, Bengbu 233011, China)
Abstract: The article discusses the security flaws of IIS+ASP+Access mode, From the Web server security holes, ASP Site Access database procedures and the terms of potential safety problems, gives thepreventive measures.
Key words: Network Security; Internet Information Server; Active Server Page; Access Database
1 引言
Internet Information Server的縮寫為(IIS)是一個World Wide Web server,ASP是一種典型的服務器端網頁設計技術,Access數據庫是以標準JET為引擎的桌面型數據庫系統(tǒng)。目前,IIS+ASP+Access模式已成為構建Internet網站的常用模式,被廣泛應用在網上銀行、電子商務、搜索引擎等各種互聯(lián)網應用中。但是這種模式的網站在運行時會帶來嚴峻的安全問題。
2 Web服務器上的安全問題及防范
2.1 Web服務器的安全問題
主要來自服務器的安全漏洞,可以從以下幾方面考慮:(1)Web服務器本身存在一些漏洞使得一些人能侵入到主機系統(tǒng).破壞一些重要的數據。甚至造成系統(tǒng)癱瘓;(2)Web服務器的一些擴展組件存在漏洞,可能導致網絡安全和信息泄漏;(3)從遠程用戶向服務器發(fā)送信息時,中途遭不法分子非法攔截;(4)在Web服務器上你不讓人訪問的秘密文件、目錄或重要數據。
2.2 Web服務器的安全防范措施
(1)對Web服務器經常進行升級,安裝相應的安全補丁,可以最大限度的堵住系統(tǒng)漏洞;(2)更改默認的管理員帳戶名(Administrator)和描述,新建一個名為Administrator的陷阱帳號為其設置最小的權限;(3)網絡服務安全管理禁止C$、D$、ADMIN$一類的缺省共享、解除NetBios與TCP/IP協(xié)議的綁定、關閉不需要的服務;(4)配置 IIS 服務時不使用默認的Web站點、刪除IIS默認創(chuàng)建的Inetpub目錄(在安裝系統(tǒng)的盤上)、刪除系統(tǒng)盤下的虛擬目錄,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。刪除不必要的IIS擴展名映射;(5)定期查看服務器中的日志logs文件,分析一切可疑事件;(6)設置好Web服務器上系統(tǒng)文件的權限和屬性,對可讓人訪問的文檔分配一個公用的組,如www,并只分配它只讀的權利。把所有的HTML文件歸屬www組,由Web管理員管理www組。對于Web的配置文件僅對Web管理員有寫的權利;(7)通過限制許可訪問用戶IP或DNS;(8)通過殺毒軟件和防火墻保證服務器安全。
3 網站數據庫的安全問題及防范
3.1 數據庫位置名稱方面的安全問題和防范
網站設計人員喜歡把數據庫放在Data或Database等目錄下。對數據庫的文件名也通常采用Data、Mydata、Database等。這種做法在方便自己的同時,很容易被非法用戶猜解到并下載。從而網站的數據被竊取。防范對策:可以采用字母+數字并超過8位的組合作為數據文件目錄或文件名,對于Access文件最好更改其擴展名MDB為ASP。
3.2 數據庫結構方面安全問題和防范
(1)數據表的命名問題。不要直接用類似Admin、User等作為表名,可以使用XX—Admin—XX等形式,用字母和數字組合作為表名的前后綴,以防止SQL注入時被猜解出表名;(2)數據宇段的命名問題。不要直接用Admin、UserName、等敏感字段名,可以采用一些難以猜解的字母和數宇組合來作為字段名以加強數據的安全性;(3)數據庫權限安全問題盡量不要把數據庫密碼留空或使用弱口令作為數據庫密碼,合理使用10位(字母和數字混排)以上的數據庫密碼來加強數據庫的安全。
3.3 數據庫連接字符串方面安全問題和防范
(1)在數據庫連接字串中不直接出現(xiàn)明文密碼,采用對稱加密密碼可以提高數據庫的安全;(2)數據連接文件不要用常見的Conn、DbConn作為文件名,避免使用.inc、.asa作為擴展名,同時也不要把文件放在類似Inc、Data、Conn等目錄下,以防數據庫連接被非法下載。
在ASP網站設計中,如果有條件,應盡量使用ODBC數據源,不要把數據庫名寫在程序中,例如:
DBPath = Server.MapPath(\"./akkt/kj61/acd/av5/faq9jl.mdb\")
conn.open \"driver={Microsoft Access Driver(*.mdb)};dbq=\" DBPath
可見,即使數據庫名字起得再怪異,隱藏的目錄再深,ASP源代碼失密后,也很容易被下載下來。如果使用ODBC數據源,就不會存在這樣的問題了:
conn.open \"ODBC-DSN名\"
4 程序本身安全問題及防范
4.1 ASP頁面的安全性問題及防范
4.1.1 ASP頁面的安全問題
(1)由于ASP程序采用非編譯性語言,如果黑客侵入站點,就可以獲得ASP源代碼;(2)ASP代碼使用表單實現(xiàn)交互,而相應的內容會反映在瀏覽器的地址欄中,只要記下這些內容,就可以繞過驗證直接進入某一頁面。例如在瀏覽器中敲入“...page.ASP?x=1”,即可不經過表單頁面直接進入滿足“x=1”條件的頁面。因此,在驗證或注冊頁面中,必須采取特殊措施來避免此類問題的產生。
4.1.2 ASP頁面的安全防范
我們可以采用兩種方法對ASP頁面進行加密。一是使用組件技術將編程邏輯封裝入DLL之中;二是使用微軟的Script Encoder對ASP頁面進行加密。Script Encoder的運行程序是SCRENC.EXE,使用方法是:
SCRENC [/s][/f][/xl][/l defLanguage][/e defExtension] inputfile outputfile 其中:/s 是屏蔽屏幕輸出;/f 指定輸出文件是否覆蓋同名輸入文件;/xl 指是否在.ASP文件的頂部添加@Language指令;/l defLanguag指定缺省的腳本語言;/e defExtension 指定待加密文件的擴展名。
4.2 后臺管理方面的安全問題及防范
4.2.1 后臺管理方面的安全問題
(1)網站后臺管理入口通常會采用Admin.ASP、Iogin.ASP等常見形式,也有的直接在網頁上鏈接管理入口;(2)用Admin、Admin888、等作為管理員的用戶名用Admin、Admin888等來作為管理員密碼;(3)管理員密碼都采用明文來保存。這些都成為網站安全的重大隱患。
4.2.2 防范措施
(1)更改網站的后臺入口路徑,最好是設定一個不易被猜解到的目錄和文件名,不要在前臺頁面上鏈接管理入口;(2)杜絕使用弱口令,以避免安全隱患,可以采用字母+數字+符號字符,并超過8位以上的密碼;(3)強制對所有用戶密碼加密,最好采用非對稱加密或采用不可逆的運算,如使用32位的MD5碼。
5 結束語
本文介紹了IIS+ASP+Access模式網站容易出現(xiàn)的安全漏洞和解決措施,安全的概念應貫穿在整個網站的設計過程中,必須隨時考慮安全的問題,網站才會多一些安全性。
參考文獻:
[1] 希利爾 S 著.Active Server Pages編程指南[M]. 董啟雄 譯.北京:宇航出版社, 1998.
[2] 沈文智. Microsoft IIS網頁技術[M]. 北京:人民郵電出版社, 1998.
[3] 張小斌, 嚴望佳. 黑客分析與防范技術[M]. 北京:清華大學出版社, 1999.