IIS 7.0的六大安全新特征为您的Web服务器保驾护航

在IIS
6.0中,新的Web站点和应用程序被停放在一如既往的应用程序池里。这一个默认的采纳程序池运行在“NetworkService(Service)”账号下。作为一名大班,你可以手动创立新的应用程序池并且把Web应用程序指派给那多少个池。默认情状下,这多少个应用程序池也将运行在“NetworkService(Service)”账号下,这就会导致一个令人不快的运行时场景:所有的Web应用程序都运行在相同的权力下。一个在应用程序池A中的应用程序可以读取应用程序池B的布局音讯,甚至有权访问属于应用程序池B的应用程序的始末文件。尽管成立新的应用程序池以及为它们配置自定义账号的天职丰裕简单,可是随着岁月的推移,管理那些账号却并不那么轻松。在IIS
7.0里,系统活动为各Web站点新建一个应用程序池。默认情形下,应用程序池被安排为以“Network瑟维斯(Service)(Service)”账号运行。而当工作者经过被创设时,I
I S 7 . 0
会向“Network瑟维斯(Service)(Service)”安全令牌注入一个出色的唯一标识该行使程序池的SID。IIS
7.0还会为劳重力经过创设一个布置文件,并且将文件的ACL设置为仅同意利用程序池唯一的SID访问。这么做的结果就是:一个应用程序池的配备将无法被此外应用程序池读取。顺便提示一下,你可以更改内容文件的ACL,从而允许利用程序池唯一的SID举办走访而不是“NetworkService”账号。这可以阻碍应用程序池A中的某个应用程序读取应用程序池B中某应用程序的内容文件。

URL授权

图片 1

一旦你早已管理过IIS服务器来说,你大概不会对UrlScan感到陌生,它是一个可供IIS
4.0及以上版本下载的工具,可用于限制IIS可以接受的哀求类型。请求过滤的目的关键是维护你的Web服务器免遭恶意请求的攻击。在IIS
7.0的伸手过滤模块里,UrlScan得到了增长,并且与Web服务器举行了绑定。请求过滤模块会遵照可安排的正式来过滤请求。例如,它可以拒绝双重编码的呼吁或者不相符常规大小的呼吁(例如:超大的POST载荷或者太长的URL)。请求过滤模块还足以拒绝针对一定文件类型、路径或你的站点所不帮忙的HTTP动作的哀求。在IIS
7.0里,请求过滤配置也得以展开委派,它同意站点管理员在“web.config”文件里定义自己的请求过滤规则,而这在IIS
6.0的UrlScan里是力不从心兑现的。有关IIS
7.0呼吁过滤的更多消息,请看本刊二零零六年六月小说“释放微软IIS
7.0的安全力量”。

服务器使用哪个账号作为匿名访问的身分凭证是关乎进程身份的要害问题。前一版IIS
依赖于一个本地账号——IUSR_servername,将其看做匿名用户登录的身价凭证。IIS
7.0则利用了一个崭新的放手账号,叫做“IUSR”。你无法运用IUSR账号举办本地登录,所以它从不密码(也就是说那多少个猜密码攻击对它都不起功效)。由于IUSR账号总是有着同等的SID,所以它的相关ACL在Windows
Server
2008(以及WindowsVista)机器之间是可传递的。而一旦IUSR账号不吻合您的行使场景的话(也就是说,如若匿名请求需要经身份验证的网络访问的话),你能够关闭匿名用户账号,IIS
7.0将为匿名请求使用劳力经过身份。同样全新的还有内置的IIS_IUSRS组。这多少个用户组取代了原来的IIS_WPG组。在IIS
6.0里,IIS_WPG组提供了运转一个劳重力经过所需的微乎其微权限,而且你必须手动地将账号添加到该组,从而为一个劳重力经过提供自定制的地位凭证。IIS_IUSRS组为IIS
7.0提供了接近的角色,然而你不要专程将账号添加到该组。取而代之的是,当账号被派出为某一运用程序池的身份凭证时,IIS
7.0
会自动将这么些账号收入到IIS_IUSRS组。并且和IUSR账号一样,IIS_IUSRS组也是放手的,所以在富有的Windows
Server
2008机械上,它连接有着同等的名号和SID,这就让ACL以及此外配置在Windows
Server2008(以及Windows Vista)机器之间是一点一滴可迁移的。

小说来源:WindowsITPro 
2009年2月期

基于IIS

Web应用程序平常都有一部分受限制的区域,只允许特定的用户访问。比方说,只有经营才有权访问HR系统里的业绩报告内容。这一个受限制的页面平时被归并到名叫“Administration”、“Reporting”或“Moderation”的目录中。在旧版的IIS里,珍贵那些目录不被未经授权者访问可不是一个简单易行的职责。即使ASP.NET里停放了URL授权的成效,你也仍旧需要处理部分非ASP.NET的情节,例如:PDF或Excel文件,它们同样需要保障。而且ASP.NET
URL授权规则是透过编制XML来保管的,这同样也是一项乏味的干活。在IIS
7.0里,ASP.NET
URL授权成效仍旧保存,可是除此以外,Web服务器本身现在也提供一个URL授权效率。现在,对拥有项目标内容(例如:静态的、PHP、ASP)的访问可以遵照用户、组或URL来加以控制。举例来说,你可以轻松地范围对另外置身“Reporting”路径下的始末的走访,只允许“Managers”组的成员访问,同时无需修改ACL。图5显得了IIS
Manager里的URL授权规则配置。URL
授权规则在“web.config”文件的“system.webServer”段落中获取保持,其语法与ASP
.NET的授权规则略有不同,如列表2所示。由于授权规则完全包含在你的布置文件里(本地“web.config”),所以它们很容易在应用程序和服务器之间迁移。并且IIS
7.0里的URL授权与Windows用户和组,以及ASP.NET的用户和角色可以很好地兼容。

试想一家市场调研集团既提供部分面向群众的调查报告,又需要向那一个互为竞争对手的店家提供部分灵动的市场数量。或者试想一台服务器既安装了供一小部分人接纳的财务应用程序,同时又被看成一个集团门户供全部用户访问。对于以上两种意况而言,将运行在同样台服务器上的两样应用程序隔离开来是根本的。Web应用程序运行在劳引力经过(worker
processes)下。应用程序池把Web应用程序映射到劳重力经过。一个一定的工作者经过只用于运行作为同样应用程序池的一有些的应用程序。在IIS
6.0和IIS 7.0中,工作者经过是“w3wp.exe”。

管住委派

如上所波及的这多少个职能都属于IIS
7.0在安全性方面的精益求精。它们值得您更深切地钻研,同时,它们如故会转移您管理和安排Web站点的思路。

  1. 安装Web管理服务(WMSVC);

图片 2

只是,假使自己想拦截一个Web站点所有者更改默认文档呢?没问题:IIS
7.0得以让您锁定配置元素,从而无法设置或掩盖“web.config”里的布局。假如是默认的布局文档的话,你可以全局地把默认覆盖情势改变为“Deny”,或者也得以肯定地把特定岗位的覆盖模式设成“Deny”(使用“location”标签)。IIS团队指出在location标签中宣称这个改动,如列表1所示。效率委派对于一名繁忙的社团者来说相对是一个好出手,因为它可以安全地赋予Web站点和应用程序所有者某些配置权力,而这一个安排只会潜移默化她们协调的站点和应用程序。

效益委派

IUSR和IIS_IUSRS

许多大班为了图便宜,在有人需要对某站点或应用程序应用更改的时候就把管理员权限给他。这当然会带来巨大的平安风险。不幸的是,你面临的是一个啼笑皆非境地:要么不加限制地分派管理员权限,要么把装有管理权限都集中到一些,限制任何其别人对设置开展改进。在IIS
7.0里,服务器管理员可以把一个一定Web站点或应用程序的管理权限授予一名或多名用户,并且无需提高他们的用户权限。在IIS
Manager里,如图4所示,用户既可以动用Windows身份凭证也得以采纳IISManager专用的身份凭证连接到一台IIS
7.0服务器。IIS
Manager专用身份凭证的好处就在于你提供给用户的权限是兼备特别用途和富有限制的,即:IIS
Web站点管理权限。该地点凭证在IIS
Manager以外是毫无用途的。假设是远程应用以来,一个独立的IIS
Manager版本现在得以设置在Windows Vista、Windows Server
2003和WindowsXP上。在你远程连接到IIS
Manager在此以前,你无法不明确启用Web服务器上的远程管理效能,具体操作是:

中间有效的段子被定义在一个誉为“applicationHost.config”的与众不同安排文件里。在“applicationHost.config”文件里,各段落都有一个默认的委任模式。在图3的事例中,默认文档和目录浏览设置都得以被遮盖,可是“asp”、“caching”或“cgi”段落却不得以。

DerekHatchard,是一名网站创始人、咨询师和培训师。他同时也是一名Microsoft
Regional Director、Microsoft
MVP、作者以及演说者。你可以在derekh.com和ardentdev.com上来看她的博客,同时他也与旁人在devcasting.com
合作开办开发人士播客。你可以通过derek@ardentdev.com与她拿走联络。

图4:IIS Manager

2.在Web服务器上经过IIS Manager(或透过注册表)开启远程管理效用;

IIS 7.0构建在IIS
6.0的张家界根基上,并且实现了模块化设计,单个效率可以被彻底移除,从而有效降低了您的Web服务器的受攻击面。IIS
6.0引进了“应用程序池”的概念,用于在应用程序之间(以及应用程序与Web服务器进程之间)实现隔离,现在,那多少个功用被开展了更实用的“沙箱化”处理。新的委派功用可以让站点所有者在不升官权限的动静下管理他们的站点。请求过滤(即:URLscan)效率现在也合并到了服务器中。管理员可以在IIS
7.0里一向定义策略,控制什么用户可以访问什么URL。

毫不所有的Web服务器设置都需要管理员权限的维护。有些设置只是简短的应用程序级另外内容,完全可以让开发人员或者产品首席营业官来决定。例如,在IIS
6.0里,你需要管理员权限才能改变Web应用程序的默认文档。而相似情状下,仅仅把“default.aspx”改成“profile.aspx”就真的有必不可少接纳管理员权限吗?在IIS
7.0里,配置任务现在得以被委任给站点仍旧应用程序所有者。IIS
7.0运用了一个由ASP.NET辅助的崭新的依照XML的配置体系。在站点和应用程序的级别上,IIS
7.0和ASP.NET的装置可以在一如既往的“web.config”文件中被找到。诸如默认文档之类的委任设置可以在Web站点或应用程序的级别上举行更改,方法是间接编辑“web.config”文件或者应用IIS
Manager GU(I
如图1所示),它会为您更新“web.config”文件。在“web.config”文件里,“system.webServer”段落包含了IIS
7.0的安排安装,如图2所示。

IIS 7.0是在IIS 6.0的平安根基上构建的,它保留了IIS
6.0的使用程序池/工作者经过隔离模型的基本结构,这一协会被验证是十分实惠的。即便在谈论IIS
7.0的安全性的时候,新的模块结构面临了重重关注,可是自动化的应用程序沙箱、效能委派以及URL授权那个特色也警醒,它们让维护Web服务器的职责变得比往常更自在了。您可以在本刊网站下载提到的列表文件。

应用程序沙箱

图片 3

防火墙规则或远程访问策略有可能会给远程管理工具的使用导致麻烦。出于这一个缘故,IIS
Manager走的是HTTPS协议,由此既安全又不与防火墙争辨。默认意况下,Web管理服务应用一个自我分配的申明并且在8172端口上监听。微软在偏下地方提供了用来远程管理的IIS
7.0
Manager:www.iis.net/go/1524。假如还亟需更多资源(包括详细的配置内置的呼吁过滤)

图1:使用效益委派在Web站点级别上布置默认文档

图5:在IIS Manager中配备URL授权规则

图片 4

图片 5

当您启用一台Web服务器的时候,你就把你公司的一有些完全展现给了公众,任凭旁人摆布。Web服务器上的那个能够被远程应用的纰漏可能会变成你的噩梦。一个眼看的例证就是:微软Internet信息服务(IIS)5.0早已就留给了丧失生产力和效劳的不光彩记录。在这之后,微软对IIS举办了根本的双重规划,这一回,他们把安全性放在了第一位。成果显示在IIS
6.0上,它被普遍认为是市场上安全性最高的经贸Web服务器产品(这一点由此Secunia给出的为数仅5条的长治指出可见一斑,见secunia.com/product/1438)。

3.起始Web管理服务。

相关文章