网站服务器被黑被挂马的原因分析

来源:原创 时间:2009-07-23

很多用户都碰到过这样一些难堪的事,因为服务器的安全漏洞问题,导致其中数据的丢失、权限被非法取得。服务器主要是指那些存放网站数据的WEB服务器、DATA服务器、DNS服务器和MAIL服务器。现在就主要说下WEB服务器为何被挂马以及被黑的原因和解决方法。

首先可以大致分为服务器本身和网站本身两方面情况。

服务器方面如下:

1 SQL数据库注入漏洞。

这个漏洞比较常见,比如说asp+Access注入,Asp+MSSQL注入。Aspx+MSSQL注入等等。

注入漏洞主要是利用ASP程序连接数据库未过滤的情况下,利用select from,update等语句执行任意SQL语句。但是这个漏洞如果在ACcess上使用,那么只能用查询了。ACCESS是封装的数据库。但是SQL就不同了。MSSQL利用的漏洞有很多,比如说权限分配不好,可以通过SQL拓展和权限的薄弱,列目录,差异备份LOG文件,跨库查询,CMD命令行执行。MSSQL的exec等命令。防止这个漏洞的相关方法,就是禁止在GET参数后面使用修改任意字符。比如说"and 1=1"等等。网络上有很多防注入程序。还要注意的几个不起眼的注入特征符。"","%"。%准确来说。是字符经过转码了。可以转换很多种编码。比如说HTML编码。WINHEX等。都可以扰过很多防注入文件。微软的MSSQL是建立在Windows平台的。他有两种方式验证用户,一种是MSSQL用户,一种是Windows身份验证。所以极度不安全就在这里。如果一个攻击者拿到系统权限。那么他可以修改管理员密码。然后利用管理员密码,用Windows身份验证登陆到本机MSSQL,可以查阅对应数据库任何资料。以及修改,删除。还可以建立一个SYSTEM ADMIN权限的SQL帐号。这里一般的解决办法。网管在建立MSSQL管理帐号时,千万切记别采用默认模式登陆。MSSQL如果是用默认的模式登陆的话,那么可以使用Windows用户验证。所以只能采用MSSQL帐户。删除xp_cmdshell等。各个盘都设置权限。不允许MSSQL直接访问盘符根目录。WEB目录名称尽量复杂点。别用Vhost,wwwroot等。这里可以防范基本的攻击者列目录。大家最好是做数据库分离。教大家一个比较变态的数据库分离方法。在服务器装个虚拟机。ViasulPC也可以。就装个Windows2003,如果大家有需要。可以自己租一个服务器。然后自己用共享模式上网,跟虚拟机共享,把数据库放在虚拟机里面。那么数据库也就是在内网了。实际上跟本机一样。现在数据库在外网已经TELNET不进1433了。就算别人得到了数据库服务器也没什么用。前几天在CK空间看了一篇他入侵时碰到的一个有趣的事。数据库分离的。那黑客气的要死。在INETPUB目录写了个骂管理员的ASP文件。如果是用的整站系统。请及时更新关注官方的漏洞和补丁公告。

2 系统漏洞

问:如果我的程序和组件相关的安全都做好了。那么是不是我的服务器就安全了?

答:微软提供的WindowsServer家族服务器版本虽然方便快捷,但是仍然存在着安全隐患。这个跟程序无关。是系统本身的漏洞。一般攻击者都是通过缓冲区溢出漏洞直接获得CMDSHELL或者系统权限。比如说IIS写权限漏洞,可以匿名访问IIS,并且写入ASP木马,获得WEBSHELL。比如说WEBDAV溢出,先用NC监听本地端口。再去溢出对方端口。获得一个CMDSHELL。然后通过管理命令获得远程控制权限。这些漏洞在官方没有提供解决方案之前,是没有办法修复的。如果是Linux系统的话,开放过源码了。大家可以自己修改。但是微软没公布源码。所以要随时关注微软官方发布的公告。有条件和需要的企业可以联系微软公司,申请一套Datacenter服务器系统。这款系统没有在市场发行,是微软专门为客户需要定做的一套系统。价格昂贵。赠送liense。但是安全性非常高。不过申请有点难度。因为datacenter各大企业都没有采用。就是因为它的价格。相关信息可以去看看Microsoft的系列广播和资料。在这里感谢Cloudx的帮助。在我学MCSE的时候,他帮了我很多。还是他要我去MS看广播的。网管们可以随时关注MS公布的补丁。如果对系统漏洞想研究的朋友们。可以去安全焦点或教主的0DAY公布站点随时关注漏洞利用程序的发布。然后再关注下MS的公告。对学习很有帮助。

3 密码

关于密码设置问题。这个是也很容易获得权限的。这都是人为漏洞。比如说某公司员工,为了更容易的记住密码。就随意把密码设置成生日,手机号码,姓名的拼音等。建议大家把密码设置的复杂点。特别是服务器的密码。比如说数据库和系统密码。WEB密码也要好好设置。大小写+符号。长度在10-15位左右。定期换一次密码。这样攻击者在破解你密码的时候。还没破解出来,你又改密码了。关于密码这个问题。千万不要设置成纯数字。如果是纯小写。可以在密码结尾设置2个或者3个好记点的数字。长度最好是12-17位。这个东西我就不说了。一定要把系统Administrator给改名或者停用。Guest停用。然后改名。帐户策略也要设置好。

4 组件和权限

攻击者现在拥有一个系统的帐号。你完全不用害怕他会改动你的IIS组件内设置。你可以把INTER信息服务设置一个密码。然后把系统*。msc复制到你指定的一个文件夹。再设置加密。然后只允许你的帐号使用。接着隐藏起来。那么攻击者改不了你任何组件。也不能查看和增加删除。Wscript。shell删除。 Net。exe删除。 Cmd。exe设置好权限。所有目录全部要设置好权限。如不需要。除WEB目录外。其他所有目录。禁止IIS组用户访问。只允许Administrators组进行访问和修改。还一个变态权限的设置。前面我已经说了MSC文件的访问权限。你可以设置Admin,Admin1,Admin2……,admin只赋予修改权限,admin1只赋予读取和运行权限,admin2只赋予列出文件夹和目录权限,admin3只赋予写入权限,admin4只赋予读取权限。然后每个帐户根据需要分配配额。这样的话。就算有VBS脚本。删除了NET。EXE,对方也提不起权。如果是没运行权限的用户不小心启动了攻击者的木马。那么也没权限运行和修改。Windows提供了屏幕保护功能。建议大家还可以安装一个第三方提供的屏幕保护锁。那样你的系统又可以多一重安全保障。建议大家千万不要使用Pcanywhere等软件。除非你权限设置通过自己的测试了。Pcanywhere有一个文件系统,如果权限没分配好,用户可以通过PCANYWHERE的文件系统,在启动项写木马。然后等待你登陆。大家没这需要。建议就用默认的3389就好了。端口就算改了别人也可以扫出来。还不如就用默认的。攻击者在获得你系统权限并登陆到3389以后。你的第二道安全锁(第三方系统锁)把他死死的锁在外面了。这样别人就进不了你系统了。记住。千万不能乱开权限。不然后果不堪设想。如果是独立服务器。没必要使用WEB时,请把多余的IIS等服务关闭。以免引起不必要的损失。用优化大师禁止远程注册表的访问那些。还有IPC空连接。

关于服务器方面原因我就说这么多。下面在来看下网站方面的原因

1、上传漏洞

2、暴库

3、注入漏洞

4、旁注

现在接触到一些负责网站的人员。他们安全防护知识太差。出现一些常见的问题,就难以解决。像网站被挂马这种情况,他们一般的做法就是简单的清楚掉木马。深层次一点的攻击者所留下来的后门完全没有察觉。就这样子,没有从根本上解决问题。还有一些个人站是从网上下的免费模版建起来的站,虽然便宜,却经常会被黑客挂马,难道就不清楚这些模版的作者留有后门。还有一些是站是放在租用空间里面的,站长还以为出了问题,IDC商会给解决问题。我就想问下他们能解决什么呢?那又不是他们的义务。他们能做的就是提供空间,简单的维护。真正能从根本上解决问题的是没有的。

算了,不说了。我抛砖引玉,请高手发表高见。如何做好安全防护。愿与致立于网站安全的人员进行沟通交流。QQ:254770445

相关文章

A5创业网 版权所有

返回顶部