Alex的博客

本博客的文章均为原创,是本人从事行业多年来所遇见一些小问题的解决心得,希望可以帮助到大家!



ASP.NET安全设置 ASPXSpy的终极和一般防御方法

终极防御(CmdShell、IIS Spy、Process、Services、UserInfo、SysInfo、RegShell)

可能影响个别网站正常运行,请测试网站无问题再正式使用这方法。

网站ASP.NET version切换成2.0.50727

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config

<location allowOverride="true"> 修改成 <location allowOverride="false">

<trust level="Full" originUrl="" /> 修改成 <trust level="High" originUrl="" />

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web_hightrust.config

删除 <SecurityClass Name="RegistryPermission" Description="System.Security.Permissions.RegistryPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

----------------------------------------------------------------------------

----------------------------------------------------------------------------

一般防御(以下方法还没办法禁用Process、RegShell,经了解星外虚拟主机管理系统也没有禁掉)

1、禁止跨站、www.55zm.com Services(4也可行)

为每个网站新建一个系统用户如web_xxx,只属于Guests组、IIS_WPG组。

新建网站文件夹xxx,加入web_xxx权限。

新建应用程序池xxx,属性-标识-配置,输入web_xxx账户密码。

新建网站xxx,属性-主目录-应用程序池,选择xxx。属性-主目录-目录安全性-编辑,输入web_xxx账户密码。

2、禁止CmdShell

原理:文件夹 给运行权限就不给写入权限、给写入权限就不给运行权限。

设置权限时必须应用到所有子目录。

网站文件夹配置权限如图

点击查看原图

一般大部分默认系统盘的文件夹,web_xxx没有写入权限,所以只需修改部分文件夹。

同时,自己新建的文件夹或者软件安装生成的文件夹都需要检查、按"原理"修改。

以下为部分可写可执行文件夹

C:\Inetpub

C:\RECYCLER

C:\wmpub

C:\php

C:\Documents and Settings\All Users\Application Data\

C:\Documents and Settings\All Users\Documents\

C:\WINDOWS\Temp\

C:\WINDOWS\IIS Temporary Compressed Files

C:\WINDOWS\system32\MicrosoftPassport

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files

C:\WINDOWS\system32\inetsrv\ASP Compiled Templates

C:\Program Files\Zend\ZendOptimizer-3.3.0

至少取消非Administrators组的运行权限,至于让不让写入,自由发挥。

另外再用ScanRegFindWrite.aspx扫描是否还有其他可写文件夹,如果有,再判断这些可写文件夹是否有执行权限,如果有,去掉执行权限。

3、禁止IIS Spy

C:\WINDOWS\system32\activeds.tlb

只给予Administrators组、SYSTEM组“完全控制”,其余用户组删掉,重启IIS生效。

4、禁止Services(1也可行)、UserInfo、SysInfo

C:\WINDOWS\system32\wbem\wmiprvse.exe

只给予Administrators组、SYSTEM组“完全控制”,其余用户组删掉,重启IIS生效

浏览2404  评论0  Alex于 2012-6-16 13:06
发言