终极防御(CmdShell、IIS Spy、Process、Services、UserInfo、SysInfo、RegShell)
可能影响个别网站正常运行,请测试网站无问题再正式使用这方法。
网站ASP.NET version切换成2.0.50727
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727CONFIGweb.config
<location allowOverride="true"> 修改成 <location allowOverride="false">
<trust level="Full" originUrl="" /> 修改成 <trust level="High" originUrl="" />
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727CONFIGweb_hightrust.config
删除 <SecurityClass Name="RegistryPermission" Description="System.Security.Permissions.RegistryPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
----------------------------------------------------------------------------
----------------------------------------------------------------------------
一般防御(以下方法还没办法禁用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 SettingsAll UsersApplication Data C:Documents and SettingsAll UsersDocuments C:WINDOWSTemp C:WINDOWSIIS Temporary Compressed Files C:WINDOWSsystem32MicrosoftPassport C:WINDOWSMicrosoft.NETFrameworkv1.1.4322Temporary ASP.NET Files C:WINDOWSMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Files C:WINDOWSsystem32inetsrvASP Compiled Templates C:Program FilesZendZendOptimizer-3.3.0 至少取消非Administrators组的运行权限,至于让不让写入,自由发挥。 另外再用ScanRegFindWrite.aspx扫描是否还有其他可写文件夹,如果有,再判断这些可写文件夹是否有执行权限,如果有,去掉执行权限。 3、禁止IIS Spy
C:WINDOWSsystem32activeds.tlb
只给予Administrators组、SYSTEM组“完全控制”,其余用户组删掉,重启IIS生效。
4、禁止Services(1也可行)、UserInfo、SysInfo
C:WINDOWSsystem32wbemwmiprvse.exe
只给予Administrators组、SYSTEM组“完全控制”,其余用户组删掉,重启IIS生效