1.ASP环境禁用Webshell危险的组件:
regsvr32 /u wshom.ocx
#卸载WScript.Shell 组件
regsvr32 /u shell32.dll
#卸载Shell.application 组件
regsvr32 /u scrrun.dll
#卸载FSO对象
regsvr32 /u msado15.dll
#卸载stream对象
2.ASPX环境调整ASP.NET信任级别,ASPX运行ASPXspy之类的木马会出现错误信息:
编辑Framework配置文件:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config
修改为:
<location allowOverride="false"> #禁止用户自定义级别
<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="High" originUrl=""/> #级别为高,默认为完全
<identity impersonate="true" />
</system.web>
</location>
ASP.NET各信任级别权限如下:
完全:无限制的权限。应用程序可访问任何属于操作系统安全范围的资源。支持所有的特权操作;
高:不能调用未托管代码、不能调用服务组件、写入事件日志、访问 Microsoft 消息队列、访问 OLE DB 数据源;
中:除上述限制外,还限制访问当前应用程序目录中的文件,不允许访问注册表;
低:除上述限制外,应用程序不能与 SQL Server 连接,代码不能调用 CodeAccessPermission.Assert(无断言安全权限);
最低:仅有执行权限。
高级别禁止读取注册表,编辑高级别配置文件:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web_hightrust.config
删除注册表权限:
#http://www.onovps.com
<SecurityClass Name="RegistryPermission" Description="System.Security.Permissions.RegistryPermission,
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
然后配置IIS为net为2.0版本,重启IIS。
cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
aspnet_regiis -i
单一禁止IISSPY还可修改以下文件权限:
/windows/system32/activeds.tlb
#去除文件Users组和Power Users组读取权限