现在国内有许多个人或者公司都建立了网站,网站已经成为日常生活的一部分,而网络钓鱼、网络诈骗、网络盗号等安全问题层出不穷。对于企业网站安全来讲,其网页挂马危害最大,如今的挂马者主要追寻商业利益,木马程序多是量身订做的,隐蔽性强,危害性大,加上近两年来,许多黑客站点以及网络安全培训的兴起,作为一名“工具”黑客,不需要太多的专业知识,只需要看看录像,学会使用软件工具即可,在这种情况下对于企业网站的安全维护已经成为网络安全的一个研究课题,本文就企业网站的安全维护,尤其是网页木马的防范进行了探讨。
对于企业网站来讲,其安全主要受制以下一些因素:
(1)租用服务器安全。租用服务器安全主要取决于该ISP提供商或者虚拟主机等服务提供商自身安全水平。如果该服务器安全无法得到一定程度上的保证,那么个人及其商业网站就无法得到保证。服务器安全主要是指服务器系统设置,补丁更新,防火墙设置,IIS安全设置,杀毒软件设置等。
注意:现在有很多个人为了追求商业利益,自己随便整一个服务器然后就开始了虚拟主机等服务,这些服务器的安全性往往很差,因此在找虚拟主机和网站空间时一定要认真选择,考虑综合实力相对较强的,否则服务器老是出问题会影响个人(公司)网络业务的开展。
(2)网站程序安全。在服务器保证安全的前提下,程序Bug是网站安全的重大隐患。加上不少商业和个人网站采用第三方程序,第三方程序一旦出现安全漏洞,个人和商业网站极易受到攻击。
(3)维护安全。维护安全主要是指当程序交付后并正式运行以后,网站需要单独的维护人员进行维护。对于个人网站来说,程序的维护往往通过Ftp相关程序上传新的程序文件来进行更新维护。如果ftp口令或者数据库口令被泄漏,其风险是不言而喻的。
对于个人或者商业网站,入侵者在入侵成功以后,主要有以下目的:
(1)获取相关有用信息。例如获取网站中的注册用户Email等个人信息,还有就是有针对性的获取商业信息。
(2)作为入侵平台,在网站“挂马”。网站“挂马”是入侵者的惯用伎俩,主要利用操作系统漏洞,通过一些程序生成脚本文件或者网页,放入或者嵌入网站网页中,当用户访问时,木马程序会被下载到本地并偷偷执行。
(3)兴趣所致。入侵者或者安全爱好者进行实际技术的演练,或者就是一种入侵爱好。
以上对企业网站的安全隐患进行了分析,对于网站管理人员如何来进行维护呢?其实很简单,通过笔者的分析研究,可以归纳为“一看”、“二查”、“三删”、“四堵”。下面分别进行分析。
1、“一看”主要是指打开网站主页时进行观察。对于初级的挂马者而言,往往通过在网页中加入一段挂马代码。这段代码可能是js,可能是css,也可能是一段纯粹的html代码。其代码可能为以下三种:
说明:现在的杀毒软件也非常厉害,当访问的网站中存在网页木马,杀毒软件会自动查杀的。
如果在网站挂马以后,往往会产生一些表象,仔细观察会发现,在网站挂马以后,如果没有对地址栏进行处理,在用IE等浏览器打开时,浏览器地址栏会访问其它地址(图1)。
一般情况下是不会访问其它网站地址,这些地址往往就是挂马的地址,而且一些处理不好的挂马代码会导致一些错误提示,该错误提示一般在浏览器左下角以“黄色三角形”标识,双击该“黄色三角形”会显示具体的错误代码(图2),这些错误代码有可能是挂马站点未处理好,也有可能是挂马者在挂马时未处理好挂马代码。
注意:对于初级的挂马者,其网页木马源代码可能没有加密,而大多数老手都对网页木马源程序进行了加密,而且极有可能是多次加密。目前网上有很多提供网页加解密的网站(图3,图4,图5),一般来讲有以下一些:
(1)通过Unicode码的转换实现的加密解密,但经过实验,中文文字太多会导致将你的页面代码膨胀,英文反会有压缩效果。
(2)带密钥的加解密
(3)Base64编码加密,关于Base64编码加解密可以参考网页[url]http://www.dbxk.com/article/article/36/2005-12/20051228170628.html[/url] 以及[url]http://www.tyhome.com.cn/show_jdyk.asp?id=650[/url]
(4)md5的加密
(5)微软的Encode加解密。微软提供了一个专业的网页脚本加密工具。加密时应只加密脚本部分,不加密脚本标记<script language="javascript">,并且加密后脚本标记应改为:<script language="JScript.Encode">
(6)8进制和16进制转义字符串加解密
(7)10进制和16进制HTML编码加解密
(8)escape加解密。escape()方法可以处理任何字符串对象或表达式。它返回一个 string 对象。其中所有的非字母字符被转换成按照%××表示的数字,××表示非字母字符对应的十六进制数。
(9)JS脚本加解密,Js脚本加解密有一个做的比较好的站点,大家可以直接访问:[url]http://dohi.cn/soft/MonyerEn.html[/url]以及[url]http://www.hao123.com/haoserver/jmjm.htm[/url]
2.“二查”主要是查看源代码。当然前面的观察也可以作为“二查”的依据,比如在浏览器访问该网站时,在地址栏中发现网站在访问其它地址,那么该地址可以作为查看挂马所在网页的一个最直接的方法,可以通过FrontPageXp等网页编辑工具直接在站点中查找包含该地址的Html网页。
注意:在查找时要选择在Html中查找。
通过研究分析发现,挂马代码会直接以html方式显示,一般用户非管理员可以直接查看怀疑有挂马的网页源代码。方法为:在浏览器中单击“查看”-“查看源文件”就可以通过记事本打开,可以找到挂马代码。其效果如图6所示。
3.“三删”主要是指在站点中删除入侵者加入的挂马代码。对于普通用户来讲,如果发现有人在挂马,可以通过flashget、迅雷等下载软件直接下载存在挂马的网页,将挂马网页中存在的文件再次下载下来,然后提交给杀毒软件公司,嘿嘿,入侵者的马儿很快就会夭折。对于网站管理员来说,如果发现挂马,那么说明这个站点或者这个站点所在服务器已经失控,这个时候最好的办法就是使用备份文件重新覆盖,千万记得不要将旧的数据库覆盖新的数据库。好的方法是在覆盖时先将网站文件下载到本地做一个备份,以备不测。
4、“四堵”主要是指发现挂马后要及时堵漏。网站被挂马说明网站肯定存在漏洞,这个时候一定要仔细分析和检查。一些可以参考的建议:
(1)使用明小子的domain3.5或者教主的HDSI等SQL注入软件进行注入漏洞扫描,当代码文件不是很多时,手动检查还可以,如果文件较多时,使用软件相对效果会好一些,而且容易发现漏洞。
(2)更换数据库管理员密码。现在很多网站数据库都是采用md5加密,网上有大型md5在线破解数据库,即使复杂的md5密码也是很容易被破解的,因此更换数据库管理密码尤为重要。
(3)更换服务器用户及其相关密码。网站跟服务器相比,显然入侵者会更喜欢服务器,毕竟下蛋的“鸡”比“蛋”重要。防止入侵者开放3389、根植木马等,当然如果条件允许,建议使用备份文件恢复系统。
(4)对服务器做一次完整的安全检查,如果没有进行操作系统的恢复,建议对服务器进行一次完整的安全检查,查看日志、进程、服务、系统文件等。
我们常常在讲,网络安全是相对的,本文也仅仅是抛砖引玉,对网站维护的一个小的方面进行了探讨,作为从事网络安全的我们就应该将安全的东西变成不安全的东西,将不安全的东西变成安全的东西,让我们在网络安全的矛与盾中前进,更加严谨的对待网页木马的防范。