當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 上海OA系統(tǒng) > 上海OA快博
關(guān)于安全的建議:對(duì)投入使用的XML Web Services禁用HTTP-GET和HTTP-POST協(xié)議
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
AMTeam.org關(guān)于安全的建議:對(duì)投入使用的XML Web Services禁用HTTP-GET和HTTP-POST協(xié)議
Microsoft Corporation
2002 年 2 月
摘要:出于安全原因,Web service 操作人員可能需要對(duì) XML Web services 禁用 HTTP-GET 和 HTTP-POST 消息處理協(xié)議。禁用這些協(xié)議有助于防止外部 Web 站點(diǎn)與您的 Intranet 上的 XML Web services 進(jìn)行惡意通信。
簡(jiǎn)介
由于 HTTP-GET 和 HTTP-POST
消息處理協(xié)議的固有功能,在某些條件下,惡意 Web 頁(yè)可以使用它所定義的參數(shù)調(diào)用在防火墻后面運(yùn)行的 XML Web service。這與某些基于
HTTP-GET 的惡意重定向問(wèn)題類似。如果 XML Web service 支持使用 HTTP-GET 或 HTTP-POST 消息處理協(xié)議(對(duì)于使用
ASP.NET 創(chuàng)建的 XML Web services,將默認(rèn)啟用這些協(xié)議)進(jìn)行通信,就可能會(huì)發(fā)生此類安全問(wèn)題。
盡管使用 HTTP-POST 創(chuàng)建惡意 Web 頁(yè)并不容易,但如果 XML Web services 沒(méi)有使用 HTTP-GET 和 HTTP-POST 消息處理協(xié)議,還是應(yīng)該在提供用 ASP.NET 創(chuàng)建的 XML Web services 的生產(chǎn)用計(jì)算機(jī)上禁用對(duì)這兩個(gè)協(xié)議的支持。
圖 1:常見(jiàn)的惡意通信事件
步驟 說(shuō)明
1 位于防火墻后面的 HTTP 客戶端(如 Microsoft?
Internet Explorer)瀏覽一個(gè)包含鏈接的惡意 Web 頁(yè)。
2 Web 服務(wù)器向客戶端返回一個(gè)包含惡意鏈接的 Web
頁(yè)。當(dāng)用戶單擊該鏈接時(shí),即對(duì)客戶端所在的 Intranet 上的 XML Web service 發(fā)出請(qǐng)求(用戶并不知道該請(qǐng)求)。
3 惡意
Web 頁(yè)將使用基于 Web 頁(yè)提供的參數(shù)和用戶憑據(jù)向 XML Web service 發(fā)出請(qǐng)求。
只有在下列條件下才會(huì)發(fā)生圖 1 所示的情況:
XML Web service 支持使用 HTTP-GET 或 HTTP-POST 消息處理協(xié)議進(jìn)行通信。(使用
HTTP-POST 的情況比較復(fù)雜,請(qǐng)參閱以下關(guān)于 HTTP-POST 的代碼示例。)
惡意 Web 頁(yè)的外部開(kāi)發(fā)人員了解 XML Web
service 是否存在以及如何調(diào)用的詳細(xì)信息。
客戶端具有執(zhí)行內(nèi)部 XML Web service 的訪問(wèn)權(quán)限。
雖然這種情況概括的是如何使用 HTTP-GET 惡意調(diào)用 XML Web service,但同樣適用于 HTTP-POST。要使用
HTTP-POST 以類似的方法執(zhí)行 XML Web service,Web 頁(yè)必須包含腳本,以便在用戶單擊某處導(dǎo)致消息發(fā)送回外部 Web
服務(wù)器時(shí),將客戶端重定向到 XML Web service。
下面的代碼示例是一個(gè)包含惡意鏈接的 Web 頁(yè),該鏈接指向在客戶端所在的 Intranet 上運(yùn)行并使用 HTTP-GET 協(xié)議的 XML Web service。在此示例中,用戶必須單擊鏈接;不過(guò),也有可能 Web 頁(yè)包含執(zhí)行重定向的腳本,因而不需要用戶的交互操作。
<html>
<body>
<a
HREF =
"http://AnIntranetServer/401K.asmx/ChangeWithholding?PreTax=
0@PostTax=0">快速致富!</a>
</body>
</html>
同樣,下面的代碼示例是一個(gè)包含惡意按鈕的 Web 頁(yè),該按鈕能夠與在客戶端所在的 Intranet 上運(yùn)行并使用 HTTP-POST 協(xié)議的 XML Web service 進(jìn)行通信。
<form method="POST"
action="http://AnIntranetServer/401K.asmx/ChangeWithholding">
<input type="hidden" name="pretax"
value="2.5">
<input type="hidden" name="posttax"
value="3.5">
<input type="submit" value="快速致富。單擊此處了解詳細(xì)消息。"
></p>
</form>
需要說(shuō)明的是,這種情況對(duì)只能通過(guò) HTTP 協(xié)議的 SOAP 與之通信的 XML Web service 不適用。SOAP 請(qǐng)求需要 SOAPAction HTTP 標(biāo)頭,而 Web 頁(yè)不具有在使用鏈接的重定向中包含該標(biāo)頭的功能。
對(duì)基于 ASP.NET 的 XML Web Services 禁用 HTTP-GET 和 HTTP-POST
協(xié)議
默認(rèn)情況下,客戶端可以使用以下三種協(xié)議與使用 ASP.NET 創(chuàng)建的 XML Web services
進(jìn)行通信:HTTP-GET、HTTP-POST 和通過(guò) HTTP 的 SOAP。使用 Microsoft .NET 框架支持的配置系統(tǒng),您可以在單獨(dú)的 Web
應(yīng)用程序或整個(gè)計(jì)算機(jī)中修改 XML Web services 所支持的協(xié)議。
無(wú)論是在計(jì)算機(jī)上還是在單個(gè) Web 應(yīng)用程序中禁用 HTTP-GET 和 HTTP-POST,都只需修改配置文件,該文件在 .NET 框架中只是一個(gè)簡(jiǎn)單的文本文件。計(jì)算機(jī)的默認(rèn)配置是在 Machine.config 文件中進(jìn)行設(shè)置的,對(duì)于每個(gè) Web 應(yīng)用程序,您可以修改該 Web 應(yīng)用程序的根目錄中的 Web.config 文件而不是 Machine.config 文件。
在不需要 HTTP-GET 和 HTTP-POST 消息處理協(xié)議的生產(chǎn)用計(jì)算機(jī)上,最好在整個(gè)計(jì)算機(jī)中禁用對(duì)這些協(xié)議的支持。對(duì)于 XML Web service 客戶端使用 HTTP-GET 或 HTTP-POST 與 XML Web service 進(jìn)行通信的特殊情況,可以為使用這些協(xié)議的 Web 應(yīng)用程序添加對(duì)這些協(xié)議的支持。
在整個(gè)計(jì)算機(jī)上禁用 HTTP-GET 和 HTTP-POST
協(xié)議(建議)
使用常用的文本編輯器打開(kāi) Machine.config 文件。(默認(rèn)安裝將 Machine.config 放在
C:WINDOWSMicrosoft.NETFrameworkv1.0.3705CONFIG 文件夾中。)
在 webServices
節(jié)中標(biāo)出添加 HTTP-GET 和 HTTP-POST 支持的命令行。執(zhí)行此操作后,webServices
節(jié)應(yīng)如下所示:
<webServices>
<protocols>
<add name="HttpSoap"/>
<!-- <add
name="HttpPost"/> -->
<!-- <add name="HttpGet"/>
-->
<add name="Documentation"/>
</protocols>
</webServices>
保存 Machine.config。
此配置更改將在下一次對(duì)該計(jì)算機(jī)上的 XML Web service
發(fā)出請(qǐng)求時(shí)生效。
在單個(gè) Web 應(yīng)用程序上禁用 HTTP-GET 和 HTTP-POST
協(xié)議
使用常用的編輯器打開(kāi) Web 應(yīng)用程序根目錄中的 Web.config 文件。(如果不存在 Web.config
文件,則創(chuàng)建該文件。)
修改 Web.config 的 webServices 節(jié),使用以下格式顯式刪除 HTTP-POST 和
HTTP-GET 協(xié)議(如果 Web.config 文件不包含 webServices
節(jié),則添加該節(jié)):
<webServices>
<protocols>
<remove
name="HttpPost" />
<remove
name="HttpGet" />
</protocols>
</webServices>
保存 Web.config。
此配置更改將在下一次對(duì)該 Web 應(yīng)用程序上的 XML Web service
發(fā)出請(qǐng)求時(shí)生效。
在單個(gè) Web 應(yīng)用程序上添加 HTTP-GET 和 HTTP-POST 協(xié)議支持
使用常用的編輯器打開(kāi) Web
應(yīng)用程序根目錄中的 Web.config 文件。(如果不存在 Web.config 文件,則創(chuàng)建該文件。)
修改 Web.config 的
webServices 節(jié),使用以下格式添加 HTTP-POST 和 HTTP-GET 協(xié)議(如果 Web.config 文件不包含 webServices
節(jié),則添加該節(jié)):
<webServices>
<protocols>
<add
name="HttpPost" />
<add
name="HttpGet" />
</protocols>
</webServices>
保存 Web.config。
此配置更改將在下一次對(duì)該 Web 應(yīng)用程序上的 XML Web service
發(fā)出請(qǐng)求時(shí)生效。
禁用 HTTP-GET 和/或 HTTP-POST
的影響
對(duì)于生產(chǎn)用計(jì)算機(jī),禁用 HTTP-GET 和 HTTP-POST
協(xié)議所帶來(lái)的弊端微乎其微。弊端包括:
XML Web service 的默認(rèn)服務(wù)幫助頁(yè)面繼續(xù)有效,但潛在的客戶端將無(wú)法使用服務(wù)幫助頁(yè)面上的
Invoke(調(diào)用)按鈕測(cè)試 XML Web service。
如果要在 Microsoft Visual Studio? .NET 中調(diào)試
XML Web service,您必須創(chuàng)建一個(gè)測(cè)試客戶端程序。
對(duì)于投入使用的 XML Web service,這兩個(gè)弊端都可以輕松克服,因?yàn)?
Visual Studio .NET 提供了 Add Web Reference(添加 Web 引用)命令,使創(chuàng)建 XML Web service
的客戶端變得非常簡(jiǎn)單。
總結(jié)
提供用 ASP.NET 創(chuàng)建的 XML Web services
的生產(chǎn)用計(jì)算機(jī)應(yīng)該在整個(gè)計(jì)算機(jī)中禁用對(duì) HTTP-GET 和 HTTP-POST
消息處理協(xié)議的支持,以避免在很多情況下可能出現(xiàn)的安全問(wèn)題。對(duì)于早期開(kāi)發(fā)而言,您可以在開(kāi)發(fā)用計(jì)算機(jī)上啟用這些協(xié)議;這樣,開(kāi)發(fā)用計(jì)算機(jī)便可以使用服務(wù)幫助頁(yè)面來(lái)測(cè)試
XML Web services。將計(jì)算機(jī)投入實(shí)際使用時(shí),請(qǐng)修改 .config 文件以禁用 HTTP-GET 和 HTTP-POST
協(xié)議。
需要說(shuō)明的是,這并不是 XML Web service 開(kāi)發(fā)人員應(yīng)當(dāng)采取的唯一安全措施,它只是保護(hù) XML Web service 的安全所涉及的諸多步驟和問(wèn)題之一。
- 1上海OA與企業(yè)信息化之路
- 2聯(lián)合國(guó)《2003 年電子商務(wù)與發(fā)展報(bào)告》
- 3IDC:網(wǎng)絡(luò)服務(wù)的宣傳是否樂(lè)觀過(guò)頭?
- 4上海OA能賺錢
- 5開(kāi)啟“黃金屋”--析個(gè)人上海OA
- 6企業(yè)報(bào)告管理(ERM)與CRM(AMT 黃健 編譯)
- 7泛普OA軟件2014年-2018年在大上海重點(diǎn)發(fā)展100家代理商
- 8沒(méi)有哪個(gè)OA軟件選型者不關(guān)心OA軟件的價(jià)格
- 9Web服務(wù)的標(biāo)準(zhǔn)之爭(zhēng)和商機(jī)之爭(zhēng)
- 10WEB服務(wù)“不是”什么
- 11上海OA詞典
- 12通往供應(yīng)鏈整合的道路:上海OA初步(by AMT 姚磊)
- 13與IBM微軟分庭抗禮 Sun欲當(dāng)WS-I新董事
- 14.Net和Java機(jī)會(huì)均等
- 15協(xié)作,“讓我們暢談”
- 16上海OA軟件市場(chǎng)2006年將達(dá)20億歐元
- 17架起結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)之間的橋梁(AMT 唐曉輝 編譯)
- 18IBM全球“大腦”:藍(lán)色大象翩翩起舞的知識(shí)動(dòng)力
- 19機(jī)構(gòu)上海OA的實(shí)務(wù)指引
- 20微軟為推XML搞結(jié)盟
- 21IBM發(fā)布新軟件,強(qiáng)化Web服務(wù)安全性
- 22第二代Web服務(wù)展望
- 23“管理信息化熱點(diǎn)問(wèn)題討論”之八:上海OA很好,但到底如何實(shí)現(xiàn)(by AMT 孔祥云 徐家俊)
- 24有效的知識(shí)
- 25跨越信息訪問(wèn)的鴻溝!(by AMT 方厚政)
- 26PKM:個(gè)人上海OA
- 27促進(jìn)術(shù)語(yǔ)標(biāo)準(zhǔn)化 W3C出版“網(wǎng)絡(luò)服務(wù)字匯表”
- 28個(gè)人上海OA(PKM)如何實(shí)施?(田志剛)
- 29Web服務(wù)防黑談(一)
- 30避免上海OA項(xiàng)目失敗的十大要項(xiàng)
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓
版權(quán)所有:泛普軟件 渝ICP備14008431號(hào)-2 渝公網(wǎng)安備50011202501700號(hào) 咨詢電話:400-8352-114