時(shí)間:2023-03-06 16:05:27
序論:在您撰寫網(wǎng)站設(shè)計(jì)安全性時(shí),參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。
關(guān)鍵詞:安全;網(wǎng)站;數(shù)據(jù)庫加密
中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)32-1099-04
Research and Realization of the Safety in Website Design
HU Gang1, XIA Rong2
(1.Sichuan Information Technology College,Guangyuan 628017,China; 2.Science and Technology College of NCHU,Nanchang 330034,China)
Abstract: In the computer system, the information is to point the procedure on the equipments with data saving in calculator and its exterior. Because the computer information in the system involves secret problems, it is easily attached by ulterior motives by hostile influence and some illegal customers. Additionally almost all of the calculator systems contain latent crisis of the different degree, extending the safety of the personal information, the problem of keeping secret is more and more valued by people. This paper discusses the safety problems existing in website design from the system and applied program design.The safety of the net can be improved by loading the newest pitch program and adopting NTES format on the system layers.And the safety problems can be resolved by identifying the ID and by encrypting in applied program design. This paper introduces how to improve safety in the development of website, and points out how to encrypt and decrypt the database,and at the same time gives some examples.
Key words: Safety; Website; Database Encryption
1 引言
信息與通信技術(shù)迅速在多個(gè)領(lǐng)域取得了突破性進(jìn)展,如實(shí)現(xiàn)了光纖密集波分復(fù)用的超大容量光通信系統(tǒng),還有即將投入使用的具有多種業(yè)務(wù)、多種功能的第三代移動(dòng)通信系統(tǒng),再就是牽動(dòng)全世界的、即將使100多年來的電話網(wǎng)發(fā)生變革的、在一個(gè)網(wǎng)上實(shí)現(xiàn)話音、數(shù)據(jù)和廣播電視三網(wǎng)融合的新一代互聯(lián)網(wǎng)。信息與通信如此神奇的發(fā)展,使當(dāng)今社會(huì)生產(chǎn)力從工業(yè)化社會(huì)大大向信息化社會(huì)推進(jìn)了一步,知識(shí)(科技、網(wǎng)絡(luò))經(jīng)濟(jì)已不可逆轉(zhuǎn)地出現(xiàn)于市場商品經(jīng)濟(jì)的大潮中。可是,信息化社會(huì)賴以建立的物質(zhì)基礎(chǔ)――信息與通信網(wǎng),卻在萬千世界中處于新生的、比較脆弱的位次,它的成長、它的安全性與可靠性,承受著來自兩大方面的損害、攻擊與破壞。一是來自信息與通信網(wǎng)設(shè)備系統(tǒng)本身的軟件與硬件。由于當(dāng)前工藝(技術(shù))水平所限,它們不可避免地會(huì)存在弱點(diǎn)、缺陷、變質(zhì)、老化、過期以及互串、互拆、過壓、過流、擊穿和燒毀等現(xiàn)象。為了設(shè)備系統(tǒng)的可靠性,為此建有龐大的支撐系統(tǒng)和完善的監(jiān)視、監(jiān)測、轉(zhuǎn)換等功能的維護(hù)管理系統(tǒng),還有冷、熱備用以及替代體制等,以實(shí)現(xiàn)對信息與通信網(wǎng)自動(dòng)或人為地更換、更新元部件和線纜;更換、更新軟件版本;補(bǔ)充和擴(kuò)展網(wǎng)絡(luò)。其目的是使信息與通信網(wǎng)設(shè)備系統(tǒng)有滿意的可靠性。
在網(wǎng)站設(shè)計(jì)中,網(wǎng)站自身的安全性非常重要,對個(gè)人信息的真實(shí)性和機(jī)密性的研究,具體的研究內(nèi)容包含了以下的幾個(gè)方面:
1) 軟件安全
軟件安全主要是指保證所有計(jì)算機(jī)程序和文件資料免遭破壞、非法拷貝、非法使用而采用的技術(shù)和方法。它的主要內(nèi)容有:
① 軟件的自身安全:防止軟件丟失、被破壞、被篡改、被偽造,核心是保護(hù)軟件自身的安全;
② 軟件的存儲(chǔ)安全:可靠存儲(chǔ)(保密/壓縮/備份);
③ 軟件的通信安全:系統(tǒng)擁有的和產(chǎn)生的數(shù)據(jù)信息完整、有效,不被破壞或泄露;
④ 軟件的使用安全:合法使用,防竊取和非法復(fù)制;
⑤ 軟件的運(yùn)行安全:確保軟件的正常運(yùn)行,功能正常。
2) 數(shù)據(jù)安全
個(gè)人信息的數(shù)據(jù)安全是指通過對數(shù)據(jù)采集、錄入、存儲(chǔ)、加工、揭穿地等數(shù)據(jù)流動(dòng)的各個(gè)環(huán)節(jié)進(jìn)行精心的組織和嚴(yán)格控制,防止數(shù)據(jù)被故意的或偶然的非法授權(quán)泄露、更改、破壞或使數(shù)據(jù)被非法系統(tǒng)辯識(shí)、控制。它包括以下內(nèi)容:
① 數(shù)據(jù)庫的安全;
② 數(shù)據(jù)加密技術(shù);
③ 壓縮技術(shù);
④ 備份技術(shù)。
3) 網(wǎng)絡(luò)安全
隨著信息高速公路的建設(shè)和國際互聯(lián)網(wǎng)的形成,個(gè)人信息通過網(wǎng)絡(luò)傳播也是很頻繁的途徑,網(wǎng)絡(luò)安全是指為了保證網(wǎng)絡(luò)及其安全而采用的技術(shù)和方法。主要包括:
① 網(wǎng)絡(luò)安全策略和安全機(jī)制;
② 網(wǎng)絡(luò)數(shù)據(jù)加密技術(shù);
③ 密鑰管理技術(shù);
④ 防火墻技術(shù)。
2 操作頁面控制算法的實(shí)現(xiàn)
某些非法用戶跳過登錄頁面直接進(jìn)入管理頁面繼而對信息進(jìn)行非法操作。而使用的自定義的“cookies.asp”來阻止非法用戶直接跳過而必須經(jīng)過登錄頁面登錄正確以后才能進(jìn)行下一步的操作。其代碼如下:
<%
if request.cookies("ershou")("administrator")="" or request.cookies("ershou")("ijob")<>"1" or session("admin_ijob")="" or request.cookies("ershou")("domain")="" then
response.redirect "login.asp"
end if
if Request.ServerVariables("SERVER_NAME")request.cookies("ershou")("domain") then
response.redirect "login.asp"
end if
%>
當(dāng)用戶未通過登錄而直接進(jìn)入其他的頁面時(shí),系統(tǒng)將自動(dòng)還原到登錄界面login.asp。
3 網(wǎng)站防注入及IP檢測算法的實(shí)現(xiàn)
許多網(wǎng)站在程序編寫時(shí),沒有對輸入數(shù)據(jù)的合法性進(jìn)行判斷,使應(yīng)用程序存在安全隱患。用戶可以提交一段數(shù)據(jù)庫查詢代碼,根據(jù)程序返回的結(jié)果進(jìn)行分析,從而獲取自己想要知道的信息,這就是所謂的SQL Injection。非法攻擊者使用SQL注入的思路一般是:
1) SQL注入漏洞的判斷,即尋找注入點(diǎn);
2) 判定后臺(tái)數(shù)據(jù)庫類型;
3) 確定XP_CMDSHELL的可執(zhí)行情況。如當(dāng)前的用戶具有數(shù)據(jù)庫設(shè)置的SA權(quán)限且master.dbo.xp_shell擴(kuò)展存儲(chǔ)過程能夠正確執(zhí)行,則計(jì)算機(jī)就可以被完全控制也就完成了整個(gè)注入過程。
SQL防注入系統(tǒng)利用注入漏洞定義一個(gè)新的函數(shù)如下:
Function SafeRequest(ParaName,ParaType)
'--- 傳入?yún)?shù) ---
'ParaName:參數(shù)名稱-字符型
'ParaType:參數(shù)類型-數(shù)字型(1表示以上參數(shù)是數(shù)字,0表示以上參數(shù)為字符)
Dim ParaValue
ParaValue=Request(ParaName)
If ParaType=1 then
If ParaValue="" or not isNumeric(ParaValue) then
Response.write "參數(shù)" & ParaName & "必須為數(shù)字型!"
Response.end
End if
Else
ParaValue=replace(ParaValue,"'","''")
End if
SafeRequest=ParaValue
End function
所以SQL防注入系統(tǒng)在目前很多系統(tǒng)中都有被使用。在IP檢測的同時(shí)系統(tǒng)會(huì)自動(dòng)產(chǎn)生數(shù)據(jù)庫記錄操作IP的詳細(xì)情況,并加入了封鎖/解封控制。錄入數(shù)據(jù)庫如表1所示。
4 網(wǎng)站數(shù)據(jù)庫加密
一個(gè)網(wǎng)站數(shù)據(jù)庫的保密性是很值得考慮的問題,在這里提供三種數(shù)據(jù)庫保密方法:
1) 修改數(shù)據(jù)庫的后綴名
修改數(shù)據(jù)庫的后綴名為.asp放在網(wǎng)站的根目錄下,當(dāng)然cnn.asp中的數(shù)據(jù)庫連接代碼也得相應(yīng)的修改:
<%
set rs=server.createobject("adodb.recordset")
set conn=server.createobject("adodb.connection")
DBPath = Server.MapPath("news.asp")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
%>
這樣別人很難找到你的數(shù)據(jù)庫文件,即便找到了除非他知道改后綴名,否則打開也是一堆a(bǔ)sp代碼,而不是數(shù)據(jù)庫信息。
2) 利用Access自帶的掩碼來保密,不過這種方法的保密性較差,稍微懂些Access的人便能破解。
3) 利用加密函數(shù),這種方法的保密性最強(qiáng),它是利用一段asp代碼建立一個(gè)加密函數(shù),將需要加密的地方加密后再傳給數(shù)據(jù)庫,下面以具體實(shí)例來介紹:
利用MD5來實(shí)現(xiàn)對數(shù)據(jù)加密。它的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個(gè)任意長度的字節(jié)串變換成一定長的大整數(shù))。
例如,當(dāng)用戶登錄的時(shí)候,系統(tǒng)把用戶輸入的密碼計(jì)算成md5值,然后再去和保存在文件系統(tǒng)中的md5值進(jìn)行比較,進(jìn)而確定輸入的密碼是否正確。通過這樣的步驟,系統(tǒng)在并不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統(tǒng)的合法性。這不但可以避免用戶的密碼被具有系統(tǒng)管理員權(quán)限的用戶知道,而且還在一定程度上增加了密碼被破解的難度。
對MD5算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個(gè)32位子分組,經(jīng)過了一系列的處理后,算法的輸出由四個(gè)32位分組組成,將這四個(gè)32位分組級(jí)聯(lián)后將生成一個(gè)128位散列值。
在MD5算法中,首先需要對信息進(jìn)行填充,使其字節(jié)長度對512求余的結(jié)果等于448。因此,信息的字節(jié)長度(Bits Length)將被擴(kuò)展至N*512+448,即N*64+56個(gè)字節(jié)(Bytes),N為一個(gè)正整數(shù)。填充的方法如下,在信息的后面填充一個(gè)1和無數(shù)個(gè)0,直到滿足上面的條件時(shí)才停止用0對信息的填充。然后,在在這個(gè)結(jié)果后面附加一個(gè)以64位二進(jìn)制表示的填充前信息長度。經(jīng)過這兩步的處理,現(xiàn)在的信息字節(jié)長度=N*512+448+64=(N+1)*512,即長度恰好是512的整數(shù)倍。這樣做的原因是為滿足后面處理中對信息長度的要求。
MD5中有四個(gè)32位被稱作鏈接變量(Chaining Variable)的整數(shù)參數(shù),他們分別為:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。
當(dāng)設(shè)置好這四個(gè)鏈接變量后,就開始進(jìn)入算法的四輪循環(huán)運(yùn)算。循環(huán)的次數(shù)是信息中512位信息分組的數(shù)目。將上面四個(gè)鏈接變量復(fù)制到另外四個(gè)變量中:A到a,B到b,C到c,D到d。
主循環(huán)有四輪,每輪循環(huán)都很相似。第一輪進(jìn)行16次操作。每次操作對a、b、c和d中的其中三個(gè)作一次非線性函數(shù)運(yùn)算,然后將所得結(jié)果加上第四個(gè)變量,文本的一個(gè)子分組和一個(gè)常數(shù)。再將所得結(jié)果向右環(huán)移一個(gè)不定的數(shù),并加上a、b、c或d中之一。最后用該結(jié)果取代a、b、c或d中之一。
以一下是每次操作中用到的四個(gè)非線性函數(shù)(每輪一個(gè))。
F(X,Y,Z) =(X&Y)|((~X)&Z)
G(X,Y,Z) =(X&Z)|(Y&(~Z))
H(X,Y,Z) =X^Y^Z
I(X,Y,Z)=Y^(X|(~Z)) (&是與,|是或,~是非,^是異或)這四個(gè)函數(shù)的說明:如果X、Y和Z的對應(yīng)位是獨(dú)立和均勻的,那么結(jié)果的每一位也應(yīng)是獨(dú)立和均勻的。
5 數(shù)據(jù)備份與恢復(fù)技術(shù)
任何一個(gè)安全系統(tǒng)都應(yīng)該包括數(shù)據(jù)庫的備份及恢復(fù)。
5.1 數(shù)據(jù)備份
用代碼來實(shí)現(xiàn)數(shù)據(jù)庫的備份,操作界面如圖1所示。
數(shù)據(jù)庫備份具體也由代碼來實(shí)現(xiàn):
Sub backupdata()
Dbpath=request.form("Dbpath")
Dbpath=server.mappath("Dbpath")
bkfolder=request.form("bkfolder")
bkdbname=request.form("bkdbname")
Set Fso=server.createobject("scripting.filesystemobject")
論文摘要:網(wǎng)絡(luò)上的動(dòng)態(tài)網(wǎng)站以ASP為多數(shù),我們學(xué)校的網(wǎng)站也是ASP的。筆者作為學(xué)校網(wǎng)站的制作和維護(hù)人員,與ASP攻擊的各種現(xiàn)象斗爭了多次,也對網(wǎng)站進(jìn)行了一次次的修補(bǔ),根據(jù)工作經(jīng)驗(yàn),就ASP網(wǎng)站設(shè)計(jì)常見安全漏洞及其防范進(jìn)行一些探討。本文結(jié)合ASP動(dòng)態(tài)網(wǎng)站開發(fā)經(jīng)驗(yàn),對ASP程序設(shè)計(jì)存在的信息安全隱患進(jìn)行分析,討論了ASP程序常見的安全漏洞,從程序設(shè)計(jì)角度對WEB信息安全及防范提供了參考。
1網(wǎng)絡(luò)安全總體狀況分析
2007年1月至6月期間,半年時(shí)間內(nèi),CNCERT/CC接收的網(wǎng)絡(luò)仿冒事件和網(wǎng)頁惡意代碼事件,已分別超出去年全年總數(shù)的14.6%和12.5%。
從CNCERT/CC掌握的半年情況來看,攻擊者的攻擊目標(biāo)明確,針對不同網(wǎng)站和用戶采用不同的攻擊手段,且攻擊行為趨利化特點(diǎn)表現(xiàn)明顯。對政府類和安全管理相關(guān)類網(wǎng)站主要采用篡改網(wǎng)頁的攻擊形式,也不排除放置惡意代碼的可能。對中小企業(yè),尤其是以網(wǎng)絡(luò)為核心業(yè)務(wù)的企業(yè),采用有組織的分布式拒絕服務(wù)攻擊(DDoS)等手段進(jìn)行勒索,影響企業(yè)正常業(yè)務(wù)的開展。對于個(gè)人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號(hào)、銀行賬號(hào)、密碼等,竊取用戶的私有財(cái)產(chǎn)。
2用IIS+ASP建網(wǎng)站的安全性分析
微軟推出的IIS+ASP的解決方案作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計(jì)技術(shù),被廣泛應(yīng)用在網(wǎng)上銀行、電子商務(wù)、網(wǎng)上調(diào)查、網(wǎng)上查詢、BBS、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。但是,該解決方案在為我們帶來便捷的同時(shí),也帶來了嚴(yán)峻的安全問題。本文從ASP程序設(shè)計(jì)角度對WEB信息安全及防范進(jìn)行分析討論。
3SP安全漏洞和防范
3.1程序設(shè)計(jì)與腳本信息泄漏隱患
bak文件。攻擊原理:在有些編輯ASP程序的工具中,當(dāng)創(chuàng)建或者修改一個(gè)ASP文件時(shí),編輯器自動(dòng)創(chuàng)建一個(gè)備份文件,如果你沒有刪除這個(gè)bak文件,攻擊者可以直接下載,這樣源程序就會(huì)被下載。
防范技巧:上傳程序之前要仔細(xì)檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。
inc文件泄露問題。攻擊原理:當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機(jī)動(dòng)追加為搜索對象。如果這時(shí)候有人利用搜索引擎對這些網(wǎng)頁進(jìn)行查找,會(huì)得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點(diǎn)和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。
防范技巧:程序員應(yīng)該在網(wǎng)頁前對它進(jìn)行徹底的調(diào)試。首先對.inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc文件,使用戶無法從瀏覽器直接觀看文件的源代碼。
3.2對ASP頁面進(jìn)行加密。為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。我們曾采用兩種方法對ASP頁面進(jìn)行加密。一是使用組件技術(shù)將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進(jìn)行加密。3.3程序設(shè)計(jì)與驗(yàn)證不全漏洞
驗(yàn)證碼。普遍的客戶端交互如留言本、會(huì)員注冊等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊機(jī),可以通過瀏覽WEB,掃描表單,然后在系統(tǒng)上頻繁注冊,頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗(yàn)證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗(yàn)證,從而可以解決這個(gè)問題。
登陸驗(yàn)證。對于很多網(wǎng)頁,特別是網(wǎng)站后臺(tái)管理部分,是要求有相應(yīng)權(quán)限的用戶才能進(jìn)入操作的。但是,如果這些頁面沒有對用戶身份進(jìn)行驗(yàn)證,黑客就可以直接在地址欄輸入收集到的相應(yīng)的URL路徑,避開用戶登錄驗(yàn)證頁面,從而獲得合法用戶的權(quán)限。所以,登陸驗(yàn)證是非常必要的。
SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會(huì)對SQL注入發(fā)出警報(bào),如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時(shí)間都不會(huì)發(fā)覺。
SQL注入攻擊是最為常見的程序漏洞攻擊方式,引起攻擊的根本原因就是盲目信任用戶,將用戶輸入用來直接構(gòu)造SQL語句或存儲(chǔ)過程的參數(shù)。以下列出三種攻擊的形式:
A.用戶登錄:假設(shè)登錄頁面有兩個(gè)文本框,分別用來供用戶輸入帳號(hào)和密碼,利用執(zhí)行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號(hào)和密碼是什么,OR后面的0=0總是成立的,最后結(jié)果就是該黑客成為了合法的用戶。
B.用戶輸入:假設(shè)網(wǎng)頁中有個(gè)搜索功能,只要用戶輸入搜索關(guān)鍵字,系統(tǒng)就列出符合條件的所有記錄,可是,如果黑客在關(guān)鍵字文本框中輸入''''GODROPTABLE用戶表,后果是用戶表被徹底刪除。
C.參數(shù)傳遞:假設(shè)我們有個(gè)網(wǎng)頁鏈接地址是HTTP://……asp?id=22,然后ASP在頁面中利用Request.QueryString[''''id'''']取得該id值,構(gòu)成某SQL語句,這種情況很常見??墒牵绻诳蛯⒌刂纷?yōu)镠TTP://……asp?id=22anduser=0,結(jié)果會(huì)怎樣?如果程序員有沒有對系統(tǒng)的出錯(cuò)提示進(jìn)行屏蔽處理的話,黑客就獲得了數(shù)據(jù)庫的用戶名,這為他們的進(jìn)一步攻擊提供了很好的條件。
解決方法:以上幾個(gè)例子只是為了起到拋磚引玉的作用,其實(shí),黑客利用“猜測+精通的sql語言+反復(fù)嘗試”的方式,可以構(gòu)造出各種各樣的sql入侵。作為程序員,如何來防御或者降低受攻擊的幾率呢?作者在實(shí)際中是按以下方法做的:
第一:在用戶輸入頁面加以友好備注,告知用戶只能輸入哪些字符;
第二:在客戶端利用ASP自帶的校驗(yàn)控件和正則表達(dá)式對用戶輸入進(jìn)行校驗(yàn),發(fā)現(xiàn)非法字符,提示用戶且終止程序進(jìn)行;
第三:為了防止黑客避開客戶端校驗(yàn)直接進(jìn)入后臺(tái),在后臺(tái)程序中利用一個(gè)公用函數(shù)再次對用戶輸入進(jìn)行檢查,一旦發(fā)現(xiàn)可疑輸入,立即終止程序,但不進(jìn)行提示,同時(shí),將黑客IP、動(dòng)作、日期等信息保存到日志數(shù)據(jù)表中以備核查。
第四:對于參數(shù)的情況,頁面利用QueryString或者Quest取得參數(shù)后,要對每個(gè)參數(shù)進(jìn)行判斷處理,發(fā)現(xiàn)異常字符,要利用replace函數(shù)將異常字符過濾掉,然后再做下一步操作。
第五:只給出一種錯(cuò)誤提示信息,服務(wù)器都只提示HTTP500錯(cuò)誤。
第六:在IIS中為每個(gè)網(wǎng)站設(shè)置好執(zhí)行權(quán)限。千萬別給靜態(tài)網(wǎng)站以“腳本和可執(zhí)行”權(quán)限。一般情況下給個(gè)“純腳本”權(quán)限就夠了,對于那些通過網(wǎng)站后臺(tái)管理中心上傳的文件存放的目錄,就更吝嗇一點(diǎn)吧,執(zhí)行權(quán)限設(shè)為“無”好了。
第七:數(shù)據(jù)庫用戶的權(quán)限配置。對于MS_SQL,如果PUBLIC權(quán)限足夠使用的絕不給再高的權(quán)限,千萬不要SA級(jí)別的權(quán)限隨隨便便地給。
3.4傳漏洞
諸如論壇,同學(xué)錄等網(wǎng)站系統(tǒng)都提供了文件上傳功能,但在網(wǎng)頁設(shè)計(jì)時(shí)如果缺少對用戶提交參數(shù)的過濾,將使得攻擊者可以上傳網(wǎng)頁木馬等惡意文件,導(dǎo)致攻擊事件的發(fā)生。
防文件上傳漏洞
在文件上傳之前,加入文件類型判斷模塊,進(jìn)行過濾,防止ASP、ASA、CER等類型的文件上傳。
暴庫。暴庫,就是通過一些技術(shù)手段或者程序漏洞得到數(shù)據(jù)庫的地址,并將數(shù)據(jù)非法下載到本地。
數(shù)據(jù)庫可能被下載。在IIS+ASP網(wǎng)站中,如果有人通過各種方法獲得或者猜到數(shù)據(jù)庫的存儲(chǔ)路徑和文件名,則該數(shù)據(jù)庫就可以被下載到本地。
數(shù)據(jù)庫可能被解密
由于Access數(shù)據(jù)庫的加密機(jī)制比較簡單,即使設(shè)置了密碼,解密也很容易。因此,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。
防止數(shù)據(jù)庫被下載。由于Access數(shù)據(jù)庫加密機(jī)制過于簡單,有效地防止數(shù)據(jù)庫被下載,就成了提高ASP+Access解決方案安全性的重中之重。以下兩種方法簡單、有效。
非常規(guī)命名法。為Access數(shù)據(jù)庫文件起一個(gè)復(fù)雜的非常規(guī)名字,并把它放在幾個(gè)目錄下。
使用ODBC數(shù)據(jù)源。在ASP程序設(shè)計(jì)中,如果有條件,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫名寫在程序中,否則,數(shù)據(jù)庫名將隨ASP源代碼的失密而一同失密。
使用密碼加密。經(jīng)過MD5加密,再結(jié)合生成圖片驗(yàn)證碼技術(shù),暴力破解的難度會(huì)大大增強(qiáng)。
使用數(shù)據(jù)備份。當(dāng)網(wǎng)站被黑客攻擊或者其它原因丟失了數(shù)據(jù),可以將備份的數(shù)據(jù)恢復(fù)到原始的數(shù)據(jù),保證了網(wǎng)站在一些人為的、自然的不可避免的條件下的相對安全性。
3.5SP木馬
由于ASP它本身是服務(wù)器提供的一項(xiàng)服務(wù)功能,所以這種ASP腳本的木馬后門,不會(huì)被殺毒軟件查殺。被黑客們稱為“永遠(yuǎn)不會(huì)被查殺的后門”。我在這里講講如何有效的發(fā)現(xiàn)web空間中的asp木馬并清除。
技巧1:殺毒軟件查殺
一些非常有名的asp木馬已經(jīng)被殺毒軟件列入了黑名單,所以利用殺毒軟件對web空間中的文件進(jìn)行掃描,可以有效的發(fā)現(xiàn)并清除這些有名的asp木馬。
技巧2:FTP客戶端對比
asp木馬若進(jìn)行偽裝,加密,躲藏殺毒軟件,怎么辦?
我們可以利用一些FTP客戶端軟件(例如cuteftp,F(xiàn)lashFXP)提供的文件對比功能,通過對比FTP的中的web文件和本地的備份文件,發(fā)現(xiàn)是否多出可疑文件。
技巧3:用BeyondCompare2進(jìn)行對比
滲透性asp木馬,可以將代碼插入到指定web文件中,平常情況下不會(huì)顯示,只有使用觸發(fā)語句才能打開asp木馬,其隱蔽性非常高。BeyondCompare2這時(shí)候就會(huì)作用比較明顯了。
技巧4:利用組件性能找asp木馬
如:思易asp木馬追捕。
大家在查找web空間的asp木馬時(shí),最好幾種方法結(jié)合起來,這樣就能有效的查殺被隱藏起來的asp木馬。
結(jié)束語
總結(jié)了ASP木馬防范的十大原則供大家參考:
建議用戶通過FTP來上傳、維護(hù)網(wǎng)頁,盡量不安裝asp的上傳程序。
對asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。
asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。
到正規(guī)網(wǎng)站下載asp程序,下載后要對其數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫文件名稱也要有一定復(fù)雜性。
要盡量保持程序是最新版本。
不要在網(wǎng)頁上加注后臺(tái)管理程序登陸頁面的鏈接。
為防止程序有未知漏洞,可以在維護(hù)后刪除后臺(tái)管理程序的登陸頁面,下次維護(hù)時(shí)再通過上傳即可。
要時(shí)常備份數(shù)據(jù)庫等重要文件。
日常要多維護(hù),并注意空間中是否有來歷不明的asp文件。
一旦發(fā)現(xiàn)被人侵,除非自己能識(shí)別出所有木馬文件,否則要?jiǎng)h除所有文件。重新上傳文件前,所有asp程序用戶名和密碼都要重置,并要重新修改程序數(shù)據(jù)庫名稱和存放路徑以及后臺(tái)管理程序的路徑。
做好以上防范措施,您的網(wǎng)站只能說是相對安全了,決不能因此疏忽大意,因?yàn)槿肭峙c反入侵是一場永恒的戰(zhàn)爭!網(wǎng)站安全是一個(gè)較為復(fù)雜的問題,嚴(yán)格的說,沒有絕對安全的網(wǎng)絡(luò)系統(tǒng),我們只有通過不斷的改進(jìn)程序,將各種可能出現(xiàn)的問題考慮周全,對潛在的異常情況進(jìn)行處理,才能減少被黑客入侵的機(jī)會(huì)。
參考文獻(xiàn)
[1]袁志芳田曉芳李桂寶《ASP程序設(shè)計(jì)與WEB信息安全》中國教育信息化2007年21期.
2007年1月至6月期間,半年時(shí)間內(nèi),CNCERT/CC接收的網(wǎng)絡(luò)仿冒事件和網(wǎng)頁惡意代碼事件,已分別超出去年全年總數(shù)的14.6%和12.5%。
從CNCERT/CC掌握的半年情況來看,攻擊者的攻擊目標(biāo)明確,針對不同網(wǎng)站和用戶采用不同的攻擊手段,且攻擊行為趨利化特點(diǎn)表現(xiàn)明顯。對政府類和安全管理相關(guān)類網(wǎng)站主要采用篡改網(wǎng)頁的攻擊形式,也不排除放置惡意代碼的可能。對中小企業(yè),尤其是以網(wǎng)絡(luò)為核心業(yè)務(wù)的企業(yè),采用有組織的分布式拒絕服務(wù)攻擊(DDoS)等手段進(jìn)行勒索,影響企業(yè)正常業(yè)務(wù)的開展。對于個(gè)人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號(hào)、銀行賬號(hào)、密碼等,竊取用戶的私有財(cái)產(chǎn)。
2用IIS+ASP建網(wǎng)站的安全性分析
微軟推出的IIS+ASP的解決方案作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計(jì)技術(shù),被廣泛應(yīng)用在網(wǎng)上銀行、電子商務(wù)、網(wǎng)上調(diào)查、網(wǎng)上查詢、BBS、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。但是,該解決方案在為我們帶來便捷的同時(shí),也帶來了嚴(yán)峻的安全問題。本文從ASP程序設(shè)計(jì)角度對WEB信息安全及防范進(jìn)行分析討論。
3SP安全漏洞和防范
3.1程序設(shè)計(jì)與腳本信息泄漏隱患
bak文件。攻擊原理:在有些編輯ASP程序的工具中,當(dāng)創(chuàng)建或者修改一個(gè)ASP文件時(shí),編輯器自動(dòng)創(chuàng)建一個(gè)備份文件,如果你沒有刪除這個(gè)bak文件,攻擊者可以直接下載,這樣源程序就會(huì)被下載。
防范技巧:上傳程序之前要仔細(xì)檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。
inc文件泄露問題。攻擊原理:當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機(jī)動(dòng)追加為搜索對象。如果這時(shí)候有人利用搜索引擎對這些網(wǎng)頁進(jìn)行查找,會(huì)得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點(diǎn)和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。
防范技巧:程序員應(yīng)該在網(wǎng)頁前對它進(jìn)行徹底的調(diào)試。首先對.inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc文件,使用戶無法從瀏覽器直接觀看文件的源代碼。
3.2對ASP頁面進(jìn)行加密。為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。我們曾采用兩種方法對ASP頁面進(jìn)行加密。一是使用組件技術(shù)將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進(jìn)行加密。3.3程序設(shè)計(jì)與驗(yàn)證不全漏洞
驗(yàn)證碼。普遍的客戶端交互如留言本、會(huì)員注冊等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊機(jī),可以通過瀏覽WEB,掃描表單,然后在系統(tǒng)上頻繁注冊,頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗(yàn)證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗(yàn)證,從而可以解決這個(gè)問題。
登陸驗(yàn)證。對于很多網(wǎng)頁,特別是網(wǎng)站后臺(tái)管理部分,是要求有相應(yīng)權(quán)限的用戶才能進(jìn)入操作的。但是,如果這些頁面沒有對用戶身份進(jìn)行驗(yàn)證,黑客就可以直接在地址欄輸入收集到的相應(yīng)的URL路徑,避開用戶登錄驗(yàn)證頁面,從而獲得合法用戶的權(quán)限。所以,登陸驗(yàn)證是非常必要的。
SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會(huì)對SQL注入發(fā)出警報(bào),如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時(shí)間都不會(huì)發(fā)覺。
SQL注入攻擊是最為常見的程序漏洞攻擊方式,引起攻擊的根本原因就是盲目信任用戶,將用戶輸入用來直接構(gòu)造SQL語句或存儲(chǔ)過程的參數(shù)。以下列出三種攻擊的形式:
A.用戶登錄:假設(shè)登錄頁面有兩個(gè)文本框,分別用來供用戶輸入帳號(hào)和密碼,利用執(zhí)行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號(hào)和密碼是什么,OR后面的0=0總是成立的,最后結(jié)果就是該黑客成為了合法的用戶。
B.用戶輸入:假設(shè)網(wǎng)頁中有個(gè)搜索功能,只要用戶輸入搜索關(guān)鍵字,系統(tǒng)就列出符合條件的所有記錄,可是,如果黑客在關(guān)鍵字文本框中輸入''''GODROPTABLE用戶表,后果是用戶表被徹底刪除。
C.參數(shù)傳遞:假設(shè)我們有個(gè)網(wǎng)頁鏈接地址是HTTP://……asp?id=22,然后ASP在頁面中利用Request.QueryString[''''id'''']取得該id值,構(gòu)成某SQL語句,這種情況很常見??墒牵绻诳蛯⒌刂纷?yōu)镠TTP://……asp?id=22anduser=0,結(jié)果會(huì)怎樣?如果程序員有沒有對系統(tǒng)的出錯(cuò)提示進(jìn)行屏蔽處理的話,黑客就獲得了數(shù)據(jù)庫的用戶名,這為他們的進(jìn)一步攻擊提供了很好的條件。
解決方法:以上幾個(gè)例子只是為了起到拋磚引玉的作用,其實(shí),黑客利用“猜測+精通的sql語言+反復(fù)嘗試”的方式,可以構(gòu)造出各種各樣的sql入侵。作為程序員,如何來防御或者降低受攻擊的幾率呢?作者在實(shí)際中是按以下方法做的:
第一:在用戶輸入頁面加以友好備注,告知用戶只能輸入哪些字符;
第二:在客戶端利用ASP自帶的校驗(yàn)控件和正則表達(dá)式對用戶輸入進(jìn)行校驗(yàn),發(fā)現(xiàn)非法字符,提示用戶且終止程序進(jìn)行;
第三:為了防止黑客避開客戶端校驗(yàn)直接進(jìn)入后臺(tái),在后臺(tái)程序中利用一個(gè)公用函數(shù)再次對用戶輸入進(jìn)行檢查,一旦發(fā)現(xiàn)可疑輸入,立即終止程序,但不進(jìn)行提示,同時(shí),將黑客IP、動(dòng)作、日期等信息保存到日志數(shù)據(jù)表中以備核查。
第四:對于參數(shù)的情況,頁面利用QueryString或者Quest取得參數(shù)后,要對每個(gè)參數(shù)進(jìn)行判斷處理,發(fā)現(xiàn)異常字符,要利用replace函數(shù)將異常字符過濾掉,然后再做下一步操作。
第五:只給出一種錯(cuò)誤提示信息,服務(wù)器都只提示HTTP500錯(cuò)誤。
第六:在IIS中為每個(gè)網(wǎng)站設(shè)置好執(zhí)行權(quán)限。千萬別給靜態(tài)網(wǎng)站以“腳本和可執(zhí)行”權(quán)限。一般情況下給個(gè)“純腳本”權(quán)限就夠了,對于那些通過網(wǎng)站后臺(tái)管理中心上傳的文件存放的目錄,就更吝嗇一點(diǎn)吧,執(zhí)行權(quán)限設(shè)為“無”好了。
第七:數(shù)據(jù)庫用戶的權(quán)限配置。對于MS_SQL,如果PUBLIC權(quán)限足夠使用的絕不給再高的權(quán)限,千萬不要SA級(jí)別的權(quán)限隨隨便便地給。
3.4傳漏洞
諸如論壇,同學(xué)錄等網(wǎng)站系統(tǒng)都提供了文件上傳功能,但在網(wǎng)頁設(shè)計(jì)時(shí)如果缺少對用戶提交參數(shù)的過濾,將使得攻擊者可以上傳網(wǎng)頁木馬等惡意文件,導(dǎo)致攻擊事件的發(fā)生。
防文件上傳漏洞
在文件上傳之前,加入文件類型判斷模塊,進(jìn)行過濾,防止ASP、ASA、CER等類型的文件上傳。
暴庫。暴庫,就是通過一些技術(shù)手段或者程序漏洞得到數(shù)據(jù)庫的地址,并將數(shù)據(jù)非法下載到本地。
數(shù)據(jù)庫可能被下載。在IIS+ASP網(wǎng)站中,如果有人通過各種方法獲得或者猜到數(shù)據(jù)庫的存儲(chǔ)路徑和文件名,則該數(shù)據(jù)庫就可以被下載到本地。
數(shù)據(jù)庫可能被解密
由于Access數(shù)據(jù)庫的加密機(jī)制比較簡單,即使設(shè)置了密碼,解密也很容易。因此,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。
防止數(shù)據(jù)庫被下載。由于Access數(shù)據(jù)庫加密機(jī)制過于簡單,有效地防止數(shù)據(jù)庫被下載,就成了提高ASP+Access解決方案安全性的重中之重。以下兩種方法簡單、有效。
非常規(guī)命名法。為Access數(shù)據(jù)庫文件起一個(gè)復(fù)雜的非常規(guī)名字,并把它放在幾個(gè)目錄下。
使用ODBC數(shù)據(jù)源。在ASP程序設(shè)計(jì)中,如果有條件,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫名寫在程序中,否則,數(shù)據(jù)庫名將隨ASP源代碼的失密而一同失密。
使用密碼加密。經(jīng)過MD5加密,再結(jié)合生成圖片驗(yàn)證碼技術(shù),暴力破解的難度會(huì)大大增強(qiáng)。
使用數(shù)據(jù)備份。當(dāng)網(wǎng)站被黑客攻擊或者其它原因丟失了數(shù)據(jù),可以將備份的數(shù)據(jù)恢復(fù)到原始的數(shù)據(jù),保證了網(wǎng)站在一些人為的、自然的不可避免的條件下的相對安全性。
3.5SP木馬
由于ASP它本身是服務(wù)器提供的一項(xiàng)服務(wù)功能,所以這種ASP腳本的木馬后門,不會(huì)被殺毒軟件查殺。被黑客們稱為“永遠(yuǎn)不會(huì)被查殺的后門”。我在這里講講如何有效的發(fā)現(xiàn)web空間中的asp木馬并清除。
技巧1:殺毒軟件查殺
一些非常有名的asp木馬已經(jīng)被殺毒軟件列入了黑名單,所以利用殺毒軟件對web空間中的文件進(jìn)行掃描,可以有效的發(fā)現(xiàn)并清除這些有名的asp木馬。
技巧2:FTP客戶端對比
asp木馬若進(jìn)行偽裝,加密,躲藏殺毒軟件,怎么辦?
我們可以利用一些FTP客戶端軟件(例如cuteftp,F(xiàn)lashFXP)提供的文件對比功能,通過對比FTP的中的web文件和本地的備份文件,發(fā)現(xiàn)是否多出可疑文件。
技巧3:用BeyondCompare2進(jìn)行對比
滲透性asp木馬,可以將代碼插入到指定web文件中,平常情況下不會(huì)顯示,只有使用觸發(fā)語句才能打開asp木馬,其隱蔽性非常高。BeyondCompare2這時(shí)候就會(huì)作用比較明顯了。
技巧4:利用組件性能找asp木馬
如:思易asp木馬追捕。
大家在查找web空間的asp木馬時(shí),最好幾種方法結(jié)合起來,這樣就能有效的查殺被隱藏起來的asp木馬。
結(jié)束語
總結(jié)了ASP木馬防范的十大原則供大家參考:
建議用戶通過FTP來上傳、維護(hù)網(wǎng)頁,盡量不安裝asp的上傳程序。
對asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。
asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。
到正規(guī)網(wǎng)站下載asp程序,下載后要對其數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫文件名稱也要有一定復(fù)雜性。
要盡量保持程序是最新版本。
不要在網(wǎng)頁上加注后臺(tái)管理程序登陸頁面的鏈接。
為防止程序有未知漏洞,可以在維護(hù)后刪除后臺(tái)管理程序的登陸頁面,下次維護(hù)時(shí)再通過上傳即可。
要時(shí)常備份數(shù)據(jù)庫等重要文件。
日常要多維護(hù),并注意空間中是否有來歷不明的asp文件。
一旦發(fā)現(xiàn)被人侵,除非自己能識(shí)別出所有木馬文件,否則要?jiǎng)h除所有文件。重新上傳文件前,所有asp程序用戶名和密碼都要重置,并要重新修改程序數(shù)據(jù)庫名稱和存放路徑以及后臺(tái)管理程序的路徑。
做好以上防范措施,您的網(wǎng)站只能說是相對安全了,決不能因此疏忽大意,因?yàn)槿肭峙c反入侵是一場永恒的戰(zhàn)爭!網(wǎng)站安全是一個(gè)較為復(fù)雜的問題,嚴(yán)格的說,沒有絕對安全的網(wǎng)絡(luò)系統(tǒng),我們只有通過不斷的改進(jìn)程序,將各種可能出現(xiàn)的問題考慮周全,對潛在的異常情況進(jìn)行處理,才能減少被黑客入侵的機(jī)會(huì)。
參考文獻(xiàn)
[1]袁志芳田曉芳李桂寶《ASP程序設(shè)計(jì)與WEB信息安全》中國教育信息化2007年21期.
[2]陳明奇《2007年上半年網(wǎng)絡(luò)安全狀況分析》信息網(wǎng)絡(luò)安全2007年第10期
論文摘要:網(wǎng)絡(luò)上的動(dòng)態(tài)網(wǎng)站以ASP為多數(shù),我們學(xué)校的網(wǎng)站也是ASP的。筆者作為學(xué)校網(wǎng)站的制作和維護(hù)人員,與ASP攻擊的各種現(xiàn)象斗爭了多次,也對網(wǎng)站進(jìn)行了一次次的修補(bǔ),根據(jù)工作經(jīng)驗(yàn),就ASP網(wǎng)站設(shè)計(jì)常見安全漏洞及其防范進(jìn)行一些探討。本文結(jié)合 ASP 動(dòng)態(tài)網(wǎng)站開發(fā)經(jīng)驗(yàn),對ASP 程序設(shè)計(jì)存在的信息安全隱患進(jìn)行分析,討論了ASP 程序常見的安全漏洞,從程序設(shè)計(jì)角度對 WEB信息安全及防范提供了參考。
1網(wǎng)絡(luò)安全總體狀況分析
2007年1月至6月期間,半年時(shí)間內(nèi),CNCERT/CC接收的網(wǎng)絡(luò)仿冒事件和網(wǎng)頁惡意代碼事件,已分別超出去年全年總數(shù)的14.6%和12.5%。
從CNCERT/CC掌握的半年情況來看,攻擊者的攻擊目標(biāo)明確,針對不同網(wǎng)站和用戶采用不同的攻擊手段,且攻擊行為趨利化特點(diǎn)表現(xiàn)明顯。對政府類和安全管理相關(guān)類網(wǎng)站主要采用篡改網(wǎng)頁的攻擊形式,也不排除放置惡意代碼的可能。對中小企業(yè),尤其是以網(wǎng)絡(luò)為核心業(yè)務(wù)的企業(yè),采用有組織的分布式拒絕服務(wù)攻擊(DDoS)等手段進(jìn)行勒索,影響企業(yè)正常業(yè)務(wù)的開展。對于個(gè)人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號(hào)、銀行賬號(hào)、密碼等,竊取用戶的私有財(cái)產(chǎn)。
2 用IIS+ASP建網(wǎng)站的安全性分析
微軟推出的IIS+ASP的解決方案作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計(jì)技術(shù),被廣泛應(yīng)用在網(wǎng)上銀行、電子商務(wù)、網(wǎng)上調(diào)查、網(wǎng)上查詢、BBS、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。但是,該解決方案在為我們帶來便捷的同時(shí),也帶來了嚴(yán)峻的安全問題。本文從 ASP 程序設(shè)計(jì)角度對 WEB 信息安全及防范進(jìn)行分析討論。
3 SP安全漏洞和防范
3.1 程序設(shè)計(jì)與腳本信息泄漏隱患
bak 文件。攻擊原理:在有些編輯ASP程序的工具中,當(dāng)創(chuàng)建或者修改一個(gè)ASP文件時(shí),編輯器自動(dòng)創(chuàng)建一個(gè)備份文件,如果你沒有刪除這個(gè)bak文件,攻擊者可以直接下載,這樣源程序就會(huì)被下載。
防范技巧:上傳程序之前要仔細(xì)檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。
inc文件泄露問題。攻擊原理:當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機(jī)動(dòng)追加為搜索對象。如果這時(shí)候有人利用搜索引擎對這些網(wǎng)頁進(jìn)行查找,會(huì)得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點(diǎn)和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。
防范技巧:程序員應(yīng)該在網(wǎng)頁前對它進(jìn)行徹底的調(diào)試。首先對.inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc文件,使用戶無法從瀏覽器直接觀看文件的源代碼。
3.2 對ASP頁面進(jìn)行加密。為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。我們曾采用兩種方法對ASP頁面進(jìn)行加密。一是使用組件技術(shù)將編程邏輯封裝入 DLL之中;二是使用微軟的Script Encoder對ASP頁面進(jìn)行加密。
3.3 程序設(shè)計(jì)與驗(yàn)證不全漏洞
驗(yàn)證碼。普遍的客戶端交互如留言本、會(huì)員注冊等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊機(jī),可以通過瀏覽WEB,掃描表單,然后在系統(tǒng)上頻繁注冊,頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗(yàn)證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗(yàn)證,從而可以解決這個(gè)問題。
登陸驗(yàn)證。對于很多網(wǎng)頁,特別是網(wǎng)站后臺(tái)管理部分,是要求有相應(yīng)權(quán)限的用戶才能進(jìn)入操作的。但是,如果這些頁面沒有對用戶身份進(jìn)行驗(yàn)證,黑客就可以直接在地址欄輸入收集到的相應(yīng)的 URL 路徑,避開用戶登錄驗(yàn)證頁面,從而獲得合法用戶的權(quán)限。所以,登陸驗(yàn)證是非常必要的。
SQL 注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會(huì)對SQL注入發(fā)出警報(bào),如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時(shí)間都不會(huì)發(fā)覺。
SQL 注入攻擊是最為常見的程序漏洞攻擊方式,引起攻擊的根本原因就是盲目信任用戶,將用戶輸入用來直接構(gòu)造 SQL 語句或存儲(chǔ)過程的參數(shù)。以下列出三種攻擊的形式:
A.用戶登錄: 假設(shè)登錄頁面有兩個(gè)文本框,分別用來供用戶輸入帳號(hào)和 密碼,利用執(zhí)行SQL 語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入 'OR 0=0,即不管前面輸入的用戶帳號(hào)和密碼是什么,OR后面的 0=0 總是成立的,最后結(jié)果就是該黑客成為了合法的用戶。
B.用戶輸入:假設(shè)網(wǎng)頁中有個(gè)搜索功能,只要用戶輸入搜索關(guān)鍵字,系統(tǒng)就列出符合條件的所有記錄,可是,如果黑客在關(guān)鍵字文本框中輸入' GO DROP TABLE 用戶表,后果是用戶表被徹底刪除。
C.參數(shù)傳遞: 假設(shè)我們有個(gè)網(wǎng)頁鏈接地址是 HTTP://……asp?id=22, 然后 ASP在頁面中利用 Request.QueryString['id']取得該 id值,構(gòu)成某 SQL 語句, 這種情況很常見??墒?,如果黑客將地址變?yōu)镠TTP://……asp?id=22 and user=0 ,結(jié)果會(huì)怎樣?如果程序員有沒有對系統(tǒng)的出錯(cuò)提示進(jìn)行屏蔽處理的話,黑客就獲得了數(shù)據(jù)庫的用戶名,這為他們的進(jìn)一步攻擊提供了很好的條件。
解決方法:以上幾個(gè)例子只是為了起到拋磚引玉的作用,其實(shí),黑客利用“猜測+精通的sql 語言+反復(fù)嘗試”的方式,可以構(gòu)造出各種各樣的sql入侵。作為程序員,如何來防御或者降低受攻擊的幾率呢?作者在實(shí)際中是按以下方法做的:
第一: 在用戶輸入頁面加以友好備注,告知用戶只能輸入哪些字符;
第二: 在客戶端利用 ASP 自帶的校驗(yàn)控件和正則表達(dá)式對用戶輸入進(jìn)行校驗(yàn),發(fā)現(xiàn)非法字符,提示用戶且終止程序進(jìn)行;
第三: 為了防止黑客避開客戶端校驗(yàn)直接進(jìn)入后臺(tái),在后臺(tái)程序中利用一個(gè)公用函數(shù)再次對用戶輸入進(jìn)行檢查,一旦發(fā)現(xiàn)可疑輸入,立即終止程序,但不進(jìn)行提示,同時(shí),將黑客IP、動(dòng)作、日期等信息保存到日志數(shù)據(jù)表中以備核查。
第四: 對于參數(shù)的情況,頁面利用 QueryString 或者 Quest 取得參數(shù)后, 要對每個(gè)參數(shù)進(jìn)行判斷處理,發(fā)現(xiàn)異常字符, 要利用 replace 函數(shù)將異常字符過濾掉,然后再做下一步操作。
轉(zhuǎn)貼于
第五:只給出一種錯(cuò)誤提示信息,服務(wù)器都只提示HTTP 500錯(cuò)誤。
第六:在IIS中為每個(gè)網(wǎng)站設(shè)置好執(zhí)行權(quán)限。千萬別給靜態(tài)網(wǎng)站以“腳本和可執(zhí)行”權(quán)限。一般情況下給個(gè)“純腳本”權(quán)限就夠了,對于那些通過網(wǎng)站后臺(tái)管理中心上傳的文件存放的目錄,就更吝嗇一點(diǎn)吧,執(zhí)行權(quán)限設(shè)為“無”好了。
第七:數(shù)據(jù)庫用戶的權(quán)限配置。對于MS_SQL,如果PUBLIC權(quán)限足夠使用的絕不給再高的權(quán)限,千萬不要SA級(jí)別的權(quán)限隨隨便便地給。
3.4 傳漏洞
諸如論壇,同學(xué)錄等網(wǎng)站系統(tǒng)都提供了文件上傳功能,但在網(wǎng)頁設(shè)計(jì)時(shí)如果缺少對用戶提交參數(shù)的過濾,將使得攻擊者可以上傳網(wǎng)頁木馬等惡意文件,導(dǎo)致攻擊事件的發(fā)生。
防文件上傳漏洞
在文件上傳之前,加入文件類型判斷模塊,進(jìn)行過濾,防止ASP、ASA、CER等類型的文件上傳。
暴庫。暴庫,就是通過一些技術(shù)手段或者程序漏洞得到數(shù)據(jù)庫的地址,并將數(shù)據(jù)非法下載到本地。
數(shù)據(jù)庫可能被下載。在IIS+ASP網(wǎng)站中,如果有人通過各種方法獲得或者猜到數(shù)據(jù)庫的存儲(chǔ)路徑和文件名,則該數(shù)據(jù)庫就可以被下載到本地。
數(shù)據(jù)庫可能被解密
由于Access數(shù)據(jù)庫的加密機(jī)制比較簡單,即使設(shè)置了密碼,解密也很容易。因此,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。
防止數(shù)據(jù)庫被下載 。由于Access數(shù)據(jù)庫加密機(jī)制過于簡單,有效地防止數(shù)據(jù)庫被下載,就成了提高ASP+Access解決方案安全性的重中之重。以下兩種方法簡單、有效。
非常規(guī)命名法。為Access數(shù)據(jù)庫文件起一個(gè)復(fù)雜的非常規(guī)名字,并把它放在幾個(gè)目錄下。
使用ODBC數(shù)據(jù)源。在ASP程序設(shè)計(jì)中,如果有條件,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫名寫在程序中,否則,數(shù)據(jù)庫名將隨ASP源代碼的失密而一同失密。
使用密碼加密。經(jīng)過MD5加密,再結(jié)合生成圖片驗(yàn)證碼技術(shù),暴力破解的難度會(huì)大大增強(qiáng)。
使用數(shù)據(jù)備份。當(dāng)網(wǎng)站被黑客攻擊或者其它原因丟失了數(shù)據(jù),可以將備份的數(shù)據(jù)恢復(fù)到原始的數(shù)據(jù),保證了網(wǎng)站在一些人為的、自然的不可避免的條件下的相對安全性。
3.5 SP木馬
由于ASP它本身是服務(wù)器提供的一項(xiàng)服務(wù)功能,所以這種ASP腳本的木馬后門,不會(huì)被殺毒軟件查殺。被黑客們稱為“永遠(yuǎn)不會(huì)被查殺的后門”。我在這里講講如何有效的發(fā)現(xiàn)web空間中的asp木馬并清除。
技巧1:殺毒軟件查殺
一些非常有名的asp木馬已經(jīng)被殺毒軟件列入了黑名單,所以利用殺毒軟件對web空間中的文件進(jìn)行掃描,可以有效的發(fā)現(xiàn)并清除這些有名的asp木馬。
技巧2:FTP客戶端對比
asp木馬若進(jìn)行偽裝,加密,躲藏殺毒軟件,怎么辦?
我們可以利用一些FTP客戶端軟件(例如cuteftp,F(xiàn)lashFXP)提供的文件對比功能,通過對比FTP的中的web文件和本地的備份文件,發(fā)現(xiàn)是否多出可疑文件。
技巧3:用Beyond Compare 2進(jìn)行對比
滲透性asp木馬,可以將代碼插入到指定web文件中,平常情況下不會(huì)顯示,只有使用觸發(fā)語句才能打開asp木馬,其隱蔽性非常高。 Beyond Compare 2這時(shí)候就會(huì)作用比較明顯了。
技巧4:利用組件性能找asp木馬
如:思易asp木馬追捕。
大家在查找web空間的asp木馬時(shí),最好幾種方法結(jié)合起來,這樣就能有效的查殺被隱藏起來的asp木馬。
結(jié)束語
總結(jié)了ASP木馬防范的十大原則供大家參考:
建議用戶通過FTP來上傳、維護(hù)網(wǎng)頁,盡量不安裝asp的上傳程序。
對asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。
asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。
到正規(guī)網(wǎng)站下載asp程序,下載后要對其數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫文件名稱也要有一定復(fù)雜性。
要盡量保持程序是最新版本。
不要在網(wǎng)頁上加注后臺(tái)管理程序登陸頁面的鏈接。
為防止程序有未知漏洞,可以在維護(hù)后刪除后臺(tái)管理程序的登陸頁面,下次維護(hù)時(shí)再通過上傳即可。
要時(shí)常備份數(shù)據(jù)庫等重要文件。
日常要多維護(hù),并注意空間中是否有來歷不明的asp文件。
一旦發(fā)現(xiàn)被人侵,除非自己能識(shí)別出所有木馬文件,否則要?jiǎng)h除所有文件。重新上傳文件前,所有asp程序用戶名和密碼都要重置,并要重新修改程序數(shù)據(jù)庫名稱和存放路徑以及后臺(tái)管理程序的路徑。
做好以上防范措施,您的網(wǎng)站只能說是相對安全了,決不能因此疏忽大意,因?yàn)槿肭峙c反入侵是一場永恒的戰(zhàn)爭!網(wǎng)站安全是一個(gè)較為復(fù)雜的問題,嚴(yán)格的說,沒有絕對安全的網(wǎng)絡(luò)系統(tǒng),我們只有通過不斷的改進(jìn)程序,將各種可能出現(xiàn)的問題考慮周全,對潛在的異常情況進(jìn)行處理,才能減少被黑客入侵的機(jī)會(huì)。
參考文獻(xiàn)
[1]袁志芳 田曉芳 李桂寶《ASP程序設(shè)計(jì)與 WEB信息安全》 中國教育信息化2007年21期.
論文摘要:網(wǎng)絡(luò)上的動(dòng)態(tài)網(wǎng)站以ASP為多數(shù),我們學(xué)校的網(wǎng)站也是ASP的。筆者作為學(xué)校網(wǎng)站的制作和維護(hù)人員,與ASP攻擊的各種現(xiàn)象斗爭了多次,也對網(wǎng)站進(jìn)行了一次次的修補(bǔ),根據(jù)工作經(jīng)驗(yàn),就ASP網(wǎng)站設(shè)計(jì)常見安全漏洞及其防范進(jìn)行一些探討。本文結(jié)合ASP動(dòng)態(tài)網(wǎng)站開發(fā)經(jīng)驗(yàn),對ASP程序設(shè)計(jì)存在的信息安全隱患進(jìn)行分析,討論了ASP程序常見的安全漏洞,從程序設(shè)計(jì)角度對WEB信息安全及防范提供了參考。
1網(wǎng)絡(luò)安全總體狀況分析
2007年1月至6月期間,半年時(shí)間內(nèi),CNCERT/CC接收的網(wǎng)絡(luò)仿冒事件和網(wǎng)頁惡意代碼事件,已分別超出去年全年總數(shù)的14.6%和12.5%。
從CNCERT/CC掌握的半年情況來看,攻擊者的攻擊目標(biāo)明確,針對不同網(wǎng)站和用戶采用不同的攻擊手段,且攻擊行為趨利化特點(diǎn)表現(xiàn)明顯。對政府類和安全管理相關(guān)類網(wǎng)站主要采用篡改網(wǎng)頁的攻擊形式,也不排除放置惡意代碼的可能。對中小企業(yè),尤其是以網(wǎng)絡(luò)為核心業(yè)務(wù)的企業(yè),采用有組織的分布式拒絕服務(wù)攻擊(DDoS)等手段進(jìn)行勒索,影響企業(yè)正常業(yè)務(wù)的開展。對于個(gè)人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號(hào)、銀行賬號(hào)、密碼等,竊取用戶的私有財(cái)產(chǎn)。
2用IIS+ASP建網(wǎng)站的安全性分析
微軟推出的IIS+ASP的解決方案作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計(jì)技術(shù),被廣泛應(yīng)用在網(wǎng)上銀行、電子商務(wù)、網(wǎng)上調(diào)查、網(wǎng)上查詢、BBS、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。但是,該解決方案在為我們帶來便捷的同時(shí),也帶來了嚴(yán)峻的安全問題。本文從ASP程序設(shè)計(jì)角度對WEB信息安全及防范進(jìn)行分析討論。
3SP安全漏洞和防范
3.1程序設(shè)計(jì)與腳本信息泄漏隱患
bak文件。攻擊原理:在有些編輯ASP程序的工具中,當(dāng)創(chuàng)建或者修改一個(gè)ASP文件時(shí),編輯器自動(dòng)創(chuàng)建一個(gè)備份文件,如果你沒有刪除這個(gè)bak文件,攻擊者可以直接下載,這樣源程序就會(huì)被下載。
防范技巧:上傳程序之前要仔細(xì)檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。
inc文件泄露問題。攻擊原理:當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機(jī)動(dòng)追加為搜索對象。如果這時(shí)候有人利用搜索引擎對這些網(wǎng)頁進(jìn)行查找,會(huì)得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點(diǎn)和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。
防范技巧:程序員應(yīng)該在網(wǎng)頁前對它進(jìn)行徹底的調(diào)試。首先對.inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc文件,使用戶無法從瀏覽器直接觀看文件的源代碼。
3.2對ASP頁面進(jìn)行加密。為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。我們曾采用兩種方法對ASP頁面進(jìn)行加密。一是使用組件技術(shù)將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進(jìn)行加密。3.3程序設(shè)計(jì)與驗(yàn)證不全漏洞
驗(yàn)證碼。普遍的客戶端交互如留言本、會(huì)員注冊等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊機(jī),可以通過瀏覽WEB,掃描表單,然后在系統(tǒng)上頻繁注冊,頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗(yàn)證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗(yàn)證,從而可以解決這個(gè)問題。
登陸驗(yàn)證。對于很多網(wǎng)頁,特別是網(wǎng)站后臺(tái)管理部分,是要求有相應(yīng)權(quán)限的用戶才能進(jìn)入操作的。但是,如果這些頁面沒有對用戶身份進(jìn)行驗(yàn)證,黑客就可以直接在地址欄輸入收集到的相應(yīng)的URL路徑,避開用戶登錄驗(yàn)證頁面,從而獲得合法用戶的權(quán)限。所以,登陸驗(yàn)證是非常必要的。
SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會(huì)對SQL注入發(fā)出警報(bào),如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時(shí)間都不會(huì)發(fā)覺。
SQL注入攻擊是最為常見的程序漏洞攻擊方式,引起攻擊的根本原因就是盲目信任用戶,將用戶輸入用來直接構(gòu)造SQL語句或存儲(chǔ)過程的參數(shù)。以下列出三種攻擊的形式:
A.用戶登錄:假設(shè)登錄頁面有兩個(gè)文本框,分別用來供用戶輸入帳號(hào)和密碼,利用執(zhí)行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號(hào)和密碼是什么,OR后面的0=0總是成立的,最后結(jié)果就是該黑客成為了合法的用戶。
B.用戶輸入:假設(shè)網(wǎng)頁中有個(gè)搜索功能,只要用戶輸入搜索關(guān)鍵字,系統(tǒng)就列出符合條件的所有記錄,可是,如果黑客在關(guān)鍵字文本框中輸入''''GODROPTABLE用戶表,后果是用戶表被徹底刪除。
C.參數(shù)傳遞:假設(shè)我們有個(gè)網(wǎng)頁鏈接地址是HTTP://……asp?id=22,然后ASP在頁面中利用Request.QueryString[''''id'''']取得該id值,構(gòu)成某SQL語句,這種情況很常見??墒?,如果黑客將地址變?yōu)镠TTP://……asp?id=22anduser=0,結(jié)果會(huì)怎樣?如果程序員有沒有對系統(tǒng)的出錯(cuò)提示進(jìn)行屏蔽處理的話,黑客就獲得了數(shù)據(jù)庫的用戶名,這為他們的進(jìn)一步攻擊提供了很好的條件。
解決方法:以上幾個(gè)例子只是為了起到拋磚引玉的作用,其實(shí),黑客利用“猜測+精通的sql語言+反復(fù)嘗試”的方式,可以構(gòu)造出各種各樣的sql入侵。作為程序員,如何來防御或者降低受攻擊的幾率呢?作者在實(shí)際中是按以下方法做的:
第一:在用戶輸入頁面加以友好備注,告知用戶只能輸入哪些字符;
第二:在客戶端利用ASP自帶的校驗(yàn)控件和正則表達(dá)式對用戶輸入進(jìn)行校驗(yàn),發(fā)現(xiàn)非法字符,提示用戶且終止程序進(jìn)行;
第三:為了防止黑客避開客戶端校驗(yàn)直接進(jìn)入后臺(tái),在后臺(tái)程序中利用一個(gè)公用函數(shù)再次對用戶輸入進(jìn)行檢查,一旦發(fā)現(xiàn)可疑輸入,立即終止程序,但不進(jìn)行提示,同時(shí),將黑客IP、動(dòng)作、日期等信息保存到日志數(shù)據(jù)表中以備核查。
第四:對于參數(shù)的情況,頁面利用QueryString或者Quest取得參數(shù)后,要對每個(gè)參數(shù)進(jìn)行判斷處理,發(fā)現(xiàn)異常字符,要利用replace函數(shù)將異常字符過濾掉,然后再做下一步操作。
第五:只給出一種錯(cuò)誤提示信息,服務(wù)器都只提示HTTP500錯(cuò)誤。
第六:在IIS中為每個(gè)網(wǎng)站設(shè)置好執(zhí)行權(quán)限。千萬別給靜態(tài)網(wǎng)站以“腳本和可執(zhí)行”權(quán)限。一般情況下給個(gè)“純腳本”權(quán)限就夠了,對于那些通過網(wǎng)站后臺(tái)管理中心上傳的文件存放的目錄,就更吝嗇一點(diǎn)吧,執(zhí)行權(quán)限設(shè)為“無”好了。
第七:數(shù)據(jù)庫用戶的權(quán)限配置。對于MS_SQL,如果PUBLIC權(quán)限足夠使用的絕不給再高的權(quán)限,千萬不要SA級(jí)別的權(quán)限隨隨便便地給。
3.4傳漏洞
諸如論壇,同學(xué)錄等網(wǎng)站系統(tǒng)都提供了文件上傳功能,但在網(wǎng)頁設(shè)計(jì)時(shí)如果缺少對用戶提交參數(shù)的過濾,將使得攻擊者可以上傳網(wǎng)頁木馬等惡意文件,導(dǎo)致攻擊事件的發(fā)生。
防文件上傳漏洞
在文件上傳之前,加入文件類型判斷模塊,進(jìn)行過濾,防止ASP、ASA、CER等類型的文件上傳。
暴庫。暴庫,就是通過一些技術(shù)手段或者程序漏洞得到數(shù)據(jù)庫的地址,并將數(shù)據(jù)非法下載到本地。
數(shù)據(jù)庫可能被下載。在IIS+ASP網(wǎng)站中,如果有人通過各種方法獲得或者猜到數(shù)據(jù)庫的存儲(chǔ)路徑和文件名,則該數(shù)據(jù)庫就可以被下載到本地。
數(shù)據(jù)庫可能被解密
由于Access數(shù)據(jù)庫的加密機(jī)制比較簡單,即使設(shè)置了密碼,解密也很容易。因此,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。
防止數(shù)據(jù)庫被下載。由于Access數(shù)據(jù)庫加密機(jī)制過于簡單,有效地防止數(shù)據(jù)庫被下載,就成了提高ASP+Access解決方案安全性的重中之重。以下兩種方法簡單、有效。
非常規(guī)命名法。為Access數(shù)據(jù)庫文件起一個(gè)復(fù)雜的非常規(guī)名字,并把它放在幾個(gè)目錄下。
使用ODBC數(shù)據(jù)源。在ASP程序設(shè)計(jì)中,如果有條件,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫名寫在程序中,否則,數(shù)據(jù)庫名將隨ASP源代碼的失密而一同失密。
使用密碼加密。經(jīng)過MD5加密,再結(jié)合生成圖片驗(yàn)證碼技術(shù),暴力破解的難度會(huì)大大增強(qiáng)。
使用數(shù)據(jù)備份。當(dāng)網(wǎng)站被黑客攻擊或者其它原因丟失了數(shù)據(jù),可以將備份的數(shù)據(jù)恢復(fù)到原始的數(shù)據(jù),保證了網(wǎng)站在一些人為的、自然的不可避免的條件下的相對安全性。
3.5SP木馬
由于ASP它本身是服務(wù)器提供的一項(xiàng)服務(wù)功能,所以這種ASP腳本的木馬后門,不會(huì)被殺毒軟件查殺。被黑客們稱為“永遠(yuǎn)不會(huì)被查殺的后門”。我在這里講講如何有效的發(fā)現(xiàn)web空間中的asp木馬并清除。
技巧1:殺毒軟件查殺
一些非常有名的asp木馬已經(jīng)被殺毒軟件列入了黑名單,所以利用殺毒軟件對web空間中的文件進(jìn)行掃描,可以有效的發(fā)現(xiàn)并清除這些有名的asp木馬。
技巧2:FTP客戶端對比
asp木馬若進(jìn)行偽裝,加密,躲藏殺毒軟件,怎么辦?
我們可以利用一些FTP客戶端軟件(例如cuteftp,F(xiàn)lashFXP)提供的文件對比功能,通過對比FTP的中的web文件和本地的備份文件,發(fā)現(xiàn)是否多出可疑文件。
技巧3:用BeyondCompare2進(jìn)行對比
滲透性asp木馬,可以將代碼插入到指定web文件中,平常情況下不會(huì)顯示,只有使用觸發(fā)語句才能打開asp木馬,其隱蔽性非常高。BeyondCompare2這時(shí)候就會(huì)作用比較明顯了。
技巧4:利用組件性能找asp木馬
如:思易asp木馬追捕。
大家在查找web空間的asp木馬時(shí),最好幾種方法結(jié)合起來,這樣就能有效的查殺被隱藏起來的asp木馬。
結(jié)束語
總結(jié)了ASP木馬防范的十大原則供大家參考:
建議用戶通過FTP來上傳、維護(hù)網(wǎng)頁,盡量不安裝asp的上傳程序。
對asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。
asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。
到正規(guī)網(wǎng)站下載asp程序,下載后要對其數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫文件名稱也要有一定復(fù)雜性。
要盡量保持程序是最新版本。
不要在網(wǎng)頁上加注后臺(tái)管理程序登陸頁面的鏈接。
為防止程序有未知漏洞,可以在維護(hù)后刪除后臺(tái)管理程序的登陸頁面,下次維護(hù)時(shí)再通過上傳即可。
要時(shí)常備份數(shù)據(jù)庫等重要文件。
日常要多維護(hù),并注意空間中是否有來歷不明的asp文件。
一旦發(fā)現(xiàn)被人侵,除非自己能識(shí)別出所有木馬文件,否則要?jiǎng)h除所有文件。重新上傳文件前,所有asp程序用戶名和密碼都要重置,并要重新修改程序數(shù)據(jù)庫名稱和存放路徑以及后臺(tái)管理程序的路徑。
做好以上防范措施,您的網(wǎng)站只能說是相對安全了,決不能因此疏忽大意,因?yàn)槿肭峙c反入侵是一場永恒的戰(zhàn)爭!網(wǎng)站安全是一個(gè)較為復(fù)雜的問題,嚴(yán)格的說,沒有絕對安全的網(wǎng)絡(luò)系統(tǒng),我們只有通過不斷的改進(jìn)程序,將各種可能出現(xiàn)的問題考慮周全,對潛在的異常情況進(jìn)行處理,才能減少被黑客入侵的機(jī)會(huì)。
參考文獻(xiàn)
[1]袁志芳田曉芳李桂寶《ASP程序設(shè)計(jì)與WEB信息安全》中國教育信息化2007年21期.
2007年1月至6月期間,半年時(shí)間內(nèi),CNCERT/CC接收的網(wǎng)絡(luò)仿冒事件和網(wǎng)頁惡意代碼事件,已分別超出去年全年總數(shù)的14.6%和12.5%。
從CNCERT/CC掌握的半年情況來看,攻擊者的攻擊目標(biāo)明確,針對不同網(wǎng)站和用戶采用不同的攻擊手段,且攻擊行為趨利化特點(diǎn)表現(xiàn)明顯。對政府類和安全管理相關(guān)類網(wǎng)站主要采用篡改網(wǎng)頁的攻擊形式,也不排除放置惡意代碼的可能。對中小企業(yè),尤其是以網(wǎng)絡(luò)為核心業(yè)務(wù)的企業(yè),采用有組織的分布式拒絕服務(wù)攻擊(DDoS)等手段進(jìn)行勒索,影響企業(yè)正常業(yè)務(wù)的開展。對于個(gè)人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號(hào)、銀行賬號(hào)、密碼等,竊取用戶的私有財(cái)產(chǎn)。
2用IIS+ASP建網(wǎng)站的安全性分析
微軟推出的IIS+ASP的解決方案作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計(jì)技術(shù),被廣泛應(yīng)用在網(wǎng)上銀行、電子商務(wù)、網(wǎng)上調(diào)查、網(wǎng)上查詢、BBS、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中。但是,該解決方案在為我們帶來便捷的同時(shí),也帶來了嚴(yán)峻的安全問題。本文從ASP程序設(shè)計(jì)角度對WEB信息安全及防范進(jìn)行分析討論。
3SP安全漏洞和防范
3.1程序設(shè)計(jì)與腳本信息泄漏隱患
bak文件。攻擊原理:在有些編輯ASP程序的工具中,當(dāng)創(chuàng)建或者修改一個(gè)ASP文件時(shí),編輯器自動(dòng)創(chuàng)建一個(gè)備份文件,如果你沒有刪除這個(gè)bak文件,攻擊者可以直接下載,這樣源程序就會(huì)被下載。
防范技巧:上傳程序之前要仔細(xì)檢查,刪除不必要的文檔。對以BAK為后綴的文件要特別小心。
inc文件泄露問題。攻擊原理:當(dāng)存在ASP的主頁正在制作且沒有進(jìn)行最后調(diào)試完成以前,可以被某些搜索引擎機(jī)動(dòng)追加為搜索對象。如果這時(shí)候有人利用搜索引擎對這些網(wǎng)頁進(jìn)行查找,會(huì)得到有關(guān)文件的定位,并能在瀏覽器中查看到數(shù)據(jù)庫地點(diǎn)和結(jié)構(gòu)的細(xì)節(jié),并以此揭示完整的源代碼。
防范技巧:程序員應(yīng)該在網(wǎng)頁前對它進(jìn)行徹底的調(diào)試。首先對.inc文件內(nèi)容進(jìn)行加密,其次也可以使用.asp文件代替.inc文件,使用戶無法從瀏覽器直接觀看文件的源代碼。
3.2對ASP頁面進(jìn)行加密。為有效地防止ASP源代碼泄露,可以對ASP頁面進(jìn)行加密。我們曾采用兩種方法對ASP頁面進(jìn)行加密。一是使用組件技術(shù)將編程邏輯封裝入DLL之中;二是使用微軟的ScriptEncoder對ASP頁面進(jìn)行加密。3.3程序設(shè)計(jì)與驗(yàn)證不全漏洞
驗(yàn)證碼。普遍的客戶端交互如留言本、會(huì)員注冊等僅是按照要求輸入內(nèi)容,但網(wǎng)上有很多攻擊軟件,如注冊機(jī),可以通過瀏覽WEB,掃描表單,然后在系統(tǒng)上頻繁注冊,頻繁發(fā)送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗(yàn)證碼技術(shù),使客戶端輸入的信息都必須經(jīng)過驗(yàn)證,從而可以解決這個(gè)問題。
登陸驗(yàn)證。對于很多網(wǎng)頁,特別是網(wǎng)站后臺(tái)管理部分,是要求有相應(yīng)權(quán)限的用戶才能進(jìn)入操作的。但是,如果這些頁面沒有對用戶身份進(jìn)行驗(yàn)證,黑客就可以直接在地址欄輸入收集到的相應(yīng)的URL路徑,避開用戶登錄驗(yàn)證頁面,從而獲得合法用戶的權(quán)限。所以,登陸驗(yàn)證是非常必要的。
SQL注入。SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會(huì)對SQL注入發(fā)出警報(bào),如果管理員沒查看IIS日志的習(xí)慣,可能被入侵很長時(shí)間都不會(huì)發(fā)覺。
SQL注入攻擊是最為常見的程序漏洞攻擊方式,引起攻擊的根本原因就是盲目信任用戶,將用戶輸入用來直接構(gòu)造SQL語句或存儲(chǔ)過程的參數(shù)。以下列出三種攻擊的形式:
A.用戶登錄:假設(shè)登錄頁面有兩個(gè)文本框,分別用來供用戶輸入帳號(hào)和密碼,利用執(zhí)行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號(hào)和密碼是什么,OR后面的0=0總是成立的,最后結(jié)果就是該黑客成為了合法的用戶。
B.用戶輸入:假設(shè)網(wǎng)頁中有個(gè)搜索功能,只要用戶輸入搜索關(guān)鍵字,系統(tǒng)就列出符合條件的所有記錄,可是,如果黑客在關(guān)鍵字文本框中輸入''''GODROPbr用戶表,后果是用戶表被徹底刪除。
C.參數(shù)傳遞:假設(shè)我們有個(gè)網(wǎng)頁鏈接地址是HTTP://……asp?id=22,然后ASP在頁面中利用Request.QueryString[''''id'''']取得該id值,構(gòu)成某SQL語句,這種情況很常見??墒?,如果黑客將地址變?yōu)镠TTP://……asp?id=22anduser=0,結(jié)果會(huì)怎樣?如果程序員有沒有對系統(tǒng)的出錯(cuò)提示進(jìn)行屏蔽處理的話,黑客就獲得了數(shù)據(jù)庫的用戶名,這為他們的進(jìn)一步攻擊提供了很好的條件。
解決方法:以上幾個(gè)例子只是為了起到拋磚引玉的作用,其實(shí),黑客利用“猜測+精通的sql語言+反復(fù)嘗試”的方式,可以構(gòu)造出各種各樣的sql入侵。作為程序員,如何來防御或者降低受攻擊的幾率呢?作者在實(shí)際中是按以下方法做的:
第一:在用戶輸入頁面加以友好備注,告知用戶只能輸入哪些字符;
第二:在客戶端利用ASP自帶的校驗(yàn)控件和正則表達(dá)式對用戶輸入進(jìn)行校驗(yàn),發(fā)現(xiàn)非法字符,提示用戶且終止程序進(jìn)行;
第三:為了防止黑客避開客戶端校驗(yàn)直接進(jìn)入后臺(tái),在后臺(tái)程序中利用一個(gè)公用函數(shù)再次對用戶輸入進(jìn)行檢查,一旦發(fā)現(xiàn)可疑輸入,立即終止程序,但不進(jìn)行提示,同時(shí),將黑客IP、動(dòng)作、日期等信息保存到日志數(shù)據(jù)表中以備核查。
第四:對于參數(shù)的情況,頁面利用QueryString或者Quest取得參數(shù)后,要對每個(gè)參數(shù)進(jìn)行判斷處理,發(fā)現(xiàn)異常字符,要利用replace函數(shù)將異常字符過濾掉,然后再做下一步操作。
第五:只給出一種錯(cuò)誤提示信息,服務(wù)器都只提示HTTP500錯(cuò)誤。
第六:在IIS中為每個(gè)網(wǎng)站設(shè)置好執(zhí)行權(quán)限。千萬別給靜態(tài)網(wǎng)站以“腳本和可執(zhí)行”權(quán)限。一般情況下給個(gè)“純腳本”權(quán)限就夠了,對于那些通過網(wǎng)站后臺(tái)管理中心上傳的文件存放的目錄,就更吝嗇一點(diǎn)吧,執(zhí)行權(quán)限設(shè)為“無”好了。
第七:數(shù)據(jù)庫用戶的權(quán)限配置。對于MS_SQL,如果PUBLIC權(quán)限足夠使用的絕不給再高的權(quán)限,千萬不要SA級(jí)別的權(quán)限隨隨便便地給。
3.4傳漏洞
諸如論壇,同學(xué)錄等網(wǎng)站系統(tǒng)都提供了文件上傳功能,但在網(wǎng)頁設(shè)計(jì)時(shí)如果缺少對用戶提交參數(shù)的過濾,將使得攻擊者可以上傳網(wǎng)頁木馬等惡意文件,導(dǎo)致攻擊事件的發(fā)生。
防文件上傳漏洞
在文件上傳之前,加入文件類型判斷模塊,進(jìn)行過濾,防止ASP、ASA、CER等類型的文件上傳。
暴庫。暴庫,就是通過一些技術(shù)手段或者程序漏洞得到數(shù)據(jù)庫的地址,并將數(shù)據(jù)非法下載到本地。
數(shù)據(jù)庫可能被下載。在IIS+ASP網(wǎng)站中,如果有人通過各種方法獲得或者猜到數(shù)據(jù)庫的存儲(chǔ)路徑和文件名,則該數(shù)據(jù)庫就可以被下載到本地。
數(shù)據(jù)庫可能被解密
由于Access數(shù)據(jù)庫的加密機(jī)制比較簡單,即使設(shè)置了密碼,解密也很容易。因此,只要數(shù)據(jù)庫被下載,其信息就沒有任何安全性可言了。
防止數(shù)據(jù)庫被下載。由于Access數(shù)據(jù)庫加密機(jī)制過于簡單,有效地防止數(shù)據(jù)庫被下載,就成了提高ASP+Access解決方案安全性的重中之重。以下兩種方法簡單、有效。
非常規(guī)命名法。為Access數(shù)據(jù)庫文件起一個(gè)復(fù)雜的非常規(guī)名字,并把它放在幾個(gè)目錄下。
使用ODBC數(shù)據(jù)源。在ASP程序設(shè)計(jì)中,如果有條件,應(yīng)盡量使用ODBC數(shù)據(jù)源,不要把數(shù)據(jù)庫名寫在程序中,否則,數(shù)據(jù)庫名將隨ASP源代碼的失密而一同失密。
使用密碼加密。經(jīng)過MD5加密,再結(jié)合生成圖片驗(yàn)證碼技術(shù),暴力破解的難度會(huì)大大增強(qiáng)。
使用數(shù)據(jù)備份。當(dāng)網(wǎng)站被黑客攻擊或者其它原因丟失了數(shù)據(jù),可以將備份的數(shù)據(jù)恢復(fù)到原始的數(shù)據(jù),保證了網(wǎng)站在一些人為的、自然的不可避免的條件下的相對安全性。
3.5SP木馬
由于ASP它本身是服務(wù)器提供的一項(xiàng)服務(wù)功能,所以這種ASP腳本的木馬后門,不會(huì)被殺毒軟件查殺。被黑客們稱為“永遠(yuǎn)不會(huì)被查殺的后門”。我在這里講講如何有效的發(fā)現(xiàn)web空間中的asp木馬并清除。
技巧1:殺毒軟件查殺
一些非常有名的asp木馬已經(jīng)被殺毒軟件列入了黑名單,所以利用殺毒軟件對web空間中的文件進(jìn)行掃描,可以有效的發(fā)現(xiàn)并清除這些有名的asp木馬。
技巧2:FTP客戶端對比
asp木馬若進(jìn)行偽裝,加密,躲藏殺毒軟件,怎么辦?
我們可以利用一些FTP客戶端軟件(例如cuteftp,F(xiàn)lashFXP)提供的文件對比功能,通過對比FTP的中的web文件和本地的備份文件,發(fā)現(xiàn)是否多出可疑文件。
技巧3:用BeyondCompare2進(jìn)行對比
滲透性asp木馬,可以將代碼插入到指定web文件中,平常情況下不會(huì)顯示,只有使用觸發(fā)語句才能打開asp木馬,其隱蔽性非常高。BeyondCompare2這時(shí)候就會(huì)作用比較明顯了。
技巧4:利用組件性能找asp木馬
如:思易asp木馬追捕。
大家在查找web空間的asp木馬時(shí),最好幾種方法結(jié)合起來,這樣就能有效的查殺被隱藏起來的asp木馬。
結(jié)束語
總結(jié)了ASP木馬防范的十大原則供大家參考:
建議用戶通過FTP來上傳、維護(hù)網(wǎng)頁,盡量不安裝asp的上傳程序。
對asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。
asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。
到正規(guī)網(wǎng)站下載asp程序,下載后要對其數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫文件名稱也要有一定復(fù)雜性。
要盡量保持程序是最新版本。
不要在網(wǎng)頁上加注后臺(tái)管理程序登陸頁面的鏈接。
為防止程序有未知漏洞,可以在維護(hù)后刪除后臺(tái)管理程序的登陸頁面,下次維護(hù)時(shí)再通過上傳即可。
要時(shí)常備份數(shù)據(jù)庫等重要文件。
日常要多維護(hù),并注意空間中是否有來歷不明的asp文件。
【關(guān)鍵詞】網(wǎng)站群;信息安全;云計(jì)算;設(shè)計(jì)
2011年底,中國互聯(lián)網(wǎng)信息中心數(shù)據(jù),我國網(wǎng)民數(shù)量首次突破5億人,網(wǎng)站數(shù)量達(dá)到了230萬個(gè),而在2012年上半年,來自中國互聯(lián)網(wǎng)信息中心的數(shù)據(jù)顯示,我國移動(dòng)互聯(lián)網(wǎng)的網(wǎng)民數(shù)量首次超過基于PC互聯(lián)網(wǎng)人數(shù),這說明移動(dòng)互聯(lián)網(wǎng)已成為未來互聯(lián)網(wǎng)發(fā)展的趨勢,而移動(dòng)互聯(lián)網(wǎng)和云計(jì)算的親和性更加完美,在此背景下,云計(jì)算能夠給政府網(wǎng)站群在管理和運(yùn)營方面提供了一個(gè)新的技術(shù)平臺(tái),本文通過某政府單位典型的網(wǎng)站群建設(shè)案例來進(jìn)行具體的分析,來探索云計(jì)算在網(wǎng)站群架構(gòu)和安全性方面的設(shè)計(jì)。
1.云計(jì)算技術(shù)在網(wǎng)站群架構(gòu)設(shè)計(jì)和安全性方面的實(shí)現(xiàn)
1.1 針對云計(jì)算在網(wǎng)站群架構(gòu)設(shè)計(jì)方面的可行性研究
云計(jì)算技術(shù)在商業(yè)網(wǎng)站以及企業(yè)網(wǎng)站群的建設(shè)上已經(jīng)得到了普遍的應(yīng)用,這說明政府機(jī)構(gòu)網(wǎng)站群的云計(jì)算架構(gòu)也是可以實(shí)現(xiàn)的,但是在云計(jì)算架構(gòu)下的應(yīng)用安全性問題,云計(jì)算的表現(xiàn)如何,因此對這一點(diǎn)的探討還需要通過后續(xù)的實(shí)施進(jìn)行研究,當(dāng)然目前的私有云和公有云的不同屬性也有助于解決云計(jì)算的應(yīng)用安全隱患。
1.2 設(shè)立云計(jì)算的網(wǎng)站群架構(gòu)的實(shí)驗(yàn)平臺(tái)
1.2.1 實(shí)現(xiàn)云計(jì)算架構(gòu)的軟硬件資源
本實(shí)驗(yàn)的平臺(tái)采用了8臺(tái)刀片服務(wù)器以及基于raid6.0磁盤陣列。系統(tǒng)軟件采用了LINUX以及中間組件和DBMS面向?qū)ο髷?shù)據(jù)庫。應(yīng)用軟件模塊則使用了專業(yè)的網(wǎng)站群管理和應(yīng)用軟件。
1.2.2 實(shí)驗(yàn)平臺(tái)的體系架構(gòu)
在本課題研究的體系架構(gòu)中,首先要集成研究的基本資源,然后在8臺(tái)刀片機(jī)服務(wù)器上安裝相應(yīng)的系統(tǒng)軟件和磁盤陣列,安裝虛擬服務(wù)器操作系統(tǒng),以及云計(jì)算資源管理系統(tǒng)等,從而形成IaaS云計(jì)算環(huán)境。這是就建立了基本的云計(jì)算服務(wù)平臺(tái)。接著就需要在IaaS環(huán)境下進(jìn)一步布置PaaS環(huán)境,也就是說要在IaaS上布置支持網(wǎng)站群的基礎(chǔ)軟件。在完成PaaS環(huán)境的部署之后,在安裝網(wǎng)站群管理和建設(shè)的應(yīng)用軟件,進(jìn)而形成SaaS環(huán)境,此時(shí)就完成了本課題研究的體系架構(gòu)建設(shè),具體如圖1所示。
1.2.3 易擴(kuò)展性設(shè)計(jì)
在網(wǎng)站群設(shè)計(jì)階段就需要充分的考慮今后的易擴(kuò)展性,在本課題的實(shí)驗(yàn)平添環(huán)境中需要布置幾套能夠支持網(wǎng)站群管理的應(yīng)用軟件,在每套系統(tǒng)中有助于建設(shè)自由子站群,并通過一個(gè)主管理軟件統(tǒng)一管理不同子站群,實(shí)現(xiàn)子站群的獨(dú)立性和共享性,同時(shí)還能夠根據(jù)應(yīng)用的需求隨時(shí)可以擴(kuò)大站群。具體如圖2所示。
1.3 安全性設(shè)計(jì)分析
根據(jù)圖3所示,在這個(gè)云計(jì)算平臺(tái)上劃分出了2個(gè)獨(dú)立的安全域,這是云計(jì)算解決網(wǎng)站群的核心。這兩個(gè)安全域一個(gè)放在互聯(lián)網(wǎng)中,也就是所謂的公有云。這部分是為了實(shí)現(xiàn)站群子站的所有瀏覽服務(wù)。另一個(gè)安全域就是在管理服務(wù)器的局域網(wǎng)中,因此又叫做私有云。主要的作用就是給網(wǎng)站群的內(nèi)容作管理。在資源管理和服務(wù)平臺(tái)中,跨域管理的核心就是通過IP地址映射。
圖3中的云計(jì)算資源管理平臺(tái)一共有4個(gè)子域,虛擬機(jī)組成的子域是專門網(wǎng)站群的信息,其作用是面向互聯(lián)網(wǎng)提供內(nèi)容瀏覽服務(wù),這就是為什么這個(gè)域被稱為公有云的原因。而其他3個(gè)子域則分別對信息以及數(shù)據(jù)庫盡心管理,形成私有云,而公有云和私有云之間并沒有被截?cái)?,而是通過VPN虛擬局域網(wǎng)通道實(shí)現(xiàn)數(shù)據(jù)共享,這種方式能夠更好的確保信息的安全傳遞。
1.4 云計(jì)算在網(wǎng)站群架構(gòu)設(shè)計(jì)和安全性設(shè)計(jì)的實(shí)驗(yàn)分析
1.4.1 能夠提升站群的易擴(kuò)展性
在站群建設(shè)上是一個(gè)動(dòng)態(tài)的過程,相對于傳統(tǒng)的站群建設(shè)中,都是需要經(jīng)過獨(dú)立的服務(wù)器和獨(dú)立的空間,需要獨(dú)立的服務(wù)器進(jìn)行管理,所以一旦增加新的網(wǎng)站進(jìn)入站群,那么需要做的工作就很多,而且非常繁瑣,這不利于網(wǎng)站集群的擴(kuò)展。但是在云計(jì)算技術(shù)下,因?yàn)椴捎昧司W(wǎng)站群應(yīng)用軟件進(jìn)行集中管理,網(wǎng)站內(nèi)容都是集中在數(shù)據(jù)庫中,新建的網(wǎng)站內(nèi)容只需要在數(shù)據(jù)庫中調(diào)去,就能夠產(chǎn)生一個(gè)功能非常豐富的網(wǎng)站,而且還提供了網(wǎng)站外掛功能模塊的接口,有助于系統(tǒng)的增強(qiáng)。
1.4.2 網(wǎng)站群的子群和網(wǎng)站安全性更高
在云計(jì)算中采用了公有云和私有云結(jié)合的方式來實(shí)現(xiàn)對網(wǎng)站群的管理,與此同時(shí)還在服務(wù)器上安裝了監(jiān)控軟件,能夠?qū)W(wǎng)站站群的屬性進(jìn)行即時(shí)監(jiān)控,比如網(wǎng)站的訪問量和訪問者等參數(shù)的監(jiān)控,并且這些參數(shù)還能夠通過前臺(tái)功能的設(shè)置,幫助管理者來監(jiān)控和管理站群,防范非法入侵,提升網(wǎng)站的安全性。
1.4.3 實(shí)驗(yàn)平臺(tái)資源分析
該站群服務(wù)器總共有30臺(tái)4核服務(wù)器,類型分別是22臺(tái)機(jī)架式服務(wù)器和8臺(tái)刀片式服務(wù)器。在本實(shí)驗(yàn)研究中采用的服務(wù)器是8臺(tái)刀片式服務(wù)器。按照非云計(jì)算技術(shù)組件站群服務(wù),那么這8臺(tái)刀片式服務(wù)器就僅僅能夠完成8中虛擬服務(wù),但是在云計(jì)算環(huán)境下,就能夠分配48個(gè)虛擬服務(wù),在實(shí)驗(yàn)研究中,實(shí)際上分配的虛擬機(jī)是30臺(tái),分別布置在公有云和私有云的云計(jì)算管理平臺(tái)中。在實(shí)驗(yàn)研究中,有3個(gè)子域采用了私有云的安全設(shè)置,并支持3個(gè)子站群的網(wǎng)站建設(shè),通過將云計(jì)算下的服務(wù)器使用數(shù)量和非云計(jì)算服務(wù)器使用數(shù)量進(jìn)行對比分析,能夠降低達(dá)到一半的水平,而且在站群的安全性方面,云計(jì)算的私有云和公有云的共同作用要比非云計(jì)算環(huán)境下安全要高得多。在能耗上,云計(jì)算的能耗要比非云計(jì)算的能耗同樣也要低一半。
1.5 云計(jì)算實(shí)驗(yàn)平臺(tái)設(shè)計(jì)和實(shí)踐的關(guān)鍵
1.5.1 對私有云和公有云的應(yīng)用范圍要嚴(yán)格區(qū)分
在云計(jì)算平臺(tái)架構(gòu)中主要有兩個(gè)層次,一個(gè)是信息處理層,另一個(gè)是信息展示層。一般而言,云計(jì)算體系架構(gòu)中,信息展示層需要布置在公有云中,而信息處理層則需要布置在私有云中,這兩者之間需要通過VPN建立虛擬通道,這樣有助于提升網(wǎng)站群的安全。
1.5.2 注重熟能生巧
目前云計(jì)算的應(yīng)用還處于方興未艾階段,有很多的應(yīng)用還存在摸索和研究階段,因此作為新興的應(yīng)用應(yīng)該將云計(jì)算技術(shù)的應(yīng)用放在容易突破的地方,其中從容易了解和熟知的領(lǐng)域進(jìn)行創(chuàng)新,就能夠很好的實(shí)現(xiàn)對技術(shù)的創(chuàng)新,云計(jì)算在存貯和網(wǎng)站管理方面的應(yīng)用相對已經(jīng)成熟,本研究課題的實(shí)驗(yàn)實(shí)際上也就是在這種熟悉的基礎(chǔ)上實(shí)現(xiàn)的創(chuàng)新。
2.云計(jì)算在玩站群架構(gòu)和安全性設(shè)計(jì)實(shí)驗(yàn)帶來的意義
通過對實(shí)驗(yàn)平臺(tái)的研究,云計(jì)算技術(shù)的核心就在于虛擬化,通過將4個(gè)服務(wù)模塊的虛擬化,分別布置成私有云和公有云,同時(shí)在數(shù)據(jù)存貯方面,同樣也使用到了虛擬化的技術(shù),這些對數(shù)據(jù)存貯安全性和易管理性都具有十分重要的作用。在這里特別要提到的就是云計(jì)算技術(shù)有效的解決了無邊界的安全防護(hù)問題,因?yàn)樵谠朴?jì)算環(huán)境下,一切都是虛擬的,這對于安全防護(hù)來說,就出現(xiàn)了沒有邊界的尷尬,無法實(shí)現(xiàn)邏輯上的劃分隔離。如果仿照物理服務(wù)器進(jìn)行安全防護(hù),那顯然有悖于虛擬化的應(yīng)用。不過隨著私有云和公有云的出現(xiàn)則很好的解決了這個(gè)瓶頸,將每個(gè)子站群布置在一個(gè)私有云中,而這個(gè)私有云實(shí)際上就是一個(gè)邏輯邊界,因此在私有云中可以實(shí)現(xiàn)安全防護(hù)。同理公有云同樣也是一種邏輯安全邊界,可以提升安全防護(hù),而且私有云和公有云之間還可以通過VPN實(shí)現(xiàn)信息共享,從而既保證了數(shù)據(jù)的安全有保證了數(shù)據(jù)的溝通。
3.總結(jié)
云計(jì)算的應(yīng)用非常廣泛,雖然在云存貯的應(yīng)用上以及云系統(tǒng)的使用上都已經(jīng)相當(dāng)成熟,但是在站群架構(gòu)上的使用還處于實(shí)驗(yàn)階段,因?yàn)檎救旱膽?yīng)用需要滿足易擴(kuò)展、安全性、穩(wěn)定性、易管理性等諸多要求,對于云計(jì)算這個(gè)新技術(shù)能否勝任還存在著一定的疑問,但是隨著云計(jì)算的進(jìn)一步成熟,有關(guān)云計(jì)算的管理軟件的豐富,基于云計(jì)算的網(wǎng)站群架構(gòu)和安全性都是完全有保障的!
參考文獻(xiàn)