2013-9-22 4550 0
2013-9-12 4721 0
治根安全

ASP.NET的安全该如何设置,在我们配置好服务器环境后,把该搞好的权限都做好后,往往忽略了asp.net的权限,导致了服务器的不安全,那么ASP.NET的安全该如何设置呢?首先我们得找到ASP.NET的配置文件,位置在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config(注意不同版本红色部分目录可能不一样)找到配置文件后,我们该如何去配置才算安全呢?懒人方法:1.trustlevel设置为"High",如<trustlevel="High"originUrl=""/>2.同时可以配合系统本身的FSO权限设置站点根目录的web.config为只读。备注提示:0.FullTrust是绝对危险的1.切记要设置逻辑正确的策略,不要被攻击者用shell来重写策略文件。2.从webshell里执行起来的exe不受asp.net的策略限制。3.反射是个危险的方法4.花点时间配置安全策略是一劳永逸的事情默认web.config的权限设置节如下:<locationallowOverride="true"><system.web><securityPolicy><trustLevelname="Full"policyFile="internal"/><trustLevelname="High"policyFile="web_hightrust.config"/><trustLevelname="Medium"policyFile="web_mediumtrust.config"/><trustLevelname="Low"policyFile="web_lowtrust.config"/><trustLevelname="Minimal"policyFile="web_minimaltrust.config"/></securityPolicy><trustlevel="Full"originUrl=""/></system.web></location>level:必选的String属性Full:指定无限制的权限。授予ASP.NET应用程序访问任何资源的权限(受操作系统安全性的限制)。支持所有被授予特权的操作。该设置在AspNetHostingPermissionLevel枚举中称为Unrestricted。默认值是Full(无限制)。High:指定高级别的代码访问安全性,这意味着应用程序不能执行下列任何操作。•调用非托管代码。•调用服务组件。•写入事件日志。•访问Microsoft“消息队列”队列。•访问ODBC、OleDb或Oracle数据源。Medium:指定中等级别的代码访问安全性,这意味着除了High限制外,ASP.NET应用程序还不能执行下列任何操作。•访问应用程序目录以外的文件。•访问注册表。Low:指定低级别的代码访问安全性,这意味着除了Medium限制之外,应用程序还不能执行下列任何操作。•写入文件系统。•调用Assert方法来扩展对资源的权限。Minimal:指定最低级别的代码访问安全性,这意味着应用程序只有执行权限。