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

A、卸载WScript.Shell 和 Shell.application 组件,将下面的代码保存为一个.BAT文件执行(分2000和2003系统)  
windows2000.bat regsvr32/u C:\WINNT\System32\wshom.ocxdel C:\WINNT\System32\wshom.ocxregsvr32/u C:\WINNT\system32\shell32.dlldel C:\WINNT\system32\shell32.dll  
windows2003.bat regsvr32/u C:\WINDOWS\System32\wshom.ocxdel C:\WINDOWS\System32\wshom.ocxregsvr32/u C:\WINDOWS\system32\shell32.dlldel 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使用命令:
acls 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探针 
http://www.ajiang.net/products/aspcheck/ (可以测试组件安全性)   

你可能感兴趣的:(windows)