時(shí)間:2023-03-20 16:22:20
序論:在您撰寫網(wǎng)站安全論文時(shí),參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。
1網(wǎng)站技術(shù)簡介安全威脅的來源
1.1WWW技術(shù)簡介
WorldWideWeb稱為萬維網(wǎng),簡稱Web。分成服務(wù)器端、客戶接收機(jī)及通訊協(xié)議三個(gè)部分。
1.1.1服務(wù)器(Web服務(wù)器)
服務(wù)器結(jié)構(gòu)中規(guī)定了服務(wù)器的傳輸設(shè)定、信息傳輸格式及服務(wù)器本身的基本開放結(jié)構(gòu)。Web服務(wù)器的作用就是管理這些文檔,按用戶的要求返回信息。
1.1.2客戶接收機(jī)(Web瀏覽器)
客戶機(jī)系統(tǒng)稱為Web瀏覽器,用于向服務(wù)器發(fā)送資源索取請求,并將接收到的信息進(jìn)行解碼和顯示。Web瀏覽器是客戶端軟件,它從Web服務(wù)器上下載和獲取文件,翻譯下載文件中的HTML代碼,進(jìn)行格式化,根據(jù)HTML中的內(nèi)容在屏幕上顯示信息。
1.1.3通訊協(xié)議(HTTP協(xié)議)
Web瀏覽器與服務(wù)器之間遵循HTTP協(xié)議進(jìn)行通訊傳輸。HTTP(HyperTextTransferProtocol,超文本傳輸協(xié)議)是分布式的Web應(yīng)用的核心技術(shù)協(xié)議,在TCP/IP協(xié)議棧中屬于應(yīng)用層。它定義了Web瀏覽器向Web服務(wù)器發(fā)送索取Web頁面請求的格式,以及Web頁面在Internet上的傳輸方式。
1.2服務(wù)器安全威脅
對于Web服務(wù)器、服務(wù)器的操作系統(tǒng)、數(shù)據(jù)庫服務(wù)器都有可能存在漏洞,惡意用戶都有可能利用這些漏洞去獲得重要信息。Web服務(wù)器上的漏洞可以從以下幾方面考慮:
Web服務(wù)器操作系統(tǒng)本身存在一些漏洞,能被黑客利用侵入到系統(tǒng),破壞一些重要文件,甚至造成系統(tǒng)癱瘓。
Web數(shù)據(jù)庫中安全配置不完整,存在弱口令或被數(shù)據(jù)庫注入等安全漏洞,導(dǎo)致數(shù)據(jù)丟失或服務(wù)中斷。
Web服務(wù)器上的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)不合理,沒有劃分安全區(qū)域或重要數(shù)據(jù)沒有存放在安全區(qū)域,導(dǎo)致被侵入。
Web服務(wù)器上運(yùn)行的程序存在安全漏洞,或應(yīng)用程序所需要的權(quán)限過高沒有優(yōu)化,容易被黑客侵入。
1.3客戶端安全威脅
現(xiàn)在網(wǎng)頁中的活動(dòng)內(nèi)容已被廣泛應(yīng)用,活動(dòng)內(nèi)容的不安全性是造成客戶端的主要威脅。主要用到JavaApplet、ActiveX、Cookie等技術(shù)都存在不同的安全隱患。
1.4數(shù)據(jù)傳輸中的安全威脅
Internet是連接Web客戶機(jī)和服務(wù)器通信的信道,是不安全的。未經(jīng)授權(quán)的用戶可以改變信道中的信息流傳輸內(nèi)容,造成對信息完整性的安全威脅。此外,還有像利用拒絕服務(wù)攻擊,向網(wǎng)站服務(wù)器發(fā)送大量請求造成主機(jī)無法及時(shí)響應(yīng)而癱瘓,或者發(fā)送大量的IP數(shù)據(jù)包來阻塞通信信道,使網(wǎng)絡(luò)的速度便緩慢。
2WEB安全保護(hù)的原則
2.1實(shí)用的原則
針對網(wǎng)站架構(gòu),網(wǎng)站安全問題主要分為以下四個(gè)方面:服務(wù)器安全、邊界安全、Internet和Extranet上的安全,在攻擊行為發(fā)生前,做到防患于未然是預(yù)防措施的關(guān)鍵。
2.2積極預(yù)防的原則
對WEB系統(tǒng)進(jìn)行安全評估,權(quán)衡考慮各類安全資源的價(jià)值和對它們實(shí)施保護(hù)所需要的費(fèi)用,通過評估,確定不安全情況發(fā)生的幾率,采用必要的軟硬件產(chǎn)品,加強(qiáng)網(wǎng)站日常安全監(jiān)控。
2.3及時(shí)補(bǔ)救的原則
在攻擊事件發(fā)生后盡快恢復(fù)系統(tǒng)的正常運(yùn)行,并找出發(fā)生攻擊事件問題的原因,將損失降至最低,并研究攻擊發(fā)生后應(yīng)對措施。3建立安全的Web網(wǎng)站
3.1合理配置主機(jī)系統(tǒng)
3.1.1僅提供必要的服務(wù)
默認(rèn)安裝的操作系統(tǒng)都有一系列常用的服務(wù)。例如UNIX系統(tǒng)將提供Finger、Sendmail、FTP、NFS、IP轉(zhuǎn)發(fā)等,WindowsNT系統(tǒng)將提供RPC、IP)轉(zhuǎn)發(fā)、FTP、SMTP等。而且,系統(tǒng)在缺省的情況下自動(dòng)啟用這些服務(wù),或提供簡單易用的配置向?qū)А榇?,在安裝操作系統(tǒng)時(shí),應(yīng)該只選擇安裝必要的協(xié)議和服務(wù);對于UNIX系統(tǒng),應(yīng)檢查/etc/rc.d/目錄下的各個(gè)目錄中的文件,刪除不必要的文件;對于Windows系統(tǒng),應(yīng)刪除沒有用到的網(wǎng)絡(luò)協(xié)議,不要安裝不必要的應(yīng)用軟件。一般情況下,應(yīng)關(guān)閉Web服務(wù)器的IP轉(zhuǎn)發(fā)功能。
對于專門提供Web信息服務(wù)(含提供虛擬服務(wù)器)的網(wǎng)站,最好由專門的主機(jī)(或主機(jī)群)作Web服務(wù)器系統(tǒng),對外只提供Web服務(wù),沒有其他任務(wù)。這樣,可以保證(1)使系統(tǒng)最好地為Web服務(wù)提供支持;(2)管理人員單一,避免發(fā)生管理員之間的合作不調(diào)而出現(xiàn)安全漏洞的現(xiàn)象;(3)用戶訪問單一,便于控制;(4)日志文件較少,減輕系統(tǒng)負(fù)擔(dān)。
對于必須提供其他服務(wù),則必須仔細(xì)設(shè)置目錄、文件的訪問權(quán)限,確保遠(yuǎn)程用戶無法通過Web服務(wù)獲得操作權(quán)限。
3.1.2使用必要的輔助工具,簡化安全管理
啟用系統(tǒng)的日志(系統(tǒng)帳戶日志和Web服務(wù)器日志)記錄功能。監(jiān)視并記錄訪問企圖是主機(jī)安全的一個(gè)重要機(jī)制,以利于提高主機(jī)的一致性以及其數(shù)據(jù)保密性。
3.2合理配置Web服務(wù)器
在UnixOS中,以非特權(quán)用戶而不是Root身份運(yùn)行Web服務(wù)器。
(1)設(shè)置Web服務(wù)器訪問控制。通過IP地址控制、子網(wǎng)域名來控制,未被允許的IP地址、IP子網(wǎng)域發(fā)來的請求將被拒絕;
(2)通過用戶名和口令限制。只有當(dāng)遠(yuǎn)程用戶輸入正確的用戶名和口令的時(shí)候,訪問才能被正確響應(yīng)。
(3)用公用密鑰加密方法。對文件的訪問請求和文件本身都將加密,以便只有預(yù)計(jì)的用戶才能讀取文件內(nèi)容。
3.3設(shè)置Web服務(wù)器有關(guān)目錄的權(quán)限
為了安全起見,管理員應(yīng)對”文檔根目錄“和“服務(wù)器根目錄”做嚴(yán)格的訪問權(quán)限控制。
服務(wù)器根目錄下存放日志文件、配置文件等敏感信息,它們對系統(tǒng)的安全至關(guān)重要,不能讓用戶隨意讀取或刪改。
服務(wù)器根目錄下存放CGI腳本程序,用戶對這些程序有執(zhí)行權(quán)限,惡意用戶有可能利用其中的漏洞進(jìn)行越權(quán)操作。
服務(wù)器根目錄下的某些文件需要由Root來寫或者執(zhí)行,如Web服務(wù)器需要Root來啟動(dòng),如果其他用戶對Web服務(wù)器的執(zhí)行程序有寫權(quán)限,則該用戶可以用其他代碼替換掉Web服務(wù)器的執(zhí)行程序,當(dāng)Root再次執(zhí)行這個(gè)程序時(shí),用戶設(shè)定的代碼將以Root身份運(yùn)行。
3.4安全管理Web服務(wù)器
Web服務(wù)器的日常管理、維護(hù)工作包括Web服務(wù)器的內(nèi)容更新,日志文件的審計(jì),安裝一些新的工具、軟件,更改服務(wù)器配置,對Web進(jìn)行安全檢查等。
論文摘要:網(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è)人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號、銀行賬號、密碼等,竊取用戶的私有財(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è)文本框,分別用來供用戶輸入帳號和密碼,利用執(zhí)行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號和密碼是什么,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級別的權(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è)人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號、銀行賬號、密碼等,竊取用戶的私有財(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è)文本框,分別用來供用戶輸入帳號和密碼,利用執(zhí)行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號和密碼是什么,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級別的權(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è)人用戶,攻擊者更多的是通過用戶身份竊取等手段,偷取該用戶游戲賬號、銀行賬號、密碼等,竊取用戶的私有財(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è)文本框,分別用來供用戶輸入帳號和密碼,利用執(zhí)行SQL語句來判斷用戶是否為合法用戶。試想,如果黑客在密碼文本框中輸入''''OR0=0,即不管前面輸入的用戶帳號和密碼是什么,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級別的權(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期.
網(wǎng)站安全是指對網(wǎng)站進(jìn)行管理和控制,并采取一定的技術(shù)措施,從而確保在一個(gè)網(wǎng)站環(huán)境里信息數(shù)據(jù)的機(jī)密化、完整性及可使用性受到有效的保護(hù)。網(wǎng)站安全的主要目標(biāo)就是要穩(wěn)妥地確保經(jīng)由網(wǎng)站傳達(dá)的信息總能夠在到達(dá)目的地時(shí)沒有任何增加、改變、丟失或被他人非法讀取。要做到這一點(diǎn),必須保證網(wǎng)站系統(tǒng)軟件、數(shù)據(jù)庫系統(tǒng)其有一定的安全保護(hù)功能,并保證網(wǎng)站部件如終端、數(shù)據(jù)鏈路等的功能不變而且僅僅是那些被授權(quán)的人們可以訪問。
網(wǎng)站安全目前已發(fā)展成為一個(gè)跨學(xué)科的綜合性學(xué)科,它包括通信技術(shù)、網(wǎng)站技術(shù)、計(jì)算機(jī)軟件、硬件設(shè)計(jì)技術(shù)、密碼學(xué)、網(wǎng)站安全與計(jì)算機(jī)安全技術(shù)等,網(wǎng)站安全是在攻擊與防范這一對矛盾相互作用的過程中發(fā)展起來的。新的攻擊導(dǎo)致必須研究新的防護(hù)措施,新的防護(hù)措施又招致攻擊者新的攻擊,如此循環(huán)反復(fù),網(wǎng)站安全技術(shù)也就在雙方的爭斗中逐步完善發(fā)展起來。
二、網(wǎng)絡(luò)與網(wǎng)站安全隱患概述
目前影響網(wǎng)站安全的問題主要來自于網(wǎng)絡(luò)的不安全性,所以在這個(gè)意義上講,網(wǎng)站的安全漏洞其實(shí)也就是網(wǎng)絡(luò)的安全漏洞,其漏洞主要來自以下幾個(gè)方面:
1.自然因素:
1.1軟件漏洞
任何的系統(tǒng)軟件和應(yīng)用軟件都不能是百分之百的無缺陷和無漏洞的,而這些缺陷和漏洞恰恰是非法用戶、黑客進(jìn)行竊取機(jī)密信息和破壞信息的首選途徑。針對固有的安全漏洞進(jìn)行攻擊,主要在以下幾個(gè)方面:
1.1.1、協(xié)議漏洞。例如,IMAP和POP3協(xié)議一定要在Unix根目錄下運(yùn)行,攻擊者利用這一漏洞攻擊IMAP破壞系統(tǒng)的根目錄,從而獲得超級用戶的特權(quán)。
1.1.2、緩沖區(qū)溢出。很多系統(tǒng)在不檢查程序與緩沖區(qū)之間變化的情況下,就接受任何長度的數(shù)據(jù)輸入,把溢出部分放在堆棧內(nèi),系統(tǒng)仍照常執(zhí)行命令。攻擊者就利用這一漏洞發(fā)送超出緩沖區(qū)所能處理的長度的指令,來造成系統(tǒng)不穩(wěn)定狀態(tài)。
1.1.3、口令攻擊。例如,Unix系統(tǒng)軟件通常把加密的口令保存在一個(gè)文件中,而該文件可通過拷貝或口令破譯方法受到入侵。因此,任何不及時(shí)更新的系統(tǒng),都是容易被攻擊的。
1.2病毒攻擊
計(jì)算機(jī)病毒一般分為四類:①文件型病毒(FileViruses);②引導(dǎo)型病毒(SystemorBootSectorVirus);③鏈?zhǔn)讲《荆⊿YSTEMorCLUSTERVirus);④宏病毒(MacroVirus)。計(jì)算機(jī)病毒的主要危害有:對計(jì)算機(jī)數(shù)據(jù)信息的直接破壞作用,給用戶造成重大損失:占用系統(tǒng)資源并影響運(yùn)行速度:產(chǎn)生其他不可預(yù)見的危害:給用戶造成嚴(yán)重的心理壓力。
計(jì)算機(jī)病毒疫情呈現(xiàn)出多元化的發(fā)展趨勢,以網(wǎng)絡(luò)為主要傳播途徑。呈現(xiàn)以下顯著特點(diǎn):①網(wǎng)絡(luò)病毒占據(jù)主要地位;②病毒向多元化、混合化發(fā)展;③利用漏洞的病毒越來越多。
2、人為因素:
2.1操作失誤
操作員安全配置不當(dāng)造成的安全漏洞,用戶安全意識(shí)不強(qiáng).用戶口令選擇不慎.用戶將自己的帳號隨意轉(zhuǎn)借他人或與別人共享等都會(huì)對網(wǎng)絡(luò)安全帶來威脅。這種情況在企業(yè)計(jì)算機(jī)網(wǎng)絡(luò)使用初期較常見,隨著網(wǎng)絡(luò)管理制度的建立和對使用人員的培訓(xùn),此種情況逐漸減少.對網(wǎng)絡(luò)安全己不構(gòu)成主要威脅。
2.2惡意攻擊
這是計(jì)算機(jī)網(wǎng)絡(luò)所面臨的最大威脅,敵手的攻擊和計(jì)算機(jī)犯罪就屬于這一類。此類攻擊又可以分為以下兩種:一種是主動(dòng)攻擊,它以各種方式有選擇地破壞信息的有效性和完整性;另一類是被動(dòng)攻擊,它是在不影響網(wǎng)絡(luò)正常工作的情況下,進(jìn)行截獲、竊取、破譯以獲得重要機(jī)密信急。
當(dāng)然作為本文最討論的網(wǎng)站安全,它也有它自身的安全隱患存在,主要體現(xiàn)在以下幾點(diǎn):
3.用戶輸入驗(yàn)證不全面
在網(wǎng)站編程中,對于用戶和用戶的輸入,都必須抱懷疑態(tài)度,不能完全信任。所以,對于用戶的輸入,不能簡單的直接采用,而必須經(jīng)過嚴(yán)格驗(yàn)證,確定用戶的輸入是否符合輸入規(guī)則才可以錄入數(shù)據(jù)庫。用戶輸入驗(yàn)證應(yīng)該包括以下幾個(gè)方面:
(1)輸入信息長度驗(yàn)證。程序員往往認(rèn)為一般用戶不會(huì)故意將輸入過分拉長,不進(jìn)行輸入驗(yàn)證可能沒有危害。但如果用戶輸入的信息達(dá)到幾個(gè)兆,而程序又沒有驗(yàn)證長度的話,可以使程序驗(yàn)證出錯(cuò)或變量占用大量內(nèi)存,出現(xiàn)內(nèi)存溢出,致使服務(wù)器服務(wù)停止甚至關(guān)機(jī)。在線
(2)輸入信息敏感字符檢查。在設(shè)計(jì)程序的時(shí)候,程序員可能都會(huì)關(guān)注javascript的一些敏感字符,如在設(shè)計(jì)留言版的時(shí)候,會(huì)將“<”等符號的信息過濾,以免用戶留下頁面炸彈。但還有以下幾個(gè)方面需要特別注意,一是留言版內(nèi)容信息的過濾。二是用戶名信息的過濾。程序設(shè)計(jì)中,對用戶名的驗(yàn)證往往只是驗(yàn)證長度,沒有驗(yàn)證javascript或者HTML的標(biāo)記,這樣就容易形成漏洞。三是Email信息的驗(yàn)證,Email信息往往也只驗(yàn)證是否含有“@”符號,其他沒有限制,這容易形成兩個(gè)漏洞:輸入信息過長的內(nèi)存溢出漏洞;含有javascript等字符信息,造成顯示用戶Email的時(shí)候形成頁面炸彈等。四是搜索信息的驗(yàn)證。盡管搜索信息不會(huì)直接保存到網(wǎng)站服務(wù)器,但是,搜索信息卻與數(shù)據(jù)庫或者服務(wù)器所有文件密切相關(guān),如果搜索信息有問題,很容易就會(huì)暴露一些本來不應(yīng)該暴露的數(shù)據(jù)庫信息或者文件信息。如果用戶對程序比較了解,可設(shè)計(jì)一些很特別的搜索信息,檢索他不應(yīng)該檢索的數(shù)據(jù)庫表,例如用戶賬號密碼表等。因此,一般要驗(yàn)證一些常見的用于數(shù)據(jù)庫操作的語句,例如搜索信息是否含有“Select”等,這樣來限制用戶輸入,避免信息的泄露。
4.頁面行為方式缺乏邏輯
在網(wǎng)站中注冊新用戶的時(shí)候,一般會(huì)首先要求用戶輸入自己需要注冊的賬號信息,驗(yàn)證該賬號是否已經(jīng)存在,確保用戶的單一性。如果用戶的注冊信息通過了“存在該賬號”的檢測,在編程的時(shí)候就認(rèn)為這個(gè)賬號一定不存在,可以注冊,在注冊頁面中直接使用“nsertInto”語句將注冊信息插入用戶數(shù)據(jù)庫。上述的問題是:將注冊信息插入數(shù)據(jù)庫之前,并沒有再一次檢查這個(gè)用戶是否存在,而是信任前一個(gè)檢測頁面?zhèn)鱽淼馁~號信息。由于可以閱讀和保存HTML文件的源代碼,如果用戶將注冊通過的頁面保存并且將上面的賬號信息修改為一個(gè)已經(jīng)存在的賬號,由于程序認(rèn)為該賬號已經(jīng)通過檢測,直接將該賬號插入數(shù)據(jù)庫,原來擁有該賬號的用戶信息就被修改,造成用戶信息流失、出錯(cuò)等情況的發(fā)生。如果這個(gè)賬號剛好是一個(gè)管理員賬號,結(jié)果將是很難預(yù)料的。
使用以上錯(cuò)誤方式編程的程序員很多,隨便在網(wǎng)上找就可以找到很多這種方式編程的源代碼和已經(jīng)采用的程序。在電子商務(wù)初期,一些電子商務(wù)網(wǎng)站的程序中,存在著用戶可以隨意定義自己購買商品的價(jià)格這樣的漏洞,也就是由頁面行為方式缺乏邏輯造成的。
當(dāng)然,網(wǎng)站安全還包括比如服務(wù)器攻擊、病毒攻擊等方面,但這些方面基本都屬于上文中介紹過的網(wǎng)絡(luò)安全問題,另外由于篇幅問題許多細(xì)節(jié)問題也不在此累贅了。
三、網(wǎng)站安全管理策略探討
1.網(wǎng)絡(luò)安全的管理
1.1使用防火墻
防火墻作為使用最多,效率最高的網(wǎng)絡(luò)安全產(chǎn)品自然有它自身的優(yōu)勢,所以防火墻在整個(gè)網(wǎng)絡(luò)安全中的地位將是無可替代的。
1.2與因特網(wǎng)接入處增設(shè)網(wǎng)絡(luò)入侵檢測系統(tǒng)
入侵檢測系統(tǒng)(IDS即IntrusionDetectSystem)是實(shí)時(shí)網(wǎng)絡(luò)違規(guī)自動(dòng)識(shí)別和響應(yīng)系統(tǒng),它位于有敏感數(shù)據(jù)需要保護(hù)的網(wǎng)絡(luò)上或網(wǎng)絡(luò)上任何有風(fēng)險(xiǎn)存在的地方,通過實(shí)時(shí)截獲網(wǎng)絡(luò)數(shù)據(jù)流,能夠識(shí)別、記錄入侵或破壞性代碼流,尋找網(wǎng)絡(luò)違規(guī)模式和未授權(quán)的網(wǎng)絡(luò)訪問,一經(jīng)發(fā)現(xiàn)入侵檢測系統(tǒng)根據(jù)系統(tǒng)安全策略做出反應(yīng),包括實(shí)時(shí)報(bào)警、自動(dòng)阻斷通信連接或執(zhí)行用戶自定義安全策略等。
1.3病毒防御
選購殺毒軟件,必須考慮產(chǎn)品的采購成本、應(yīng)用(管理、維護(hù))成本,以及將來企業(yè)或網(wǎng)絡(luò)規(guī)模變化后,軟件能否實(shí)現(xiàn)平滑過渡等問題。只有明確需求,重視產(chǎn)品的應(yīng)用和管理,把網(wǎng)絡(luò)防病毒納入到信息安全防范體系之中進(jìn)行綜合防范,才能有效提升企業(yè)的信息安全水平。單純防病毒,并不是企業(yè)的最終目標(biāo)。
當(dāng)然,對于網(wǎng)絡(luò)安全的防御目前比較成熟的技術(shù)相當(dāng)多,我們只有認(rèn)準(zhǔn)適合自己的技術(shù),并采用多種技術(shù)相互結(jié)合才能達(dá)到相應(yīng)的目的,由于篇幅有限對于其他諸如身份認(rèn)證、數(shù)字簽名等技術(shù)的介紹就不在此累贅了。在線
2.網(wǎng)站自身的安全管理
2.1網(wǎng)站服務(wù)器的安全管理
網(wǎng)站服務(wù)器的日常管理、維護(hù)工作包‘括網(wǎng)站服務(wù)器的內(nèi)容更新、日志文件的審計(jì)、安裝一些新的工具和軟件、更改服務(wù)器配置、對服務(wù)器進(jìn)行安全檢查等。主要注意以下幾點(diǎn):
①從網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)上解決安全問題
安裝一個(gè)功能強(qiáng)大的防火墻可以有效防御外界對Web服務(wù)器的攻擊,還可通過安裝非法人侵監(jiān)測系統(tǒng),提升防火墻的性能,達(dá)到監(jiān)控網(wǎng)絡(luò)、執(zhí)行立即攔截動(dòng)作以及分析過濾封包和內(nèi)容的動(dòng)作,當(dāng)有入侵者攻擊時(shí)可以立刻有效終止服務(wù)。同時(shí)應(yīng)限制非法用戶對網(wǎng)絡(luò)的訪問,規(guī)定具有特定IP地址的客戶機(jī)對本地網(wǎng)絡(luò)服務(wù)器的訪問權(quán)限,以防止從外界對網(wǎng)絡(luò)服務(wù)器配置的非法修改。
②定期對網(wǎng)站服務(wù)器進(jìn)行安全檢查
由于網(wǎng)站服務(wù)器是對外開放的,容易受到病毒的攻擊,所以應(yīng)為服務(wù)器建立例行安全審核機(jī)制,利用漏洞掃描工具和IDS工具,加大對服務(wù)器的安全管理和檢查。另外,隨著新漏洞的出現(xiàn),我們要及時(shí)為服務(wù)器安裝各類新漏洞的補(bǔ)丁程序,從而避免服務(wù)器受到攻擊和出現(xiàn)其他異常情況。
③定期進(jìn)行必要的數(shù)據(jù)備份
對服務(wù)器上的數(shù)據(jù)定期進(jìn)行備份是很重要的。網(wǎng)站的核心是數(shù)據(jù),數(shù)據(jù)一旦遭到破壞,后果不堪設(shè)想。除了設(shè)置相應(yīng)權(quán)限外,應(yīng)建立一個(gè)正式的備份方案,而且隨著網(wǎng)站的更新,備份方案也需要不斷地調(diào)整。
2.2數(shù)據(jù)庫安全管理
數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄密和破壞。為了保證業(yè)務(wù)應(yīng)用系統(tǒng)后臺(tái)數(shù)據(jù)庫的安全性,采用基于Client/Server模式訪問后臺(tái)數(shù)據(jù)庫,為不同的應(yīng)用建立不同的服務(wù)進(jìn)程和進(jìn)程用戶標(biāo)識(shí),后臺(tái)數(shù)據(jù)庫系統(tǒng)以服務(wù)器進(jìn)程的用戶標(biāo)識(shí)作為訪問主體的標(biāo)識(shí),以確定其訪問權(quán)限。我們通過如下方法和技術(shù)來實(shí)現(xiàn)后臺(tái)數(shù)據(jù)庫的訪問
控制。
①訪問矩陣
訪問矩陣就是以矩陣的方式來規(guī)定不同主體(用戶或用戶進(jìn)程)對于不同數(shù)據(jù)對象所允許執(zhí)行的操作權(quán)限,并且控制各主體只能存取自己有權(quán)存取的數(shù)據(jù)。它以主體標(biāo)行,訪問對象標(biāo)列,訪問類型為矩陣元素的矩陣。Informix提供了二級權(quán)限:數(shù)據(jù)庫權(quán)限和表權(quán)限,并且能為表中的特定字段授予Select和Update權(quán)限。因此,我們在訪問矩陣中定義了精細(xì)到字段級的數(shù)據(jù)訪問控制。
②視圖的使用
通過視圖可以指定用戶使用數(shù)據(jù)的范圍,將用戶限定在表中的特定字段或表中的特定記錄,并且視圖和基礎(chǔ)表一樣也可以作為授權(quán)的單位。針對不同用戶的視圖,在授權(quán)給一用戶的視圖中不包括那些不允許訪問的機(jī)密數(shù)據(jù),從而提高了系統(tǒng)的安全性。
③數(shù)據(jù)驗(yàn)證碼DAC
對后臺(tái)數(shù)據(jù)庫中的一些關(guān)鍵性數(shù)據(jù)表,在表中設(shè)置數(shù)據(jù)驗(yàn)證碼DAC字段,它是由銀行密鑰和有關(guān)的關(guān)鍵性字段值生成。不同記錄的DAC字段值也不相同。如果用戶非法修改了數(shù)據(jù)庫中的數(shù)據(jù),則DAC效驗(yàn)將出錯(cuò),從而提高了數(shù)據(jù)的安全性。
2.3編碼中的安全管理
防止惡意代碼注入
①驗(yàn)證輸入,使攻擊者無法注入腳本代碼或使緩沖區(qū)溢出
②對所有包含輸入的輸出進(jìn)行編碼。這可防止客戶端瀏將潛在的惡意腳本標(biāo)記作為代碼進(jìn)行轉(zhuǎn)換。
③使用接受參數(shù)的存儲(chǔ)過程,防止數(shù)據(jù)庫將惡意SQL輸為可執(zhí)行語句進(jìn)行處理。同時(shí)使用特權(quán)最低的進(jìn)程帳戶和模擬帳戶。在攻擊者企圖應(yīng)用程序的安全上下文執(zhí)行代碼時(shí),可緩解風(fēng)險(xiǎn)并減少損害。
防止會(huì)話劫持:
①分隔個(gè)性化cookie和身份驗(yàn)證cookie。
②僅通過HTTPS連接傳遞身份驗(yàn)證cookie。
③不傳遞在查詢字符串中代表已通過身份驗(yàn)證的用戶標(biāo)識(shí)符。
最為一名網(wǎng)絡(luò)或者網(wǎng)站管理員,有責(zé)任同時(shí)也有義務(wù)做好網(wǎng)站的維護(hù)與管理,這就需要我們管理人員時(shí)刻保持虛心學(xué)習(xí)的心態(tài),時(shí)刻關(guān)注新的管理技術(shù)與安全防御技術(shù)。對于已經(jīng)出現(xiàn)的安全問題應(yīng)該用最快、最有效的方法加以解決,對于目前還未出現(xiàn)的安全問題要有預(yù)見性,這才是一名優(yōu)秀的網(wǎng)絡(luò)管理員。
參考文獻(xiàn):
[1]沈文智.MicrosoftBS網(wǎng)頁技術(shù)[M].北京:人民郵電出版社.1998.
[2]沈昌樣.網(wǎng)絡(luò)安全與信息戰(zhàn).網(wǎng)絡(luò)安全技術(shù)與應(yīng)用.2001.
[3]駱耀祖,龔洵禹.動(dòng)態(tài)網(wǎng)頁設(shè)計(jì)教程[M].廣州:中山大學(xué)出版社,2002.
[4]駱耀祖,劉永初等.計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)及應(yīng)用[M]北京:清華大學(xué)、北方交大出版社,2003.
摘要:
本文首先介紹了網(wǎng)絡(luò)與網(wǎng)站安全的隱患,其中包括常見的網(wǎng)絡(luò)安全隱患和網(wǎng)站自身經(jīng)常出現(xiàn)的安全隱患,之后作者從簡要介紹了網(wǎng)絡(luò)安全的防御問題,并詳細(xì)介紹了網(wǎng)站自身的安全防御。
關(guān)鍵字:網(wǎng)站安全性管理
Abstract
Thisarticlefirstintroducedthenetworkandthewebsitesecurityhiddendanger,thesecurityhiddendangerwhichappearsfrequentlyincludingthecommonnetworksecurityhiddendangerandwebsiteitself,afterwardstheauthorbrieflyintroducedthenetworksecuritydefense,andintroducedwebsiteownsafedefenseindetail.
一、前言
隨著計(jì)算機(jī)信息技術(shù)的高速發(fā)展,人們的生活、工作越來越依賴互聯(lián)網(wǎng)上的信息和信息獲取,但是人們卻時(shí)刻被信息網(wǎng)絡(luò)的安全隱患所困擾,越來越多的人也開始了關(guān)于網(wǎng)絡(luò)、網(wǎng)站的安全性管理研究。
網(wǎng)站安全是指對網(wǎng)站進(jìn)行管理和控制,并采取一定的技術(shù)措施,從而確保在一個(gè)網(wǎng)站環(huán)境里信息數(shù)據(jù)的機(jī)密化、完整性及可使用性受到有效的保護(hù)。網(wǎng)站安全的主要目標(biāo)就是要穩(wěn)妥地確保經(jīng)由網(wǎng)站傳達(dá)的信息總能夠在到達(dá)目的地時(shí)沒有任何增加、改變、丟失或被他人非法讀取。要做到這一點(diǎn),必須保證網(wǎng)站系統(tǒng)軟件、數(shù)據(jù)庫系統(tǒng)其有一定的安全保護(hù)功能,并保證網(wǎng)站部件如終端、數(shù)據(jù)鏈路等的功能不變而且僅僅是那些被授權(quán)的人們可以訪問。
網(wǎng)站安全目前已發(fā)展成為一個(gè)跨學(xué)科的綜合性學(xué)科,它包括通信技術(shù)、網(wǎng)站技術(shù)、計(jì)算機(jī)軟件、硬件設(shè)計(jì)技術(shù)、密碼學(xué)、網(wǎng)站安全與計(jì)算機(jī)安全技術(shù)等,網(wǎng)站安全是在攻擊與防范這一對矛盾相互作用的過程中發(fā)展起來的。新的攻擊導(dǎo)致必須研究新的防護(hù)措施,新的防護(hù)措施又招致攻擊者新的攻擊,如此循環(huán)反復(fù),網(wǎng)站安全技術(shù)也就在雙方的爭斗中逐步完善發(fā)展起來。
二、網(wǎng)絡(luò)與網(wǎng)站安全隱患概述
目前影響網(wǎng)站安全的問題主要來自于網(wǎng)絡(luò)的不安全性,所以在這個(gè)意義上講,網(wǎng)站的安全漏洞其實(shí)也就是網(wǎng)絡(luò)的安全漏洞,其漏洞主要來自以下幾個(gè)方面:
1.自然因素:
1.1軟件漏洞
任何的系統(tǒng)軟件和應(yīng)用軟件都不能是百分之百的無缺陷和無漏洞的,而這些缺陷和漏洞恰恰是非法用戶、黑客進(jìn)行竊取機(jī)密信息和破壞信息的首選途徑。針對固有的安全漏洞進(jìn)行攻擊,主要在以下幾個(gè)方面:
1.1.1、協(xié)議漏洞。例如,IMAP和POP3協(xié)議一定要在Unix根目錄下運(yùn)行,攻擊者利用這一漏洞攻擊IMAP破壞系統(tǒng)的根目錄,從而獲得超級用戶的特權(quán)。
1.1.2、緩沖區(qū)溢出。很多系統(tǒng)在不檢查程序與緩沖區(qū)之間變化的情況下,就接受任何長度的數(shù)據(jù)輸入,把溢出部分放在堆棧內(nèi),系統(tǒng)仍照常執(zhí)行命令。攻擊者就利用這一漏洞發(fā)送超出緩沖區(qū)所能處理的長度的指令,來造成系統(tǒng)不穩(wěn)定狀態(tài)。
1.1.3、口令攻擊。例如,Unix系統(tǒng)軟件通常把加密的口令保存在一個(gè)文件中,而該文件可通過拷貝或口令破譯方法受到入侵。因此,任何不及時(shí)更新的系統(tǒng),都是容易被攻擊的。
1.2病毒攻擊
計(jì)算機(jī)病毒一般分為四類:①文件型病毒(FileViruses);②引導(dǎo)型病毒(SystemorBootSectorVirus);③鏈?zhǔn)讲《荆⊿YSTEMorCLUSTERVirus);④宏病毒(MacroVirus)。計(jì)算機(jī)病毒的主要危害有:對計(jì)算機(jī)數(shù)據(jù)信息的直接破壞作用,給用戶造成重大損失:占用系統(tǒng)資源并影響運(yùn)行速度:產(chǎn)生其他不可預(yù)見的危害:給用戶造成嚴(yán)重的心理壓力。
計(jì)算機(jī)病毒疫情呈現(xiàn)出多元化的發(fā)展趨勢,以網(wǎng)絡(luò)為主要傳播途徑。呈現(xiàn)以下顯著特點(diǎn):①網(wǎng)絡(luò)病毒占據(jù)主要地位;②病毒向多元化、混合化發(fā)展;③利用漏洞的病毒越來越多。
2、人為因素:
2.1操作失誤
操作員安全配置不當(dāng)造成的安全漏洞,用戶安全意識(shí)不強(qiáng).用戶口令選擇不慎.用戶將自己的帳號隨意轉(zhuǎn)借他人或與別人共享等都會(huì)對網(wǎng)絡(luò)安全帶來威脅。這種情況在企業(yè)計(jì)算機(jī)網(wǎng)絡(luò)使用初期較常見,隨著網(wǎng)絡(luò)管理制度的建立和對使用人員的培訓(xùn),此種情況逐漸減少.對網(wǎng)絡(luò)安全己不構(gòu)成主要威脅。
2.2惡意攻擊
這是計(jì)算機(jī)網(wǎng)絡(luò)所面臨的最大威脅,敵手的攻擊和計(jì)算機(jī)犯罪就屬于這一類。此類攻擊又可以分為以下兩種:一種是主動(dòng)攻擊,它以各種方式有選擇地破壞信息的有效性和完整性;另一類是被動(dòng)攻擊,它是在不影響網(wǎng)絡(luò)正常工作的情況下,進(jìn)行截獲、竊取、破譯以獲得重要機(jī)密信急。
當(dāng)然作為本文最討論的網(wǎng)站安全,它也有它自身的安全隱患存在,主要體現(xiàn)在以下幾點(diǎn):
3.用戶輸入驗(yàn)證不全面
在網(wǎng)站編程中,對于用戶和用戶的輸入,都必須抱懷疑態(tài)度,不能完全信任。所以,對于用戶的輸入,不能簡單的直接采用,而必須經(jīng)過嚴(yán)格驗(yàn)證,確定用戶的輸入是否符合輸入規(guī)則才可以錄入數(shù)據(jù)庫。用戶輸入驗(yàn)證應(yīng)該包括以下幾個(gè)方面:
(1)輸入信息長度驗(yàn)證。程序員往往認(rèn)為一般用戶不會(huì)故意將輸入過分拉長,不進(jìn)行輸入驗(yàn)證可能沒有危害。但如果用戶輸入的信息達(dá)到幾個(gè)兆,而程序又沒有驗(yàn)證長度的話,可以使程序驗(yàn)證出錯(cuò)或變量占用大量內(nèi)存,出現(xiàn)內(nèi)存溢出,致使服務(wù)器服務(wù)停止甚至關(guān)機(jī)。
(2)輸入信息敏感字符檢查。在設(shè)計(jì)程序的時(shí)候,程序員可能都會(huì)關(guān)注javascript的一些敏感字符,如在設(shè)計(jì)留言版的時(shí)候,會(huì)將“<”等符號的信息過濾,以免用戶留下頁面炸彈。但還有以下幾個(gè)方面需要特別注意,一是留言版內(nèi)容信息的過濾。二是用戶名信息的過濾。程序設(shè)計(jì)中,對用戶名的驗(yàn)證往往只是驗(yàn)證長度,沒有驗(yàn)證javascript或者HTML的標(biāo)記,這樣就容易形成漏洞。三是Email信息的驗(yàn)證,Email信息往往也只驗(yàn)證是否含有“@”符號,其他沒有限制,這容易形成兩個(gè)漏洞:輸入信息過長的內(nèi)存溢出漏洞;含有javascript等字符信息,造成顯示用戶Email的時(shí)候形成頁面炸彈等。四是搜索信息的驗(yàn)證。盡管搜索信息不會(huì)直接保存到網(wǎng)站服務(wù)器,但是,搜索信息卻與數(shù)據(jù)庫或者服務(wù)器所有文件密切相關(guān),如果搜索信息有問題,很容易就會(huì)暴露一些本來不應(yīng)該暴露的數(shù)據(jù)庫信息或者文件信息。如果用戶對程序比較了解,可設(shè)計(jì)一些很特別的搜索信息,檢索他不應(yīng)該檢索的數(shù)據(jù)庫表,例如用戶賬號密碼表等。因此,一般要驗(yàn)證一些常見的用于數(shù)據(jù)庫操作的語句,例如搜索信息是否含有“Select”等,這樣來限制用戶輸入,避免信息的泄露。
4.頁面行為方式缺乏邏輯
在網(wǎng)站中注冊新用戶的時(shí)候,一般會(huì)首先要求用戶輸入自己需要注冊的賬號信息,驗(yàn)證該賬號是否已經(jīng)存在,確保用戶的單一性。如果用戶的注冊信息通過了“存在該賬號”的檢測,在編程的時(shí)候就認(rèn)為這個(gè)賬號一定不存在,可以注冊,在注冊頁面中直接使用“nsertInto”語句將注冊信息插入用戶數(shù)據(jù)庫。上述的問題是:將注冊信息插入數(shù)據(jù)庫之前,并沒有再一次檢查這個(gè)用戶是否存在,而是信任前一個(gè)檢測頁面?zhèn)鱽淼馁~號信息。由于可以閱讀和保存HTML文件的源代碼,如果用戶將注冊通過的頁面保存并且將上面的賬號信息修改為一個(gè)已經(jīng)存在的賬號,由于程序認(rèn)為該賬號已經(jīng)通過檢測,直接將該賬號插入數(shù)據(jù)庫,原來擁有該賬號的用戶信息就被修改,造成用戶信息流失、出錯(cuò)等情況的發(fā)生。如果這個(gè)賬號剛好是一個(gè)管理員賬號,結(jié)果將是很難預(yù)料的。
使用以上錯(cuò)誤方式編程的程序員很多,隨便在網(wǎng)上找就可以找到很多這種方式編程的源代碼和已經(jīng)采用的程序。在電子商務(wù)初期,一些電子商務(wù)網(wǎng)站的程序中,存在著用戶可以隨意定義自己購買商品的價(jià)格這樣的漏洞,也就是由頁面行為方式缺乏邏輯造成的。
當(dāng)然,網(wǎng)站安全還包括比如服務(wù)器攻擊、病毒攻擊等方面,但這些方面基本都屬于上文中介紹過的網(wǎng)絡(luò)安全問題,另外由于篇幅問題許多細(xì)節(jié)問題也不在此累贅了。
三、網(wǎng)站安全管理策略探討
1.網(wǎng)絡(luò)安全的管理
1.1使用防火墻
防火墻作為使用最多,效率最高的網(wǎng)絡(luò)安全產(chǎn)品自然有它自身的優(yōu)勢,所以防火墻在整個(gè)網(wǎng)絡(luò)安全中的地位將是無可替代的。
1.2與因特網(wǎng)接入處增設(shè)網(wǎng)絡(luò)入侵檢測系統(tǒng)
入侵檢測系統(tǒng)(IDS即IntrusionDetectSystem)是實(shí)時(shí)網(wǎng)絡(luò)違規(guī)自動(dòng)識(shí)別和響應(yīng)系統(tǒng),它位于有敏感數(shù)據(jù)需要保護(hù)的網(wǎng)絡(luò)上或網(wǎng)絡(luò)上任何有風(fēng)險(xiǎn)存在的地方,通過實(shí)時(shí)截獲網(wǎng)絡(luò)數(shù)據(jù)流,能夠識(shí)別、記錄入侵或破壞性代碼流,尋找網(wǎng)絡(luò)違規(guī)模式和未授權(quán)的網(wǎng)絡(luò)訪問,一經(jīng)發(fā)現(xiàn)入侵檢測系統(tǒng)根據(jù)系統(tǒng)安全策略做出反應(yīng),包括實(shí)時(shí)報(bào)警、自動(dòng)阻斷通信連接或執(zhí)行用戶自定義安全策略等。
1.3病毒防御
選購殺毒軟件,必須考慮產(chǎn)品的采購成本、應(yīng)用(管理、維護(hù))成本,以及將來企業(yè)或網(wǎng)絡(luò)規(guī)模變化后,軟件能否實(shí)現(xiàn)平滑過渡等問題。只有明確需求,重視產(chǎn)品的應(yīng)用和管理,把網(wǎng)絡(luò)防病毒納入到信息安全防范體系之中進(jìn)行綜合防范,才能有效提升企業(yè)的信息安全水平。單純防病毒,并不是企業(yè)的最終目標(biāo)。
當(dāng)然,對于網(wǎng)絡(luò)安全的防御目前比較成熟的技術(shù)相當(dāng)多,我們只有認(rèn)準(zhǔn)適合自己的技術(shù),并采用多種技術(shù)相互結(jié)合才能達(dá)到相應(yīng)的目的,由于篇幅有限對于其他諸如身份認(rèn)證、數(shù)字簽名等技術(shù)的介紹就不在此累贅了。
2.網(wǎng)站自身的安全管理
2.1網(wǎng)站服務(wù)器的安全管理
網(wǎng)站服務(wù)器的日常管理、維護(hù)工作包‘括網(wǎng)站服務(wù)器的內(nèi)容更新、日志文件的審計(jì)、安裝一些新的工具和軟件、更改服務(wù)器配置、對服務(wù)器進(jìn)行安全檢查等。主要注意以下幾點(diǎn):
①從網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)上解決安全問題
安裝一個(gè)功能強(qiáng)大的防火墻可以有效防御外界對Web服務(wù)器的攻擊,還可通過安裝非法人侵監(jiān)測系統(tǒng),提升防火墻的性能,達(dá)到監(jiān)控網(wǎng)絡(luò)、執(zhí)行立即攔截動(dòng)作以及分析過濾封包和內(nèi)容的動(dòng)作,當(dāng)有入侵者攻擊時(shí)可以立刻有效終止服務(wù)。同時(shí)應(yīng)限制非法用戶對網(wǎng)絡(luò)的訪問,規(guī)定具有特定IP地址的客戶機(jī)對本地網(wǎng)絡(luò)服務(wù)器的訪問權(quán)限,以防止從外界對網(wǎng)絡(luò)服務(wù)器配置的非法修改。
②定期對網(wǎng)站服務(wù)器進(jìn)行安全檢查
由于網(wǎng)站服務(wù)器是對外開放的,容易受到病毒的攻擊,所以應(yīng)為服務(wù)器建立例行安全審核機(jī)制,利用漏洞掃描工具和IDS工具,加大對服務(wù)器的安全管理和檢查。另外,隨著新漏洞的出現(xiàn),我們要及時(shí)為服務(wù)器安裝各類新漏洞的補(bǔ)丁程序,從而避免服務(wù)器受到攻擊和出現(xiàn)其他異常情況。
③定期進(jìn)行必要的數(shù)據(jù)備份
對服務(wù)器上的數(shù)據(jù)定期進(jìn)行備份是很重要的。網(wǎng)站的核心是數(shù)據(jù),數(shù)據(jù)一旦遭到破壞,后果不堪設(shè)想。除了設(shè)置相應(yīng)權(quán)限外,應(yīng)建立一個(gè)正式的備份方案,而且隨著網(wǎng)站的更新,備份方案也需要不斷地調(diào)整。
2.2數(shù)據(jù)庫安全管理
數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄密和破壞。為了保證業(yè)務(wù)應(yīng)用系統(tǒng)后臺(tái)數(shù)據(jù)庫的安全性,采用基于Client/Server模式訪問后臺(tái)數(shù)據(jù)庫,為不同的應(yīng)用建立不同的服務(wù)進(jìn)程和進(jìn)程用戶標(biāo)識(shí),后臺(tái)數(shù)據(jù)庫系統(tǒng)以服務(wù)器進(jìn)程的用戶標(biāo)識(shí)作為訪問主體的標(biāo)識(shí),以確定其訪問權(quán)限。我們通過如下方法和技術(shù)來實(shí)現(xiàn)后臺(tái)數(shù)據(jù)庫的訪問
控制。
①訪問矩陣
訪問矩陣就是以矩陣的方式來規(guī)定不同主體(用戶或用戶進(jìn)程)對于不同數(shù)據(jù)對象所允許執(zhí)行的操作權(quán)限,并且控制各主體只能存取自己有權(quán)存取的數(shù)據(jù)。它以主體標(biāo)行,訪問對象標(biāo)列,訪問類型為矩陣元素的矩陣。Informix提供了二級權(quán)限:數(shù)據(jù)庫權(quán)限和表權(quán)限,并且能為表中的特定字段授予Select和Update權(quán)限。因此,我們在訪問矩陣中定義了精細(xì)到字段級的數(shù)據(jù)訪問控制。
②視圖的使用
通過視圖可以指定用戶使用數(shù)據(jù)的范圍,將用戶限定在表中的特定字段或表中的特定記錄,并且視圖和基礎(chǔ)表一樣也可以作為授權(quán)的單位。針對不同用戶的視圖,在授權(quán)給一用戶的視圖中不包括那些不允許訪問的機(jī)密數(shù)據(jù),從而提高了系統(tǒng)的安全性。
③數(shù)據(jù)驗(yàn)證碼DAC
對后臺(tái)數(shù)據(jù)庫中的一些關(guān)鍵性數(shù)據(jù)表,在表中設(shè)置數(shù)據(jù)驗(yàn)證碼DAC字段,它是由銀行密鑰和有關(guān)的關(guān)鍵性字段值生成。不同記錄的DAC字段值也不相同。如果用戶非法修改了數(shù)據(jù)庫中的數(shù)據(jù),則DAC效驗(yàn)將出錯(cuò),從而提高了數(shù)據(jù)的安全性。
2.3編碼中的安全管理
防止惡意代碼注入
①驗(yàn)證輸入,使攻擊者無法注入腳本代碼或使緩沖區(qū)溢出
②對所有包含輸入的輸出進(jìn)行編碼。這可防止客戶端瀏將潛在的惡意腳本標(biāo)記作為代碼進(jìn)行轉(zhuǎn)換。
③使用接受參數(shù)的存儲(chǔ)過程,防止數(shù)據(jù)庫將惡意SQL輸為可執(zhí)行語句進(jìn)行處理。同時(shí)使用特權(quán)最低的進(jìn)程帳戶和模擬帳戶。在攻擊者企圖應(yīng)用程序的安全上下文執(zhí)行代碼時(shí),可緩解風(fēng)險(xiǎn)并減少損害。
防止會(huì)話劫持:
①分隔個(gè)性化cookie和身份驗(yàn)證cookie。
②僅通過HTTPS連接傳遞身份驗(yàn)證cookie。
③不傳遞在查詢字符串中代表已通過身份驗(yàn)證的用戶標(biāo)識(shí)符。
最為一名網(wǎng)絡(luò)或者網(wǎng)站管理員,有責(zé)任同時(shí)也有義務(wù)做好網(wǎng)站的維護(hù)與管理,這就需要我們管理人員時(shí)刻保持虛心學(xué)習(xí)的心態(tài),時(shí)刻關(guān)注新的管理技術(shù)與安全防御技術(shù)。對于已經(jīng)出現(xiàn)的安全問題應(yīng)該用最快、最有效的方法加以解決,對于目前還未出現(xiàn)的安全問題要有預(yù)見性,這才是一名優(yōu)秀的網(wǎng)絡(luò)管理員。
參考文獻(xiàn):
[1]沈文智.MicrosoftBS網(wǎng)頁技術(shù)[M].北京:人民郵電出版社.1998.
[2]沈昌樣.網(wǎng)絡(luò)安全與信息戰(zhàn).網(wǎng)絡(luò)安全技術(shù)與應(yīng)用.2001.
[關(guān)鍵詞]電子商務(wù)反向網(wǎng)站資源安全DNS
一、引言
電子商務(wù)是利用先進(jìn)的電子技術(shù)進(jìn)行商務(wù)活動(dòng)的總稱。它通過網(wǎng)絡(luò)、使用先進(jìn)的信息處理工具,利用計(jì)算機(jī)這種載體,將買賣雙方的商務(wù)信息、產(chǎn)品信息、銷售信息、服務(wù)信息,以及電子支付等活動(dòng),用相互認(rèn)同的交易標(biāo)準(zhǔn)來實(shí)現(xiàn)。進(jìn)行電子商務(wù)活動(dòng)的最基礎(chǔ)平臺(tái)是電子商務(wù)網(wǎng)站,電子商務(wù)網(wǎng)站在企業(yè)的電子商務(wù)體系中有著重要的作用,其安全直接關(guān)系企業(yè)實(shí)施電子商務(wù)能否成功。
目前,對電子商務(wù)網(wǎng)站的保護(hù),采用最多的方法是使用防火墻技術(shù),只允許用戶訪問網(wǎng)站的WEB服務(wù),過濾掉對網(wǎng)站服務(wù)器其他服務(wù)的訪問。這種方法有一個(gè)問題:網(wǎng)站的WEB服務(wù)對外來說是完全暴露的,用戶可以直接和網(wǎng)站服務(wù)器通信。
二、反向技術(shù)
通常的一般稱為正向,只用于內(nèi)部網(wǎng)絡(luò)對外部網(wǎng)絡(luò)的連接請求,不支持外部網(wǎng)絡(luò)對內(nèi)部網(wǎng)絡(luò)的訪問請求(因?yàn)閮?nèi)部網(wǎng)絡(luò)對外部網(wǎng)絡(luò)來說是不可見的)。當(dāng)一個(gè)服務(wù)器能夠外部網(wǎng)絡(luò)上的主機(jī)訪問內(nèi)部網(wǎng)絡(luò)時(shí),這種的方式稱為反向。
反向就是通常所說的WEB服務(wù)器加速,它是一種通過在繁忙的WEB服務(wù)器和外部網(wǎng)絡(luò)之間增加一個(gè)高速的WEB緩沖服務(wù)器來降低實(shí)際的WEB服務(wù)器的負(fù)載的一種技術(shù)。反向是針對WEB服務(wù)器提供加速功能的,作為緩存,它并不是針對瀏覽器用戶,而針對一臺(tái)或多臺(tái)特定WEB服務(wù)器,它可以外部網(wǎng)絡(luò)對內(nèi)部網(wǎng)絡(luò)的訪問請求。
反向服務(wù)器會(huì)強(qiáng)制將外部網(wǎng)絡(luò)對要的服務(wù)器的訪問經(jīng)過它,這樣反向服務(wù)器負(fù)責(zé)接收客戶端的請求,然后到源服務(wù)器上獲取內(nèi)容,把內(nèi)容返回給用戶并把內(nèi)容保存到本地,以便日后再收到同樣的信息請求時(shí),它會(huì)把本地緩存里的內(nèi)容直接發(fā)給用戶,以減少后端WEB服務(wù)器的壓力,提高響應(yīng)速度,的服務(wù)器對外部網(wǎng)絡(luò)來說是不可見的。
反向服務(wù)器的工作流程歸納如下:
1.用戶通過域名發(fā)出訪問WEB服務(wù)器的請求,該域名被DNS服務(wù)器解析為反向服務(wù)器的IP地址,因此用戶的請求被重定向到反向服務(wù)器。
2.反向服務(wù)器接受用戶的請求。
3.反向服務(wù)器在本地緩存中查找請求的內(nèi)容,找到后直接把內(nèi)容發(fā)送給用戶。
4.如果本地緩存里沒有用戶所請求的信息內(nèi)容,反向服務(wù)器會(huì)代替用戶向源WEB服務(wù)器請求同樣的信息內(nèi)容,并把信息內(nèi)容轉(zhuǎn)發(fā)給用戶,如果信息內(nèi)容是可緩存的還會(huì)把它保存到緩存中。
實(shí)施反向,只要將反向服務(wù)器放置在要的WEB服務(wù)器前端并在DNS系統(tǒng)中將要的服務(wù)器域名解析為反向服務(wù)器IP地址(達(dá)到強(qiáng)制將外部網(wǎng)絡(luò)對要服務(wù)器的訪問經(jīng)過反向服務(wù)器的目的)即可,如圖1所示:
在企業(yè)的電子商務(wù)網(wǎng)站建設(shè)中采用反向技術(shù)后,解決了網(wǎng)站服務(wù)器對外可見的問題,還有如下幾個(gè)突出優(yōu)點(diǎn):
1.節(jié)約了有限的IP地址資源。企業(yè)內(nèi)所有的網(wǎng)站共享一個(gè)在Internet中注冊的IP地址,這些服務(wù)器分配私有地址,采用虛擬主機(jī)的方式對外提供服務(wù)。
2.保護(hù)了真實(shí)的WEB服務(wù)器。企業(yè)內(nèi)所有網(wǎng)站服務(wù)器對外都不可見,外網(wǎng)只能看到反向服務(wù)器,而反向服務(wù)器上并沒有存放實(shí)際的資源,因此,可以保證真實(shí)WEB服務(wù)器上資源的安全。
3.加快了對網(wǎng)站的訪問速度,減輕WEB服務(wù)器的負(fù)擔(dān)。反向服務(wù)器具有緩存網(wǎng)頁的功能,如果用戶需要的內(nèi)容在緩存中,則可以直接從服務(wù)器中取得,減輕了WEB服務(wù)器的負(fù)荷,同時(shí)也加快了用戶的訪問速度。
三、反向服務(wù)器的部署
目前,能夠?qū)崿F(xiàn)反向的軟件有很多,但用的最多還是由美國政府大力助的Squid開源免費(fèi)軟件,該軟件可運(yùn)行在任何平臺(tái)上,本文選擇Linux操作系統(tǒng)來部署Squid,因?yàn)長inux系統(tǒng)也是開源免費(fèi)的。
1.Squid軟件的獲取??梢詮膕quid-網(wǎng)站下載squid軟件的最新版本,本文下載的是squid-2.6.STABLE13.tar.gz。2.Squid軟件的安裝。
(1)將獲取的文件squid-2.6.STABLE13.tar.gz拷貝到/tmp目錄;
(2)解壓該文件,運(yùn)行tarxvzfsquid-2.6.STABLE13.tar.gz命令,在/tmp目錄中生成名為squid-2.6.STABLE13的目錄;
(3)進(jìn)入該目錄,執(zhí)行./configure,系統(tǒng)缺省將軟件安裝在/usr/local/Squid目錄,用戶也可以用--prefix=目錄,指定安裝目錄;
(4)運(yùn)行make;
(5)運(yùn)行makeinstall;
(6)如沒有錯(cuò)誤,安裝結(jié)束,Squid的可執(zhí)行文件在安裝目錄的bin子目錄下,配置文件在ctc子目錄下。
3.Squid軟件的配置。通過squid配置反向主要就是配置“squid.conf”這個(gè)配置文件,Squid2.6中和反向配置相關(guān)的主要包含以下三項(xiàng)(詳細(xì)配置可參考squid-):
(1)http_port配置反向服務(wù)器的IP地址(和外網(wǎng)相連地址)和監(jiān)聽端口http_port202.115.144.30:80vhostvport。
(2)cache_peer配置內(nèi)部的WEB服務(wù)資源,該資源可以是真實(shí)WEB服務(wù)器的IP地址,也可以是的域名(內(nèi)部可見的域名),一般都采用IP地址,需要反向幾個(gè)WEB服務(wù)器就要有幾個(gè)對應(yīng)。的配置cache_peer192.168.1.254parent800no-queryoriginserver
(3)cache_peer_domain指定對外部的資源(外網(wǎng)可見的域名)與真實(shí)資源的對應(yīng)關(guān)系,同樣,需要反向幾個(gè)WEB服務(wù)器就要有幾個(gè)對應(yīng)的配置。
4.DNS系統(tǒng)的配置。在DNS服務(wù)器中將所有需要的真實(shí)WEB服務(wù)器的域名對應(yīng)于反向服務(wù)器的IP地址INA202.115.144.30,經(jīng)過這樣對Squid配置和DNS的修改后,對的訪問都會(huì)由反向服務(wù)器202.115.144.30定向到192.168.1.254這臺(tái)真實(shí)的WEB服務(wù)器。
四、反向服務(wù)器的安全
Squid本身不具有認(rèn)證程序,但是可以通過外部認(rèn)證程序來實(shí)現(xiàn)用戶認(rèn)證,最常用的是采用NCSA認(rèn)證,因?yàn)镹CSA認(rèn)證是Squid源代碼包自帶的一個(gè)外部認(rèn)證程序。操作方法如下:
1.cd/tmp/squid-2.6.STABLE13/auth-modules/NCSA。
2.make;makeinstall。
3.編譯成功后,會(huì)生成ncsa-auth的可執(zhí)行文件,拷貝生成的執(zhí)行文件ncsa-auth到/usr/local/squid/bin目錄cpncsa_auth/usr/local/squid/bin。
4.修改squid.conf中的相關(guān)選項(xiàng)如下所示:
Authenticate_program/usr/local/squid/bin/ncsa_auth/usr/local/squid/etc/passwd。
5.定義相關(guān)的用戶類aclauth_userproxy_authREQUIRED。
注意,REQUIRED關(guān)鍵字指明了接收所有合法用戶的訪問。
6.設(shè)置http_access。
http_accessallowauth_user。
7.利用apache攜帶的工具軟件htpasswd在/usr/local/squid/etc下生成密碼文件并添加相應(yīng)的用戶信息,該密碼文件每行包含一個(gè)用戶的用戶信息,即用戶名和密碼;htpasswd-c/usr/local/squid/etc/passwdtesttest。這樣就在密碼文件passwd中添加用戶和密碼都是test的用戶。然后重新啟動(dòng)Squid,密碼認(rèn)證就生效了,訪問服務(wù)器就需要輸入賬號和密碼。
五、結(jié)束語
反向方式不單是一種WEB服務(wù)器加速器,而且使也一種對外提供WEB時(shí)使用的有效的防火墻技術(shù),使用它不但能節(jié)約緊缺的IP地址資源,加速WEB服務(wù)器的訪問速度,而且能夠保護(hù)WEB服務(wù)器,因此能夠適應(yīng)多種應(yīng)用場合,特別是應(yīng)用在電子商務(wù)這種對安全要求特別高的場合。
參考文獻(xiàn):