随着各种系统安全漏洞的不断发布及黑客入侵技术和工具的不断增多,企业互联网网站经常受到黑客的攻击和入侵。作为一名网站管理员,最重要的工作就是如何防止网站受到攻击,一旦受到攻击之后如何进行处理并加以有效防范。下面以笔者亲身经历的一起使用IIS构建的ASP网站入侵为例,介绍受到黑客入侵后的整个处理过程,希望能对广大的网站管理人员有所帮助。
从日志文件中寻找蛛丝马迹
用IIS构建的网站可以在建立站点时启用日志记录功能,日志格式采用W3C扩充日志文件格式,默认日志文件存放目录为WinDir%\system32\ LogFiles。为保证日志文件的安全,建议修改其存放路径。系统每天自动生成一个以“ex年月日.log”为文件名的日志文件,记录下所用用户访问网站的日期、时间、用户IP地址、服务器IP地址、服务器端口、访问方法、访问的URL资源、协议状态、用户代理等内容。也可以通过设置IIS日志扩充属性,记录更多的用户访问信息,以备事后查询使用。当网站受到黑客入侵时,服务器便会记录下入侵者的所有活动足迹,因为日志文件中保存了黑客活动的所有记录。
首先,检查网站受到黑客入侵之后在内容上的一些变化,并保存好这些变化和日志文件。通过检查,发现网站的主目录下新增了nhd.asp和x.asp两个ASP文件以及index.htm文件的内容已被修改,据此确定了入侵者的具体时间。
然后,根据建立和修改文件的日期时间,查找服务器当天以及当天以前的所有日志文件。在检查过当天的日志文件后并没有发现入侵者的任何信息。难道黑客删除了入侵后的日志记录?笔者相信黑客在成功上传文件以后都会不由自主地查看和运行一下上传的文件效果,在日志文件中总会留下一些痕迹。功夫不负有心人。通过查找黑客上传文件之前的所有日志文件,终于发现有一个人在使用IP地址为81.214.171.189的计算机查看和运行了nhd.asp和x.asp这两个文件,如图1所示。
通过登录http://www.ip138.com网站,对81.214.171.189这个IP地址进行查验,最终证实了该IP地址确实为黑客在入侵网站时使用的IP地址。至此,黑客的面目已浮出水面。
分析入侵日志,发现安全漏洞
在确定黑客使用的IP地址后,笔者将日志文件中所有与该地址相关的访问记录全部拆离出来。通过对日志记录和黑客上传的这两个文件内容进行分析,发现了网站存在以下安全漏洞。
(一)FrontPage服务器扩展漏洞
现将部分黑客入侵时的日志摘录如下:
2005-05-04 20:00:18 81.214.171.189 - 200.200.200.2 80 POST /_vti_bin/shtml.dll - 200 MSFrontPage/5.0 2005-05-04 20:00:19 81.214.171.189 - 200.200.200.2 80 POST /_vti_bin/_vti_aut/author.dll - 200 MSFrontPage/5.0 2005-05-04 20:00:26 81.214.171.189 - 200.200.200.2 80 POST /_vti_bin/_vti_aut/author.dll - 200 MSFrontPage/5.0 2005-05-04 20:00:31 81.214.171.189 - 200.200.200.2 80 POST /_vti_bin/shtml.dll - 200 MSFrontPage/5.0 2005-05-04 20:00:35 81.214.171.189 - 200.200.200.2 80 POST /_vti_bin/_vti_aut/author.dll - 200 MSFrontPage/5.0 2005-05-04 20:02:10 81.214.171.189 - 200.200.200.2 80 POST /_vti_bin/_vti_aut/author.dll - 200 MSFrontPage/5.0 ……
从上述日志可以看出:入侵者通过FrontPage2000对网站上的/_vti_bin/_vti_aut/author.dll、shtml.dll这两个文件进行了大量的POST操作。这两个文件是在安装FrontPage服务器扩展时生成的。
FrontPage服务器扩展是IIS程序自带的一个选项,它增强了Web服务器的功能,使得创作者能够远程管理和发布网站,例如通过FontPage直接与服务器交互,实现文件的上载、连接到数据源、修改Web授权等操作。在服务器上安装FrontPage 服务器扩展之后,可以在服务器上看到三个二进制文件—admin.dll、author.dll和shtml.dll,分别实现管理、创作、运行支持。这三个二进制文件驻留在_vti_bin虚拟目录中。难道黑客是利用FrontPage服务器扩展功能入侵网站的?
经过测试,笔者发现FrontPage服务器扩展存在严重的安全漏洞。如果在安装IIS的时候选中其中的FrontPage2000服务器扩展,将会造成互联网上的任何人只要使用FrontPage就可以对网站上的文件和目录进行编辑、修改、删除等操作,实现对整个网站的控制。黑客也正是利用该漏洞,实现了nhd.asp和x.asp两个ASP文件的上传以及index.htm文件的编辑修改。由于FrontPage服务器扩展在发送所有命令时均以POST数据发送,故在上面的日志文件中只看到了大量的向author.dll和shtml.dll这两个二进制文件发送的POST请求,而没有看到具体的使用命令。至此黑客入侵网站时利用的安全漏洞已经找到。
(二)ASP服务组件漏洞
在发现黑客入侵时利用的漏洞后,我们又对其上传的nhd.asp和x.asp两个文件的源代码进行了深入分析,发现这两个文件均是当前最为流行的ASP木马程序,程序中综合利用了以下三个ASP组件漏洞。
1.FSO组件漏洞
通过检查程序源代码,发现以下代码:
Set oScript=Server.CreateObject("Wscript.Shell") Set oScriptNet=Server. CreateObject("Wscript.Network") Set oFileSys=Server.CreateObject("Scripting. FileSystemObject") szTmpDir=Trim(Request.Form("tmpdir")) szCmd=Trim(Request.Form("cmd")) call oScript.Run(" cmd.exe /c " & szCmd & " > " & szTmpFile, 0, true) ……
上述代码利用FSO组件漏洞,实现对文件和目录的显示、复制、删除等功能,运行net、netstat等命令。
2.Shell.application组件漏洞
继续向下检查,又发现以下代码:
set shell=server.createobject("shell.application") ……
上述代码利用Shell.application组件漏洞,实现对文件目录的复制、移动以及执行系统中存在的特定程序,但该对象不能执行删除、net、netstat等命令。
3.ADODB.Stream组件漏洞
再继续向下检查,又发现以下代码:
set oStream=Server.CreateObject("ADODB.Stream") ……
上述代码利用ADODB.Stream组件漏洞,实现对文件的复制与上传等操作。
由于ASP服务本身是IIS网站提供的一项服务功能,所以利用以上ASP服务组件漏洞编写的ASP木马程序,不会被杀毒软件查杀,因此也被黑客们称为“永远不会被查杀的后门”。由于其高度的隐蔽性和难查杀性,对网站的安全造成了严重威胁。
采取措施,保证网站安全
(一)FrontPage服务器扩展漏洞防范
删除网站上的FrontPage服务器扩展程序。在以后重装IIS服务时,注意一定不要选择安装该功能,以免给入侵者提供条件。
(二)ASP木马攻击防范
1.FSO木马攻击防范。
一是修改注册表中HKEY_CLASSES_ ROOT\Scripting.FileSystemObject的名称,如改为:FileSystemObject_ Changefsoname。此外,也要修改HKEY_CLASSES_ROOT\Scripting. FileSystemObject\CLSID\项目的值。以后如需调用,只需调用修改后的名称和值即可;
二是可禁止Guest用户使用scrrun.dll来防止调用此组件。命令为:cacls C:\WINNT\system32\scrrun.dll /e/d guests;
三是如不需要使用本组件,可直接在注册表中将其删除。
四是禁止Guests组用户调用cmd.exe。命令为:cacls C:\WINNT\system32\ Cmd.exe/e /d guests。
2.WScript.Shell木马攻击防范。
修改注册表中HKEY_CLASSES_ROOT\WScript.Shell以及HKEY_ CLASSES_ROOT\WScript.Shell.1的名称,如改为:WScript.Shell_ ChangewsName或WScript.Shell.1_ ChangewsName。此外,也要修改HKEY_CLASSES_ROOT\WScript. Shell\CLSID和HKEY_CLASSES_ ROOT\WScript.Shell.1\CLSID项目的值。以后如需调用,只需调用修改后的名称和值即可。如不需要使用本组件,可直接在注册表中将其删除。
3.Shell.Application木马攻击防范。
一是修改注册表中HKEY_CLASSES_ROOT\Shell.Application以及HKEY_CLASSES_ROOT\Shell. Application.1的名称,如改为:Shell.Application_ ChangesaName或Shell.Application.1_ChangesaName。
此外,也要修改HKEY_CLASSES_ ROOT\Shell.Application\CLSID和HKEY_CLASSES_ROOT\ Shell.Application.1\CLSID的值。以后如需调用,只需调用修改后的名称和值即可。二是可禁止Guest用户使用shell32.dll来防止调用此组件。 命令为:cacls C:\WINNT\system32\shell32.dll /e /d guests。三是如不需要使用本组件,可直接在注册表中将其删除。
4.ADODB.Stream木马攻击防范。
修改注册表中HKEY_CLASSES_ ROOT\ADODB. Stream以及HKEY_CLASSES_ROOT\ADODB. Stream.2.5的名称,如改为:ADODB. Stream_ChangeadsNamet和ADODB.Stream.2.5_ ChangeadsName。此外,也要修改HKEY_CLASSES_ ROOT\ADODB.Stream\CLSID和HKEY_CLASSES_ROOT\ ADODB.Stream.2.5\CLSID的值。以后如需调用,只需调用修改后的名称和值即可。如不需要使用本组件,可直接在注册表中将其删除。
归纳起来,上述ASP木马攻击防范措施都是在注册表中将已知的具有安全漏洞的组件改名或删除,均需重启WEB服务后才能生效。
下面介绍一种在Windows 2000 Server操作系统下能够有效防范各类已知和未知ASP木马攻击的方法,使网站管理员轻松实现对个人用户网站空间的访问管理。具体步骤如下:
首先,在操作系统中新建一个人用户,允许他完全控制网站的空间目录。默认该用户定义后加入Users组。定义完成后,将该用户从Users组中删除,将其添加到Guests组。
其次,利用NTFS权限设置功能限制新建用户对磁盘分区的访问功能。在服务器上找到允许新建用户完全控制的网站空间目录,点右键,把目录属性里安全选项的“允许将来自父系的可继承权限传播给该对象”前面的对号去掉,将其中的“Everyone”组从目录访问列表中删除,将新建的用户添加进来,赋予其完全控制权,添加管理员用户,赋予管理员用户对该目录的完全控制权。
注意:一定不要赋予“Guests”组、“IUSR_机器名”这几个账号任何权限。这样,只有管理员和新建用户才能访问此网站空间目录,而ASP木马程序在执行时是以“IUSR_机器名”的身份访问硬盘的,由于其没有权限,也就无法读取硬盘上的文件和目录,无法对其进行操作了。
第三,进入Internet信息服务→选允许新建用户访问的WEB站点→点右键,选属性→目录安全性→点“匿名访问和验证控制”中的“编辑”→在“匿名访问”前面的框中打勾,点“匿名访问使用的账号”后面的编辑,进入匿名用户账号对话框,如图2所示。
点用户名后的“浏览”,选中刚刚在操作系统中新建的用户名称,再输入给该用户定义的密码,两次“确认”。这样,新建的用户除了可以访问网站管理员分配给该用户的网站空间以外,根本无法访问服务器上其他目录和文件,保证了其他用户的网站空间安全。
小结
通过网站受到入侵后的处理与防范,笔者有以下两点体会:
一是IIS安全配置工作非常重要。虽然在网站前面安装了硬件防火墙,只允许互联网用户访问80端口,但如果IIS安装配置不当,仍有可能给黑客入侵提供一定的条件。由于在安装配置IIS时的一次失误,造成了网站被黑客入侵的事件。由此可见,IIS安全配置工作至关重要,只有正确地配置IIS,及时安装IIS安全漏洞补丁,才能保证网站的安全。
二是一定要处乱不惊。在工作中遇到黑客入侵后一定要先注意保存好入侵者留下的各类证据,如系统日志文件、攻击后的画面等,以便事后分析使用。不要急着将系统格式化。黑客入侵网站后,总会在记录文件中留下线索。管理员只要耐心地从各类日志中查找,总会发现黑客的蛛丝马迹,继而通过分析日志,发现网站存在的安全漏洞,并采取有效措施加以防范。只有这样才能防止黑客再次入侵,保证网站的安全运行。
本文来源:塞迪网 作者:佚名