Web服務(wù)器安全攻擊及防護(hù)機(jī)制詳解

2022-10-09    分類(lèi): 網(wǎng)站建設(shè)

Web安全分為兩大類(lèi):

· Web服務(wù)器的安全性(Web服務(wù)器本身安全和軟件配置)。

· Web應(yīng)用程序的安全性(在Web服務(wù)器上運(yùn)行的Java、 ActiveX、PHP、ASP代碼的安全)。

Web服務(wù)器面臨的攻擊

Web服務(wù)器攻擊利用Web服務(wù)器軟件和配置中常見(jiàn)的漏洞。這些漏洞包括:

· 緩沖區(qū)溢出

· 文件目錄遍歷

· 腳本權(quán)限

· 文件目錄瀏覽

· Web服務(wù)器軟件默認(rèn)安裝的示例代碼

· Web服務(wù)器上運(yùn)行的其他軟件中的漏洞,例如SQL數(shù)據(jù)庫(kù)軟件

讓我們對(duì)上訴漏洞依個(gè)進(jìn)行深入地探討。

1.緩沖區(qū)溢出

緩沖區(qū)溢出允許惡意代碼注入到應(yīng)用程序,它損壞應(yīng)用程序的堆棧——內(nèi)存中存儲(chǔ)應(yīng)用程序代碼的一個(gè)地方——并用不同的代碼代替原始代碼的一部分來(lái)實(shí)現(xiàn)攻擊者的目的,例如運(yùn)行特洛伊木馬程序或遠(yuǎn)程控制應(yīng)用程序。以下是緩沖區(qū)溢出漏洞的一個(gè)簡(jiǎn)單示例代碼,使用C語(yǔ)言編寫(xiě):

char aTmp[100];

scanf("%s",aTmp);

在第一行中,程序員聲明一個(gè)長(zhǎng)度為100的數(shù)組aTmp。在第二行中,scanf方法從控制臺(tái)讀取數(shù)據(jù)存到aTmp數(shù)組。代碼不會(huì)檢查%s 變量是否能夠容納輸入數(shù)據(jù)的大小。因?yàn)槌绦騿T編碼過(guò)程不對(duì)輸入字符串的大小進(jìn)行檢查,如果給定的輸入超過(guò)100個(gè)字符,就會(huì)造成緩沖區(qū)溢出。一個(gè)精心構(gòu)造構(gòu)的輸入中可能包含匯編代碼,這部分匯編代碼能夠獲得源程序一樣的運(yùn)行權(quán)限。

2.目錄遍歷

目錄遍歷是指訪(fǎng)問(wèn)到了不是原先設(shè)想或允許的目錄(或文件夾)。例如,微軟IIS Web站點(diǎn)的默認(rèn)文件夾為C:\inetpub,攻擊者可使用的目錄遍歷漏洞,在該文件夾之外去讀取他們本不該訪(fǎng)問(wèn)的文件。詳細(xì)來(lái)說(shuō),假如有一個(gè)網(wǎng)址為“www.bad.com”的網(wǎng)站,其服務(wù)器代碼中包含目錄遍歷漏洞。攻擊者通過(guò)輸入以下URL就可以利用該漏洞:

http://www.bad.com/../autoexec.bat

URL中的“.../”告訴服務(wù)器上溯一個(gè)目錄,也就是“C:\”目錄(Web 服務(wù)器可以將斜杠轉(zhuǎn)換為反斜杠)。所以如果IIS服務(wù)器默認(rèn)目錄為“c:\inetpub”,那么該URL會(huì)轉(zhuǎn)到“C:\”目錄,攻擊者將能夠看到“c:\autoexec.bat”文件。除非將服務(wù)器配置好了避免目錄遍歷,不然所有目錄可能都是可訪(fǎng)問(wèn)的。這種情況下,Web服務(wù)器將顯示“autoexec.bat”文件的內(nèi)容,或者攻擊者選擇的任何其他文件。

值得注意的是:我們已經(jīng)使用 IIS 作為示例;但是,此漏洞的利用不是針對(duì)IIS服務(wù)器的,在其他的Web 服務(wù)器上也有目錄遍歷漏洞。

3.腳本權(quán)限

為了運(yùn)行通用網(wǎng)關(guān)接口(CGI)、Perl或者其他服務(wù)端應(yīng)用程序,管理員必須授予對(duì)服務(wù)器端應(yīng)用程序所在的目錄以可執(zhí)行權(quán)限。一些管理員給錯(cuò)誤位置授予此權(quán)限(通常是因?yàn)樗麄儾幻靼走@么做會(huì)帶來(lái)的問(wèn)題)。讓我們看看下面的示例,探討如果管理員將此權(quán)限授予C盤(pán)下的所有目錄將發(fā)生什么。

http://www.bad.com/../winnt/system32/cmd.exe%20%2fc%20dir

首先我們來(lái)破譯這神秘的URL。某些字符如空格和斜杠,不能出現(xiàn)在URL中,因?yàn)閁RL是限于7 -bit編碼的ASCII碼。然而,某些情況下還是會(huì)使用到這些字符??尚械霓k法是使用其十六進(jìn)制的字符來(lái)表示,或者使用類(lèi)似ASCII的base 16編碼。Base 16 使用字母a、b、c、d、e 和f來(lái)表示大于9的數(shù)字。舉例來(lái)說(shuō),字母a表示十六進(jìn)制中的數(shù)字10,f表示15,并使用10表示數(shù)字16。所以,在前面的示例:

· 空格使用ASCII編碼表示為十進(jìn)制的32,使用十六進(jìn)制則為20,因此變成%20。

· 斜杠(/)使用ASCII編碼表示為十進(jìn)制的47,使用十六進(jìn)制則為2f,因此變成%2f。

經(jīng)Web服務(wù)器解析后,就成為下面的URL:

../winnt/system32/cmd.exe /c dir

這是要執(zhí)行“cmd.exe”并告訴它執(zhí)行“dir”命令。“cmd.exe”是位于“C:\winnt\system32”

文件夾中的命令外殼。“Dir”命令列出當(dāng)前目錄中的所有文件,并將結(jié)果返回給用戶(hù)。當(dāng)然,這是只是一個(gè)簡(jiǎn)單的例子,攻擊者可以執(zhí)行更復(fù)雜的命令以達(dá)到刪除、運(yùn)行或修改Web服務(wù)器上數(shù)據(jù)的目的。

圖1是IIS目錄權(quán)限的配置的截屏。好做法是只給包含需要執(zhí)行的服務(wù)端應(yīng)用的文件夾設(shè)置可執(zhí)行的權(quán)限,而不是包含可被攻擊者利用的軟件的文件夾,例如包含“cmd.exe”或者其他內(nèi)置的操作系統(tǒng)命令。

Web服務(wù)器安全攻擊及防護(hù)機(jī)制詳解

圖1 IIS腳本權(quán)限控制臺(tái)的屏幕截圖

那是用于網(wǎng)站訪(fǎng)問(wèn)者運(yùn)行的命令,而不是可能援助攻擊者的軟件,如cmd.exe或其他內(nèi)置操作系統(tǒng)命令。

4.目錄瀏覽

通常情況下,目錄瀏覽是禁用的,但是如果啟用它,則它顯示該目錄中的所有文件,并允許瀏覽的子目錄。有時(shí)知道一個(gè)文件存在可以幫助攻擊者利用Web 服務(wù)器上文件和程序的漏洞。為此,不建議啟用Web 服務(wù)器上的目錄瀏覽。

5.默認(rèn)示例

默認(rèn)示例是包含在Web 服務(wù)器軟件中并在服務(wù)器軟件安裝時(shí)默認(rèn)安裝的應(yīng)用程序。一些默認(rèn)安裝的示例包含安全漏洞。針對(duì)這些漏洞保護(hù)的好辦法是不要安裝示例,如果已經(jīng)安裝了,最好把它們刪除掉。

6.其他服務(wù)

攻擊者可以通過(guò)攻擊在Web服務(wù)器上運(yùn)行的其他服務(wù)來(lái)攻陷Web服務(wù)器。這些服務(wù)包括FTP、SMTP、POP3、SQL服務(wù)器和NetBIOS服務(wù)。防止此類(lèi)攻擊的好方法是減少“受攻擊面”。關(guān)閉所有運(yùn)行在Web服務(wù)器操作系統(tǒng)上不必要的服務(wù)并對(duì)剩下的服務(wù)進(jìn)行安全地配置。好做法是使 Web服務(wù)器只有一個(gè)Web服務(wù)程序,而沒(méi)有其他的服務(wù)。運(yùn)行數(shù)據(jù)庫(kù)和其他的軟件應(yīng)部署在單獨(dú)的服務(wù)器上,這樣服務(wù)器受防火墻保護(hù),只有Web服務(wù)器易受Web攻擊。如果攻擊者設(shè)法利用其他服務(wù)的漏洞來(lái)攻擊服務(wù)器,他們也能夠干擾或攻陷Web站點(diǎn)。

7.Web服務(wù)器軟件的固有漏洞

每個(gè)Web服務(wù)器軟件,包括IIS和Apache,由于缺乏安全的編碼技術(shù),該軟件的程序員已經(jīng)提供了內(nèi)置漏洞。例如,IIS的.htr漏洞,允許攻擊者看到駐留在服務(wù)器上的文件的內(nèi)容。幾乎每周都會(huì)發(fā)布主要的Web服務(wù)器軟件平臺(tái)中的新漏洞。

Web服務(wù)器的保護(hù)

針對(duì)上述漏洞好做法是遵循以下建議搭建并運(yùn)行Web服務(wù)器。采取下列措施將提高Web服務(wù)器的安全性。

· 給Web服務(wù)器服務(wù)或守護(hù)程序配置能夠使它正常運(yùn)行最少的權(quán)限。這樣,即使攻擊者控制了Web 服務(wù)器,他們只能獲得運(yùn)行該軟件對(duì)應(yīng)的用戶(hù)賬戶(hù)的權(quán)限。這樣,攻擊計(jì)算機(jī)或網(wǎng)絡(luò)上的其他軟件可行方案就極為有限了。

· 安裝最新的安全補(bǔ)丁并時(shí)刻關(guān)注漏洞的最新動(dòng)態(tài)。

· 刪除默認(rèn)示例并避免安裝類(lèi)似的示例。

· 通過(guò)刪除不需要的應(yīng)用程序,安全配置同一臺(tái)計(jì)算機(jī)上的其他網(wǎng)絡(luò)服務(wù),確保操作系統(tǒng)已安裝最新的安全補(bǔ)丁來(lái)保證承載Web服務(wù)器的計(jì)算機(jī)的安全。

· 確保只給需要執(zhí)行的腳本單獨(dú)的目錄運(yùn)行的權(quán)限。

· 在Web服務(wù)器上每個(gè)目錄中,都提供一個(gè)index.html文件,以避免需要目錄瀏覽。

第三方安全產(chǎn)品

商業(yè)和免費(fèi)的產(chǎn)品也可以幫助抵御與Web服務(wù)器相關(guān)的不同漏洞。主要有以下產(chǎn)品:

· 軟硬件防火墻

· Web應(yīng)用防火墻(WAFs)

· 病毒防御軟件

· 基于ISAPI的安全產(chǎn)品

· 安全日志

· 反饋分析軟件

· 入侵檢測(cè)系統(tǒng)和入侵檢測(cè)防御系統(tǒng)

· 漏洞掃描軟件

· 輸入驗(yàn)證

軟硬件防火墻。防火墻過(guò)濾掉不屬于正常 Web會(huì)話(huà)的流量。所有Web服務(wù)器都應(yīng)配備技術(shù)先進(jìn)的第四代防火墻。第四代防火墻可以區(qū)分出普通的Web瀏覽器合法的流量和攻擊者的惡意攻擊流量。直接部署在Web服務(wù)器上的防火墻軟件可以為服務(wù)器提供額外的防護(hù)。

Web應(yīng)用防火墻。Web應(yīng)用防火墻(WAFs)是具有Web流量深度檢查功能的設(shè)備。WAFs能夠提供基于內(nèi)容的攻擊的良好保護(hù),因?yàn)樗麄儠?huì)解析HTTP會(huì)話(huà)的實(shí)際內(nèi)容,尋找與正常使用模式不匹配的已知錯(cuò)誤或異常行為。這些設(shè)備可以是非常有效的防范大多數(shù)攻擊。

病毒防御軟件。Web服務(wù)器上應(yīng)該安裝防御毒軟件。如果攻擊者利用安全漏洞企圖控制Web 服務(wù)器,并且漏洞已知,病毒防御軟件能夠檢測(cè)到并阻止。

基于ISAPI的安全產(chǎn)品。此類(lèi)產(chǎn)品截取URL請(qǐng)求,過(guò)濾掉可能的攻擊,如緩沖區(qū)溢出。Web服務(wù)器供應(yīng)商通常會(huì)免費(fèi)提供基于ISAPI的安全產(chǎn)品。

反饋分析軟件。反饋分析軟件解析Web服務(wù)器的響應(yīng)并與已知的正常網(wǎng)站響應(yīng)進(jìn)行比較。如果網(wǎng)站含有惡意代碼或者被修改,響應(yīng)將不匹配原始的已知的正常響應(yīng),這樣能夠檢測(cè)出未經(jīng)授權(quán)的網(wǎng)站更改。

入侵檢測(cè)與防御。入侵檢測(cè)系統(tǒng)(IDS)一般用于入侵的后期處理,因?yàn)橄到y(tǒng)保留事件的詳細(xì)記錄。而入侵預(yù)防系統(tǒng)(IDP)能夠阻止某些已知的不良行為。

漏洞掃描軟件。管理員應(yīng)運(yùn)行漏洞掃描程序定期來(lái)測(cè)試Web服務(wù)器的安全性,因?yàn)榧偃鐠呙鑳x發(fā)現(xiàn)了安全漏洞,攻擊者很可能也會(huì)發(fā)現(xiàn)同樣的漏洞。有很多免費(fèi)或商業(yè)的漏洞掃描軟件。其中有些是基于Web,有些是硬件程序,剩下的是純軟件。

輸入驗(yàn)證。輸入驗(yàn)證產(chǎn)品檢查提交到Web站點(diǎn)每個(gè)數(shù)據(jù)是否存在異常、SQL注入命令或緩沖區(qū)溢出攻擊代碼。

安全日志。安全日志可以提供Web服務(wù)器攻擊入侵的證據(jù)。除了存放在在 Web 服務(wù)器上,還應(yīng)該將它們存儲(chǔ)網(wǎng)絡(luò)上安全的位置以防止攻擊者更改日志或刪除記錄。

服務(wù)器安全Web服務(wù)器Web服務(wù)器安全

當(dāng)前題目:Web服務(wù)器安全攻擊及防護(hù)機(jī)制詳解
網(wǎng)頁(yè)地址:http://www.muchs.cn/news44/203844.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、定制網(wǎng)站、建站公司、品牌網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)