网站服务器被黑被挂马的原因分析及解决方法
很多用户都碰到过这样一些难堪的事,因为服务器的安全漏洞问题,导致其中数据的丢失、权限被非法取得。服务器主要是指那些存放网站数据的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商会给解决问题。我就想问下他们能解决什么呢?那又不是他们的义务。他们能做的就是提供空间,简单的维护。真正能从根本上解决问题的是没有的。
算了,不说了。我抛砖引玉,请高手发表高见。如何做好安全防护。
愿与致立于网站安全的人员进行沟通交流。 |
评分
-
1
查看全部评分
-
|