新手的惨痛教训啊!网站还没有正式上线,服务器就被人破了,苦逼的是还不知道是怎么被破的登录服务器一看,被装了一堆乱七八糟的东西,大部分都是挂马、破解、暴力之类的东西,处理都不知道从何开始处理,只好将系统重装了,又将数据库、各类服务重装了一遍,花了我一整天时间啊。可以这是怎么被破的呢,不找出原因,下次还要被肉鸡啊,想来想去应该就是数据库的密码太弱了,被暴力破解了,因为我的操作系统密码设置的非常复杂,又长。但是数据库被破解,会影响到操作系统吗?带着这个问题,我终于找到了答案,下面这篇文章就是解释为什么通过数据库的破解可以取得操作系统管理员的权限。
所以教训就是:
1,只要服务器挂到互联网上,就有可能成为黑客攻击的目标,即使上面没有有用的东西,把你的操作系统损坏也是很烦人的。
2,凡是有设置密码的地方,都应该把密码设置的尽量复杂、尽量长,而且应该包括大写字母、小写字母、数字、符号等。
3,经常看看系统日志,看看是否有异常。
4,只开启需要的服务。
5,删除多余的用户。
以下这篇文章来自:http://security.zdnet.com.cn/security_zone/2009/0708/1401631.shtml
提到sa弱口令,我们首先就会想到,许多数据库都有1个类似的超级管理员账号,比如:Oracle是"system"和"sys",Sybase也是"sa",MySQL里有"root"(不是UNIX系统账号的那个root)。如果没有设置相对应的密码或者你设的密码强度太低过于简单,那么入侵者就能直接登陆并攻击数据库服务器,他们甚至可以获得你操作系统的*别的权限。说到这里,有的人也许不相信,曾经有人和我说:"数据库被攻破最多你的那些表啊什么的被人家拿走,对方怎么可能获得操作系统最高权限呢?"其实,我并不是在危言耸听,下面我就假设某台SQL Server 2000的数据库的SA密码被破解为例,来看看黑客在取得了数据库权限后如何进1步把自己变成系统的管理员。
目前,网络上有不少此类工具,可以方便那些不熟悉SQL的人用,其实完全不用去下载那种工具,只要用微软自己的SQL Server里自带客户端程序连上去就马上可以轻松的把自己变成整个操作系统的超级管理员了。具体的过程,我就为大家讲解1遍,这里先假设黑客已经通过其他工具暴力破解了你设置的强度教低的sa帐号的弱口令,或者你根本就没有为sa账号设置口令。首先黑客打开SQL Server查询分析器,以sa身份和他刚暴力破解的密码登陆进你的SQL Server数据库,然后他执行以下语句:
xp_cmdshell "net user zxc nopassword /add" go xp_cmdshell "net localgroup /add administrators zxc" go
这时候,你如果打开你的计算机管理-----本地用户和组-----用户,这时候你会发现里面已经多出了1个叫zxc的新账号,查看一下此帐号的属性,你更会发现他竟然隶属于administrators组。
说到这里大家肯定都明白了,对,黑客通过调用SQL Server的系统数据库master里的xp_cmdshell这个扩展存储过程轻松的将他自己变成了你服务器上的超级管理员,那么以后他还有什么事情会干不了呢。
因此,如果大家在平时不需要调用此存储过程的话,可以考虑将它删除,当然不管你平时是不是要调用此存储过程,你都应该为你的sa账号设置1个十分健壮的密码,这是最根本、最重要的,你可以打开SQL Server的企业管理器,然后选择安全性-----登陆,右击sa账号,选择属性,然后在属性对话框里修改您的sa帐号所对应的密码,这里我建议你要尽可能的设置的复杂些,可以用英文字母结合数字结合特殊符号等,这样就可以防止黑客对此帐号的暴力破解,当然最好是在安装您的SQL Server的时候就已经完成此项工作,以免日后因人为遗忘等原因带来安全隐患。