成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五步保護(hù)企業(yè)Windows環(huán)境下的Web服務(wù)

安全 網(wǎng)站安全
本文將討論如何在各種配置文件中配置CAS、身份認(rèn)證、假冒以及授權(quán)等方面,來保證Web服務(wù)安全運(yùn)行。

大中型企業(yè)有相當(dāng)大部分都在使用Windows Server以及.Net架構(gòu)來構(gòu)建企業(yè)Web服務(wù)和應(yīng)用,因此Web服務(wù)和Web應(yīng)用程序通常被ASP.NET和IIS主管。保護(hù)Web服務(wù)和Web應(yīng)用程序是一個配置環(huán)境的問題而不是編程問題。例如,使用SSL/TLS通過加密來確保保密性是最好的實(shí)現(xiàn)方式。為你的應(yīng)用程序激活它,簡單的方式是對IIS進(jìn)行恰當(dāng)?shù)呐渲茫缓笫褂们熬Y為https的URL進(jìn)行訪問。

ASP.NET安全性的配置主要涉及到編輯一個分級的XML文檔集合。在這棵樹的頂部是machine.config,其中運(yùn)行在這臺機(jī)器上的用于所有ASP.NET應(yīng)用程序的全局設(shè)置被制定好。在全局配置文件的下面是web.config文件,它包含了每個單獨(dú)的ASP.NET應(yīng)用程序的設(shè)置。本文將討論如何在這些文件中配置CAS、身份認(rèn)證、假冒以及授權(quán)等方面,來保證Web服務(wù)安全運(yùn)行。

1、為ASP.NET配置CAS

盡管CAS主要作為保護(hù)系統(tǒng)客戶端免受惡意移動代碼侵?jǐn)_的一種方式,但它與Web服務(wù)和Web應(yīng)用程序在服務(wù)器端的部署仍有一些關(guān)聯(lián)。例如,一臺服務(wù)器可能主管不止一個的個體,團(tuán)體和組織授權(quán)的ASP.NET應(yīng)用程序;在這種情況下,CAS有助于減少由一個實(shí)體擁有的應(yīng)用程序被另外一個實(shí)體擁有的應(yīng)用程序干擾的風(fēng)險,也有助于被服務(wù)器操作系統(tǒng)干擾的風(fēng)險。

但是,你應(yīng)該注意到:在默認(rèn)情況下,CAS策略授予ASP.NET應(yīng)用程序一套完整的程序集。因為他們從本地機(jī)器上運(yùn)行。很顯然,當(dāng)配置你的應(yīng)用程序時,你應(yīng)該修正這一點(diǎn)。.NET框架定義了許多不同的信任級別:Full, High, Medium, Low和 Minimal,你可以用他們來確定ASP.NET應(yīng)用程序的特權(quán)授予。除了這些策略中的第一種在配置文件 web_hightrust.config, web_mediumtrust.config等中被指定,其他所有策略位于.NET框架根目錄下的配置子目錄。為了給一個特殊的ASP.NET應(yīng)用程序授權(quán)一個medium信任等級,你必須給它的web.config文件如下的結(jié)構(gòu):

<configuration>
<system.web>
<trust level="Medium"/>
</system.web>
</configuration>

2、以最小特權(quán)運(yùn)行

處理單個ASP.NET請求的“工作進(jìn)程”運(yùn)行在賬戶為ASPNET的Windows環(huán)境中。這個特殊的賬戶有一個受限的Windows 特權(quán)集,為了控制這種損害,應(yīng)該讓給ASP.NET應(yīng)用程序。但是,對于工作進(jìn)程來說,在與IIS相同的賬戶——SYSTEM賬戶下執(zhí)行是可能的。如果你想要這種情況發(fā)生,你編寫的machine.config文件應(yīng)該像這樣:

<configuration>
<processModel userName="System" password="AutoGenerate"/>
</configuration>

為了讓這樣的更改生效,必須重啟IIS管理服務(wù)和WWW發(fā)布服務(wù)。

這樣做的一個原因可能是:為了獲得Windows用戶用于假冒目的的訪問令牌,允許你的ASP.NET代碼從Win32 API中調(diào)用LogonUser。但是,這違反了最低權(quán)限(least privilege)的基本安全原則,以及顯著增加了成功攻擊所引起的損害。因此在那樣做之前你應(yīng)該仔細(xì)斟酌。

3、身份認(rèn)證

ASP.NET提供了四中典型的身份認(rèn)證:None,Windows,Forms以及Passport。每一種認(rèn)證都是在應(yīng)用程序的根文件web.config中配置的。例如,為了完全禁用ASP.NET身份認(rèn)證——適合于不需要用戶登錄的公共網(wǎng)站,那么你需要這樣的一個配置文件:

<configuration>
<system.web>
<authentication mode="None"/>
</system.web>
</configuration>

你應(yīng)該牢記IIS身份認(rèn)證和ASP.NET身份認(rèn)證之間的相互作用。兩者都將需要被正確地配置,以達(dá)到預(yù)期的效果。通常情況下,你會在IIS和ASP.NET兩者之中中使用Windows身份認(rèn)證模式;或者在IIS中以及在ASP.NET中的None,Forms,Passport的某一種使用匿名模式。

在IIS和ASP.NET兩者中使用Windows身份認(rèn)證的優(yōu)點(diǎn)是:密碼不用通過網(wǎng)絡(luò)發(fā)送,而是客戶端應(yīng)用程序向IIS提供了當(dāng)前登錄用戶身份的相關(guān)信息,那使得這些信息轉(zhuǎn)發(fā)到你的ASP.NET應(yīng)用程序上。這種方法的缺點(diǎn)是:它依賴于客戶端和服務(wù)器端的Windows操作系統(tǒng)。Forms式的身份認(rèn)證對于基于互聯(lián)網(wǎng)的系統(tǒng)是一種更合適的方法,但是在這種情況下,使用SSL/TLS來確保用戶提供的憑證是加密的,這非常有必要。

4、假冒

不管Windows身份認(rèn)證是否已經(jīng)選擇,ASP.NET身份認(rèn)證沒有指明ASP.NET應(yīng)用程序運(yùn)行下的用戶環(huán)境。如果你想要你的應(yīng)用程序在任意賬號,而不僅僅是ASPNET賬號的環(huán)境中運(yùn)行,你必須要假冒身份。

假設(shè)請求的用戶已經(jīng)被IIS許可為有效的Windows用戶,這是由以下web.config中的內(nèi)容完成的:

<configuration>
<system.web>
<identity impersonate="true"/>
</system.web>
</configuration>

這將導(dǎo)致ASP.NET應(yīng)用程序假冒發(fā)出請求的用戶。然而,如果IIS設(shè)置為匿名身份認(rèn)證,那么在IIS中,ASP.NET應(yīng)用程序假冒任意一個用戶賬號,這些賬號已經(jīng)被配置為匿名訪問。

如果你想要你的ASP.NET應(yīng)用程序假冒特定的用戶,這是很簡單的:

<configuration>
<system.web>
<identity impersonate="true" userName="Foo\bar" password="baz"/>
</system.web>
</configuration>

在此很明顯的危險就是:在web.config中用戶憑證以明文形式存在。避免該危險是可能的,我們通過在注冊表中存儲加密的用戶憑證,并且從web.config的元素來引用他們。

<identity impersonate="true"
  userName="registry:HKLM\Software\MyApp\AspNet,Name",
  password="registry:HKLM\Software\MyApp\AspNet,Password"/>

這個實(shí)用的aspnet_setreg.exe必須被用于加密用戶憑證以及在注冊表中存儲加密的用戶憑證。

5、授權(quán)

當(dāng)你在ASP.NET中應(yīng)用Windows授權(quán)時,為了訪問一個給定的資源,被授權(quán)的用戶必須有必要的NTFS權(quán)限。這被稱為文件授權(quán)(file authorization)。ASP.NET支持其他的更具靈活性的授權(quán)類型,這被稱為URL授權(quán)(URL authorization)。不像文件授權(quán),這是通過應(yīng)用程序的web.config文件來配置的。它主要是基于通過對ASP.NET身份認(rèn)證來對應(yīng)用程序進(jìn)行分配;而不是基于一個經(jīng)過許可的Windows賬戶的權(quán)限上。一個簡單URL授權(quán)配置的例子如下:

<configuration>
<authorization>
<allow verbs="GET" users="Fred,Joe"/>
<deny verbs="POST" users="Fred,Joe"/>
<allow roles="Developers"/>
<deny users="*"/>
</authorization>
</configuration>

這個例子允許用戶Fred和Joe將HTTP GET請求提交到應(yīng)用程序,以求得由web.config文件管理的網(wǎng)站中的任意資源。但是若通過HTTP POST請求,就會拒絕他們訪問這些資源。擔(dān)任開發(fā)者角色的任意人(除了Fred或 Joe)是允許無限制的訪問該網(wǎng)站的,但是其他所有用戶被拒絕訪問任何資源。這些元素的順序非常重要,因為第一個匹配將是ASP.NET會使用到的。最后明確通常需要鎖定網(wǎng)站,因為默認(rèn)情況下,machine.config文件包括了這樣的配置:

<authorization>
<allow users="*"/>
</authorization>
責(zé)任編輯:藍(lán)雨淚 來源: TechTarget中國
相關(guān)推薦

2010-05-31 10:34:00

Windows下配置S

2014-12-04 11:09:42

數(shù)據(jù)備份數(shù)據(jù)保護(hù)虛擬環(huán)境

2010-09-26 10:41:31

2024-01-02 09:00:00

無服務(wù)器架構(gòu)RASP

2010-09-27 10:15:15

2021-09-28 08:00:32

數(shù)據(jù)安全網(wǎng)絡(luò)風(fēng)險網(wǎng)絡(luò)安全

2010-07-14 15:34:36

2011-08-19 11:12:04

IIS Web應(yīng)用池應(yīng)用池

2011-06-27 09:19:33

2012-10-22 14:10:11

2021-10-28 18:14:28

應(yīng)用安全安全管理網(wǎng)絡(luò)安全

2012-02-21 09:45:03

虛擬化虛擬化環(huán)境服務(wù)器

2009-10-27 09:26:02

2013-10-14 18:35:37

數(shù)據(jù)保護(hù)

2013-01-05 15:49:25

數(shù)據(jù)保護(hù)虛擬化

2010-04-19 14:45:46

2012-09-20 09:37:57

WebAJAXWebService

2015-03-11 09:21:24

2021-09-18 10:06:06

數(shù)據(jù)安全隱私計算大數(shù)據(jù)

2011-08-16 09:42:07

IISWeb應(yīng)用池工作進(jìn)程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美日韩专区 | www.亚洲一区 | 亚洲精品大片 | 啪啪av| 欧美大片一区 | 又黄又色 | 91在线免费视频 | 国产人成在线观看 | 久久精品国产一区二区三区不卡 | 国产精品一区二区久久精品爱微奶 | 亚洲精品在线免费看 | 国产精品一区二区av | 特黄色一级毛片 | 91免费在线| 黄色网址在线免费观看 | 欧美videosex性极品hd | 天天爽网站 | 国产乱码久久久久久 | 成人深夜福利网站 | www久久国产 | 毛片高清 | 国产一区亚洲 | 美日韩免费 | 91精品国产91久久久久久吃药 | 精品无码久久久久久久动漫 | 日本三级电影免费观看 | 在线不卡av | 久久精品视频在线观看 | 成人无遮挡毛片免费看 | 日本成人区 | a黄在线观看 | 欧美激情在线一区二区三区 | 精品国产一区二区在线 | 国产一区h| 亚洲一区在线观看视频 | 九九热国产视频 | 欧美黄色网 | 国产精品久久av | 亚洲国产精品日韩av不卡在线 | 成人免费看片又大又黄 | 天堂亚洲 |