对待ASP网站的攻击,黑客一般会使用ASP木马如海洋顶端ASP木马进行入侵。其实我们只要采取一定的措施就能够有效预防ASP网站被入侵事件的发生。本文重点讨论ASP网站如何防御ASP木马。文中案例所使用的ASP网站平台是在国内有着广泛用户群的动易网站管理系统免费版以及动网论坛免费版,具有一定的代表性。
适合读者:网管、安全爱好者
预备知识:ASP编程
小知识:什么是ASP木马
它是用ASP编写的网站程序。它和其它ASP程序没有本质区别,只要是能运行ASP的空间就能运行它,这种性质使得ASP木马非常不易被发觉。就算是优秀的杀毒软件,也未必能够检测出它到底是ASP木马还是正常的ASP网站程序。这也是为什么ASP木马猖獗的原因。
ASP木马入侵原理
要预防木马的入侵,就要先了解入侵的原理。想通过ASP木马入侵,必须先将木马上传到目标空间,然后直接在客户端浏览器里面运行木马,接着就可以进行文件修改、目录删除等等具有破坏性的工作。
黑客入侵ASP网站一般使用两种方式:
第一种是上传木马后,利用木马以及操作系统漏洞在Windows启动项里添加一个批处理文件,用来添加管理员账号,然后用管理员账号停止防火墙运行和进行文件修改删除等操作。
第二种是上传木马后,直接通过木马删除网站里面的目录和文件。
找准关键对症下药
通过分析可以发现,我们提到的两种入侵方式都是利用ASP网站的上传功能,先上传木马,然后借助木马对文件进行修改删除等操作。简单说来,要做的第一步就是阻止ASP文件的上传;其次,如果被上传了ASP木马,就要杜绝木马的运行。
ASP木马本身就是个ASP文件。所以很关键的一点是限制ASP文件的上传。一般ASP网站本身就有文件上传功能,并且默认是限制了ASP文件的上传,不过黑客能够想方设法上传他们的木马文件。
国内较多见的就是使用桂林老兵网站上传利用工具,可以先将木马文件的扩展名改为JPG或者GIF,进行上传,然后再改回ASP文件。针对这种方法我们该怎么办呢?
安全与便捷并行
要防患于未然,一些前期工作必须先做好。首先就是养成及时备份的习惯;其次,如果你的网站采用ACCESS数据库,那么要保证你网站的主数据库不能以MDB为扩展名,将扩展名改成ASP,这样可以防止黑客直接下载到网站数据库并猜解网站管理员密码;第三,网站管理员密码位数推荐超过12位。
这样即使不小心被下载到数据库,因为一般成熟的ASP网站数据库密码部分都会采用MD5码加密,暴力破解也需要相当长的时间。这些基本的要求如果都做到了,那我们就来看看具体是如何防御ASP木马的。
限制ASP执行权限
虽然无法通过杀毒软件查杀ASP木马,但可以采取其他方法进行有效防范。就知名的动易网站管理系统或者动网论坛来说,默认是允许注册用户上传文件的。黑客可以利用工具将ASP木马伪装后上传至服务器。
关键就在于他们上传文件所存放的目录是固定的,具体说就是通过网站上传的文件只会出现在我们ASP网站程序所指定的目录下。
如果要完全限制网站注册用户上传文件的权限是不现实的。所以,我们能做的第一步,就是禁止ASP文件在此目录的执行权限。目的就是让上传来的ASP木马无法执行。具体方法如下:
打开IIS,右键点击网站里面供上传的目录,点击属性,我们可以看到属性窗口;将此目录的"执行权限"设置成"无";用同样的方法,再将存放数据库的文件夹以及其余几个可供用户上传文件的文件夹的"执行权限"全都设置成"无"。
服务器上的安全设置
即使限制了上传目录的ASP的执行权限,但也无法保证服务器的绝对安全。所以,服务器上面也要进行一些设置。
服务器操作系统以Windows 2003为例,首先当然是要将磁盘转为NTFS格式。其次,可以将默认的Administrator改名,并设置足够位数的密码(推荐12位以上)。为了欺骗黑客,还可以另外建一个名为Administrator的账号,并设置密码,赋予最低权限。
在Windows 2003操作系统里面设置相应文件夹的权限。由于网站做好后一般一段时间都不会随便对源代码进行修改,所以可以对不需要进行修改的地方设置只读权限,仅开放几个上传的文件夹的可写权限。对系统默认的Everyone的权限进行限制,拒绝Everyone的删除以及修改权限。仅在我们需要对网站进行修改的时候,才暂时将此限制去掉。具体操作过程如下:
对存放网站的文件夹点击右键,点击"共享和安全";在安全选项卡上,可以看到属性窗口;为限制Everyone的权限,点击下面的高级按钮;在弹出的"高级安全设置"对话框中的"权限"选项卡上,点击"添加";在"选择用户或组"底下的框中输入名称"Everyone",再点击"确定";
在出现的对话框中勾选"创建文件/写入数据"、"创建文件夹/附加数据"、"删除子文件夹及文件"、"删除"、"更改权限"的拒绝权限,并设置将它应用到"该文件夹及文件"。
同样的方法,再对网站里面的各个子文件夹进行设置,拒绝一些网管对不需要修改的文件夹的更改、写入数据等权限。要注意的是,供网站用户上传文件的文件夹,要保留其写入的权限。
由于Windows的用户组权限是拒绝优先,所以设置好后要测试,供上传的文件夹不能限制其写入权限。
我们做好了这些权限的设置之后,可以自己试着对网站的文件或者文件夹进行改名、删除等操作,看看是否会提示拒绝访问或者没有这个权限。如果测试通过,那么修改是成功的。
以上是笔者在实践中总结出的经验,虽然不能百分百保证网站的安全,不过应该说通过这些设置,网站的总体安全性有了很大的提高。在修改了这些权限设置之后,就算黑客上传了几个木马文件,但上传了也无法运行,不会造成什么后果。