服务器安全设置之 组件安全设置篇

WindowsServer2003 + IIS6.0 + ASP 服务器安全设置之--组件安全设置篇 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匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。可以使用阿江ASP探针来检测下系统的安全状态。
WindowsServer2003 + IIS6.0 + ASP 服务器安全设置之--组件安全设置篇 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匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。可以使用阿江ASP探针来检测下系统的安全状态。

相关推荐