服务热线
终极防御(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
修改成(此行修改后无法在空间内自定义安全级别)
修改成
找到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web_hightrust.config
删除(只win2003有效)
--------------------------------------------------------------------------------------------------------------------------------------------------------
一般防御(以下方法还没办法禁用Process、RegShell,经了解星外虚拟主机管理系统也没有禁掉)
1、禁止跨站、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 (win2012有效)
C:\WINDOWS\system32\wbem\wmiprvse.exe
只给予Administrators组、SYSTEM组“完全控制”,其余用户组删掉,重启IIS生效。
win2008下禁止 Services(1也可行)、UserInfo、SysInfo
找到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG下的 web.config 或者 C:\WINDOWS\Microsoft.NET\Framework\v4.0.50727\CONFIG 下的web.config
搜索:</location>
下面换行加入:
<system.web><identity impersonate="true" />
</system.web>
重启IIS即可。
