ASP.NET 安全策略

| |
02:02,13,Nov,2009 | (514/2/0) | 本站原创
首先肯定的是ms有一套完整的“Code Access Security”如下。
Highslide JS

默认情况下,.net的web application都继承“C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config” 配置文件,其中安全相关的有

<location allowOverride="true">
<system.web>
<securityPolicy>
<trustLevel name="Full" policyFile="internal"/>
<trustLevel name="High" policyFile="web_hightrust.config"/>
<trustLevel name="Medium" policyFile="web_mediumtrust.config"/>
<trustLevel name="Low" policyFile="web_lowtrust.config"/>
<trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
</securityPolicy>
<trust level="Full" originUrl=""/>
</system.web>
</location>


这里配置了策略可以被重写 allowOverride=true;
自带的几个策略级别及文件,
默认为FullTrust,而MS对fulltrust的说明是:“Therefore, the Full trust level is mapped to an internal handler and ASP.NET does not add additional policy to the application domain for full-trust applications.”
也就是说在full模式下将不会使用任何额外的安全策略。附一张默认的权限列表,当然被重写后就另当别论。
Highslide JS
到这里已经了解asp.net的shell危险性,防护工作也就简单了。在不伤害业务的情况下应当禁止重写安全策略,或者在适当的节点禁止下级重写安全策略。最终的工作是要配置安全策略,MS有详细的配置方法和文档在这里http://technet.microsoft.com/zh-cn/library/aa302424.aspx,如果你是个懒人可以直接设置为“”或者更低,同时可以配合NT系统本身的FSO权限设置站点根目录的web.config为只读。

有几点要记住
0.FullTrust 是绝对危险的
1.切记要设置逻辑正确的策略,不要被攻击者用shell来重写策略文件。
2.从webshell里执行起来的exe不受asp.net的策略限制。
3.反射是个危险的方法
4.花点时间配置安全策略是一劳永逸的事情
最后编辑: chen 编辑于2009/11/13 02:03
2010/01/03 18:20 #{louceng}dfgdfg4111 Email
很好
2009/11/17 09:50 #{louceng}wwek Homepage
不错好东西·
分页: 1/1 第一页 1 最后页
发表评论
  • 昵称 [注册]
  • 密码 游客无需密码
  • 网址
  • 电邮
打开HTML 打开UBB 打开表情 设置密码加密 记住我