公司新闻资讯
行业新闻资讯
工程解决方案
典型工程案例
产品详分类列表
网络摄像机疑问
常见问题解答
信息反馈中心
在线订购
会员中心
联系我们
乘车路线
新世纪安防商城
中国都市安防网
English
  繁體中文  
邮 件 列 表
 
问题解答  
【 字体: 】【打印此页】  
几个关键ASP组件漏的问题的解决方法-江苏省|南京市|防盗器|防盗器材|监控器材|防贼防偷|报警器|报警器材|安防器材典型企业 江苏省南京市戎宁安防科技有限公司 --欢迎您!专业于华东地区,江苏,南京市 企业,公司,店铺,家庭的安防,防盗,监控,探头,红外,门磁,报警器,报警防盗,监控,家庭防盗器
几个关键ASP组件漏的问题的解决方法

发布日期:[2008-4-16]    共阅[776]次
    还是几个关键ASP组件漏的问题。

① 删除或更名以下危险的ASP组件:

  WScript.Shell、WScript.Shell.1、Wscript.Network、Wscript.Network.1、adodb.stream、Shell.application

  开始------->运行--------->Regedit,打开注册表编辑器,按Ctrl+F查找,依次输入以上 Wscript.Shell等组件名称以及相应的ClassID,
然后进行删除或者更改名称(这里建议大家更名,如果有部分网页ASP程序利用了上面的组 件的话呢,
只需在将写ASP代码的时候用我们更改后的组件名称即可正常使用。
当然如果你确信你的ASP程序中没有用到以上组件,还是直接删除心中踏实一些 ^_^,
按常规一般来说是不会做到以上这些组件的。删除或更名后,iisreset重启IIS后即可升效。)

  [注意:由于Adodb.Stream这个组件有很多网页中将用到,所以如果你的服务器是开虚拟主机的话,建议酢情处理。]

  ② 关于 File System Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)即常说的FSO的安全问题,如果您的服务器必需要用到 FSO的话,
(部分虚拟主机服务器一般需开FSO功能)
可以参照本人的另一篇关于FSO安全解决办法的文章:Microsoft Windows 2000 Server FSO
安全隐患解决办法。如果您确信不要用到的话,可以直接反注册此组件即可。

  ③ 直接反注册、卸载这些危险组件的方法:(实用于不想用①及②类此类烦琐的方法)

  卸载wscript.shell对象,在cmd下或直接运行:regsvr32 /u %windir%\system32\WSHom.Ocx

  卸载FSO对象,在cmd下或直接运行:regsvr32.exe /u %windir%\system32\scrrun.dll

  卸载stream对象,在cmd下或直接运行: regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"

  如果想恢复的话只需要去掉 /U 即可重新再注册以上相关ASP组件例如:regsvr32.exe %windir%\system32\scrrun.dll






卸载这些危险组件的方法:(实用于不想用①及②类此类烦琐的方法)

卸载wscript.shell对象,在cmd下或直接运行:regsvr32 /u %windir%\system32\WSHom.Ocx

卸载FSO对象,在cmd下或直接运行:regsvr32.exe /u %windir%\system32\scrrun.dll

卸载stream对象,在cmd下或直接运行: regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"


如果想恢复的话只需要去掉 /U 即可重新再注册以上相关ASP组件例如:regsvr32.exe %windir%\system32\scrrun.dll

防止海洋木马列出WIN服务器的用户和进程

禁用服务里面倒数第二个 workstation 服务,可以防止列出用户和服务

c:\
administrators 全部
system 全部
iis_wpg 只有该文件夹
列出文件夹/读数据
读属性
读扩展属性
读取权限

c:\inetpub\mailroot
administrators 全部
system 全部
service 全部

c:\inetpub\ftproot
everyone 只读和运行

c:\windows
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
IIS_WPG 读取和运行,列出文件夹目录,读取
Users 读取和运行(此权限最后调整完成后可以取消)

C:\WINDOWS\Microsoft.Net
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
Users 读取和运行,列出文件夹目录,读取
'www.knowsky.com
C:\WINDOWS\Microsoft.Net
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
Users 读取和运行,列出文件夹目录,读取

C:\WINDOWS\Microsoft.Net\temporary ASP.NET Files
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
Users 全部

c:\Program Files
Everyone 只有该文件夹
不是继承的
列出文件夹/读数据
administrators 全部
iis_wpg 只有该文件夹
列出文件/读数据
读属性
读扩展属性
读取权限

c:\windows\temp
Administrator 全部权限
System全部权限
users 全部权限

c:\Program Files\Common Files
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
TERMINAL SERVER Users(如果有这个用户)
修改,读取和运行,列出文件夹目录,读取,写入
Users 读取和运行,列出文件夹目录,读取

c:\Program Files\Dimac(如果有这个目录)
Everyone 读取和运行,列出文件夹目录,读取
administrators 全部

c:\Program Files\ComPlus Applications (如果有)
administrators 全部

c:\Program Files\GflSDK (如果有)
administrators 全部
Creator owner
不是继承的
只有子文件夹及文件
完全
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部
TERMINAL SERVER Users
修改,读取和运行,列出文件夹目录,读取,写入
Users 读取和运行,列出文件夹目录,读取
Everyone 读取和运行,列出文件夹目录,读取

c:\Program Files\InstallShield Installation Information (如果有)
c:\Program Files\Internet Explorer (如果有)
c:\Program Files\NetMeeting (如果有)
administrators 全部

c:\Program Files\WindowsUpdate
Creator owner
不是继承的
只有子文件夹及文件
完全
administrators 全部
Power Users
修改,读取和运行,列出文件夹目录,读取,写入
system 全部

c:\Program Files\Microsoft SQL(如果SQL安装在这个目录)
administrators 全部
Service 全部
system 全部

d:\ (如果用户网站内容放置在这个分区中)
administrators 全部权限

d:\FreeHost (如果此目录用来放置用户网站内容)
administrators 全部权限
SERVICE 读取与运行

从安全角度,我们建议WebEasyMail(WinWebMail)安装在独立的盘中,例如E:
E:\(如果webeasymail安装在这个盘中)
administrators 全部权限
system 全部权限
IUSR_*,默认的Internet来宾帐户(或专用的运行用户)
读取与运行
E:\WebEasyMail (如果webeasymail安装在这个目录中)
administrators 全部
system 全部权限
SERVICE全部
IUSR_*,默认的Internet来宾帐户 (或专用的运行用户)
全部权限

C:\php\uploadtemp
C:\php\sessiondata
everyone
全部

C:\php\
administrators 全部
system 全部权限
SERVICE全部
Users 只读和运行

c:\windows\php.ini
administrators 全部
system 全部权限
SERVICE全部
Users 只读和运行


修改该Clsid的值而禁用该组件,如将注册表中HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID的值0D43FE01-F093-11CF-8940-00A0C9054228改成0D43FE01-F093-11CF-8940-00A0C9054229(改了最后面一位),这时候的写法为:

CF-8940-00A0C9054229">


来源:骨头's blog

以下是我服务器的安全配置情况,写得没好,请没要介意.也没要拿砖头砸我

一.磁盘权限的设置

c:\
Administrators 完全控制
System 完全控制
Users 读取 读取运行 列出文件夹目录(为了让防盗链能正常运行)
Guest 拒绝所有权限.并只应用到“只有该文件夹”

C:\Documents and Settings
Administrators 完全控制
System 完全控制

C:\Documents and Settings\All Users
Administrators 完全控制
System 完全控制

C:\php
读取 读取运行 列出文件夹目录

C:\Program Files
Administrators 完全控制
System 完全控制

C:\Program Files\Common Files\System
把Everyone权限加上去,赋予 读取 读取运行 列出文件夹目录权限

C:\WINDOWS
Administrators 完全控制
System 完全控制
IIS_WPG 读取 读取运行 列出文件夹目录,并应用到“只有子文件夹及文件”

Users 读取 读取运行 列出文件夹目录,并应用到“只有该文件夹”
C:\WINDOWS\system32
Administrators 完全控制 System 完全控制
Everyone 读取 读取运行 列出文件夹目录,并应用到“只有子文件夹及文件”

搜索 cmd.exe net.exe net1.exe cacls.exe tftp.exe ftp.exe
赋予Administrators完全控制权限.并将C:\WINDOWS\ServicePackFiles\i386目录下面多余的删掉!

D盘看不到,不用管

E:\
Administrators 完全控制

E:\web
Administrators 完全控制

e:\web下面是网站目录,每个站点使用独立的匿名用户,这个不用多说了.

F:\
Administrators 完全控制

f:\web

administrators 完全控制
f:\web下面也是用户目录。。。自己设置权限去...

服务器上有2个PHP的站点.因为PHP的安全机制
设置的权限有所不同.
F:\web\www.ndsman.net
administrators 完全控制
system 完全控制
everyone 完全控制,不是继承的.点高级-把那个勾去掉
F:\web\www.ndsman.net\sb 是网站目录
administrators 完全控制
system 完全控制
www.ndsman.net 除了完全控制以外,全部赋予

F:\web\www.xzhy.cn 这个也是PHP的,设置权限如上,不再重复.

另:E:\web\IIS备份 此目录下是IIS站点配置备份.建立站点时直接导入就可,E:\2盘\bak\建立网站用户的批处理.BAT 直接运行就会自动建立网站匿名帐户.

二.系统安全设置

1.启用Windows自带防火墙,并开放80 21 3306 52013 端口.(想开什么端口自己加)

2.删除以下的注册表主键:
WScript.Shell
WScript.Shell.1
Shell.application
Shell.application.1
WSCRIPT.NETWORK
WSCRIPT.NETWORK.1

regsvr32 /u wshom.ocx回车、regsvr32 /u wshext.dll回车

3.删除没有必要的储存过程
use master
EXEC sp_dropextendedproc 'xp_cmdshell'
EXEC sp_dropextendedproc 'Sp_OACreate'
EXEC sp_dropextendedproc 'Sp_OADestroy'
EXEC sp_dropextendedproc 'Sp_OAGetErrorInfo'
EXEC sp_dropextendedproc 'Sp_OAGetProperty'
EXEC sp_dropextendedproc 'Sp_OAMethod'
EXEC sp_dropextendedproc 'Sp_OASetProperty'
EXEC sp_dropextendedproc 'Sp_OAStop'
EXEC sp_dropextendedproc 'Xp_regaddmultistring'
EXEC sp_dropextendedproc 'Xp_regdeletekey'
EXEC sp_dropextendedproc 'Xp_regdeletevalue'
EXEC sp_dropextendedproc 'Xp_regenumvalues'
EXEC sp_dropextendedproc 'Xp_regread'
EXEC sp_dropextendedproc 'Xp_regremovemultistring'
EXEC sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask

(本人建议直接找对应的DLL文件删除比较保险)

4.禁用Workstation服务,防止ASP木马列出用户.

5.关闭默认共享防止LAN内IPC入侵。可以用批处理来实现.如下:
echo off
net share c$ /del
net share d$ /del
net share e$ /del
net share f$ /del
保存为bat放到C:\Documents and Settings\All Users\「开始」菜单\程序\启动 即可

6.定时重启IIS服务及SQL服务.释放资源.可以用计划任务来实现.怎么弄自己想去。

7.设置终端登陆权限,只允许授权用户登陆.开始-程序-管理工具-终端服务配置-RDP-属性-权限
Administrator
chadmin
system
完全控制,不过尽管这样还是有一定的不安全,克隆个帐户就得了.建议限制IP登陆.尽管这样还是不安全滴,人家可以映射终端端口.最好的就是把服务器搞得上没得网.用IP安全策略可以做到.

8.Serv-U改一下本地管理密码,防止本地溢出.设置一下FTP域安全性,选择允许SSL/TLS和规则会话.

OK.就照着这样设置就行了,又安全又不影响第三方软件使用.每台服务器的权限配置都不一样,不要照搬了.服务器升天我不负责.这样设置防防点小菜鸟应该足够啦.哈~
A、卸载WScript.Shell 和 Shell.application 组件,将下面的代码保存为一个.BAT文件执行(分2000和2003系统)
  windows2000.bat
  regsvr32/u C:\WINNT\System32\wshom.ocx
  del C:\WINNT\System32\wshom.ocx
  regsvr32/u C:\WINNT\system32\shell32.dll
  del C:\WINNT\system32\shell32.dll
  windows2003.bat
  regsvr32/u C:\WINDOWS\System32\wshom.ocx
  del C:\WINDOWS\System32\wshom.ocx
  regsvr32/u C:\WINDOWS\system32\shell32.dll
  del C:\WINDOWS\system32\shell32.dll
  B、改名不安全组件,需要注意的是组件的名称和Clsid都要改,并且要改彻底了,不要照抄,要自己改
  
  【开始→运行→regedit→回车】打开注册表编辑器
  然后【编辑→查找→填写Shell.application→查找下一个】
  用这个方法能找到两个注册表项:
  {13709620-C279-11CE-A49E-444553540000} 和 Shell.application 。
  第一步:为了确保万无一失,把这两个注册表项导出来,保存为xxxx.reg 文件。
  第二步:比如我们想做这样的更改
  13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001
  Shell.application 改名为 Shell.application_nohack
  第三步:那么,就把刚才导出的.reg文件里的内容按上面的对应关系替换掉,然后把修改好的.reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。
  其实,只要把对应注册表项导出来备份,然后直接改键名就可以了,
  改好的例子
  建议自己改
  应该可一次成功
  Windows Registry Editor Version 5.00
  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}]
  @="Shell Automation Service"
  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\InProcServer32]
  @="C:\\WINNT\\system32\\shell32.dll"
  "ThreadingModel"="Apartment"
  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\ProgID]
  @="Shell.Application_nohack.1"
  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\TypeLib]
  @="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"
  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\Version]
  @="1.1"
  [HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\VersionIndependentProgID]
  @="Shell.Application_nohack"
  [HKEY_CLASSES_ROOT\Shell.Application_nohack]
  @="Shell Automation Service"
  [HKEY_CLASSES_ROOT\Shell.Application_nohack\CLSID]
  @="{13709620-C279-11CE-A49E-444553540001}"
  [HKEY_CLASSES_ROOT\Shell.Application_nohack\CurVer]
  @="Shell.Application_nohack.1"
  老杜评论:
  WScript.Shell 和 Shell.application 组件是 脚本入侵过程中,提升权限的重要环节,这两个组件的卸载和修改对应注册键名,可以很大程度的提高虚拟主机的脚本安全性能,一般来说,ASP和php类脚本提升权限的功能是无法实现了,再加上一些系统服务、硬盘访问权限、端口过滤、本地安全策略的设置,虚拟主机因该说,安全性能有非常大的提高,黑客入侵的可能性是非常低了。注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。下面是另外一种设置,大同小异。
  一、禁止使用FileSystemObject组件
  FileSystemObject可以对文件进行常规操作,可以通过修改注册表,将此组件改名,来防止此类木马的危害。
  HKEY_CLASSES_ROOT\Scripting.FileSystemObject\
  改名为其它的名字,如:改为 FileSystemObject_ChangeName
  自己以后调用的时候使用这个就可以正常调用此组件了
  也要将clsid值也改一下
  HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\项目的值
  也可以将其删除,来防止此类木马的危害。
  2000注销此组件命令:RegSrv32 /u C:\WINNT\SYSTEM\scrrun.dll
  2003注销此组件命令:RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll
  如何禁止Guest用户使用scrrun.dll来防止调用此组件?
  使用这个命令:cacls C:\WINNT\system32\scrrun.dll /e /d guests
  二、禁止使用WScript.Shell组件
  WScript.Shell可以调用系统内核运行DOS基本命令
  可以通过修改注册表,将此组件改名,来防止此类木马的危害。
  HKEY_CLASSES_ROOT\WScript.Shell\及HKEY_CLASSES_ROOT\WScript.Shell.1\
  改名为其它的名字,如:改为WScript.Shell_ChangeName 或 WScript.Shell.1_ChangeName
  自己以后调用的时候使用这个就可以正常调用此组件了
  也要将clsid值也改一下
  HKEY_CLASSES_ROOT\WScript.Shell\CLSID\项目的值
  HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\项目的值
  也可以将其删除,来防止此类木马的危害。
  三、禁止使用Shell.Application组件
  Shell.Application可以调用系统内核运行DOS基本命令
  可以通过修改注册表,将此组件改名,来防止此类木马的危害。
  HKEY_CLASSES_ROOT\Shell.Application\
  及
  HKEY_CLASSES_ROOT\Shell.Application.1\
  改名为其它的名字,如:改为Shell.Application_ChangeName 或 Shell.Application.1_ChangeName
  自己以后调用的时候使用这个就可以正常调用此组件了
  也要将clsid值也改一下
  HKEY_CLASSES_ROOT\Shell.Application\CLSID\项目的值
  HKEY_CLASSES_ROOT\Shell.Application\CLSID\项目的值
  也可以将其删除,来防止此类木马的危害。
  禁止Guest用户使用shell32.dll来防止调用此组件。
  2000使用命令:cacls C:\WINNT\system32\shell32.dll /e /d guests
  2003使用命令:cacls C:\WINDOWS\system32\shell32.dll /e /d guests
  注:操作均需要重新启动WEB服务后才会生效。
  四、调用Cmd.exe
  禁用Guests组用户调用cmd.exe
  2000使用命令:cacls C:\WINNT\system32\Cmd.exe /e /d guests
  2003使用命令:cacls C:\WINDOWS\system32\Cmd.exe /e /d guests
  通过以上四步的设置基本可以防范目前比较流行的几种木马,但最有效的办法还是通过综合安全设置,将服务器、程序安全都达到一定标准,才可能将安全等级设置较高,防范更多非法入侵。
  C、防止Serv-U权限提升 (适用于 Serv-U6.0 以前版本,之后可以直接设置密码)
  
  先停掉Serv-U服务
  用Ultraedit打开ServUDaemon.exe
  查找 Ascii:LocalAdministrator 和 #l@$ak#.lk;0@P
  修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理。
  另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。
【 字体: 】【打印此页】 【返回】【顶部】【关闭】  
 
用户名:
密  码:

忘记密码?

请输入搜索关键字:

Copyright (c)2006-2008 ronist .com All rigths reserved. 
 

版权所有:nanking ronist.com
苏ICP备07017706号  公司介绍最新动态人才招聘  |  营销网络  |  公司邮局  |  联系我们  | 版权声明  | 管理