您所在的位置: 首页 > 操作系统 > Windows >

Windows服务器安全设置经验详谈(2)

http://os.51cto.com  2007-01-25 11:45    中国电子政务网  我要评论(0)
  • 摘要:其实,在服务器的安全设置方面,我虽然有一些经验,但是还谈不上有研究,所以我写这篇文章的时候心里很不踏实,总害怕说错了会误了别人的事。本文更侧重于防止ASP漏洞攻击,所以服务器防黑等方面的讲解可能略嫌少了点。
  • 标签:windows设置

卸载最不安全的组件

最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:WINDOWS )

Quoted from Unkown:

regsvr32/u C:WINNTSystem32wshom.ocx

del C:WINNTSystem32wshom.ocx

regsvr32/u C:WINNTsystem32shell32.dll

del C:WINNTsystem32shell32.dll

然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示`×安全`了。

改名不安全组件

需要注意的是组件的名称和Clsid都要改,并且要改彻底了。下面以Shell.application为例来介绍方法。

打开注册表编辑器【开始→运行→regedit回车】,然后【编辑→查找→填写Shell.application→查找下一个】,用这个方法能找到两个注册表项:`{13709620-C279-11CE-A49E-444553540000}`和`Shell.application`。为了确保万无一失,把这两个注册表项导出来,保存为 .reg 文件。

比如我们想做这样的更改

13709620-C279-11CE-A49E-444553540000
改名为 13709620-C279-11CE-A49E-444553540001

Shell.application 改名为 Shell.application_ajiang

那么,就把刚才导出的.reg文件里的内容按上面的对应关系替换掉,然后把修改好的.reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。

下面是我修改后的代码(两个文件我合到一起了):

Quoted from Unkown:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}]

@=`Shell Automation Service`

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}InProcServer32]

@=`C:\WINNT\system32\shell32.dll`

`ThreadingModel`=`Apartment`

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}ProgID]

@=`Shell.Application_ajiang.1`

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}TypeLib]

@=`{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}`

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}Version]

@=`1.1`

[HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}VersionIndependentProgID]

@=`Shell.Application_ajiang`

[HKEY_CLASSES_ROOTShell.Application_ajiang]

@=`Shell Automation Service`

[HKEY_CLASSES_ROOTShell.Application_ajiangCLSID]

@=`{13709620-C279-11CE-A49E-444553540001}`

[HKEY_CLASSES_ROOTShell.Application_ajiangCurVer]

@=`Shell.Application_ajiang.1`

你可以把这个保存为一个.reg文件运行试一下,但是可别就此了事,因为万一黑客也看了我的这篇文章,他会试验我改出来的这个名字的。

防止列出用户组和系统进程

我在阿江ASP探针1.9中结合7i24的方法利用getobject(`WINNT`)获得了系统用户和系统进程的列表,这个列表可能会被黑客利用,我们应当隐藏起来,方法是:

【开始→程序→管理工具→服务】,找到Workstation,停止它,禁用它。

防止Serv-U权限提升

其实,注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。

用Ultraedit打开ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P,修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理。

另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。

利用ASP漏洞攻击的常见方法及防范

一般情况下,黑客总是瞄准论坛等程序,因为这些程序都有上传功能,他们很容易的就可以上传ASP木马,即使设置了权限,木马也可以控制当前站点的所有文件了。另外,有了木马就然后用木马上传提升工具来获得更高的权限,我们关闭shell组件的目的很大程度上就是为了防止攻击者运行提升工具。

如果论坛管理员关闭了上传功能,则黑客会想办法获得超管密码,比如,如果你用动网论坛并且数据库忘记了改名,人家就可以直接下载你的数据库了,然后距离找到论坛管理员密码就不远了。

作为管理员,我们首先要检查我们的ASP程序,做好必要的设置,防止网站被黑客进入。另外就是防止攻击者使用一个被黑的网站来控制整个服务器,因为如果你的服务器上还为朋友开了站点,你可能无法确定你的朋友会把他上传的论坛做好安全设置。这就用到了前面所说的那一大堆东西,做了那些权限设置和防提升之后,黑客就算是进入了一个站点,也无法破坏这个网站以外的东西。

后记

也许有安全高手或者破坏高手看了我的文章会嘲笑或者窃喜,但我想我的经验里毕竟还是存在很多正确的地方,有千千万万的比我知道的更少的人像我刚开始完全不懂的时候那样在渴求着这样一篇文章,所以我必须写,我不管别人怎么说我,我也不怕后世会有千千万万的人对我唾骂,我一个人承担下来,我也没有娘子需要交代的……

因为这其实只是抛砖引玉的做法,从别人的笑声中,我和我的读者们都可以学到更多有用的东西。

(责任编辑:城尘 68476636-8003)



共2页: 上一页 [1] 2
【内容导航】
微软 Windows 7 技术前瞻
DNS服务器安装优化全攻略
浏览器的战国时代
Vista SP1对决XP SP3
LAMP技术精解
 
 验证码: (点击刷新验证码)   匿名发表
  • C#图解教程

  • 作者:苏林,朱晔
  • 本书是一本广受赞誉的C#教程。它以图文并茂的形式,用朴实简洁的文字,并辅之以大量表格和代码示例,精炼而全面地阐述了最新版C..
Copyright©2005-2008 51CTO.COM 版权所有