你的SQLServer服务器安全吗?
本文只做技术交流,请勿用于非法用途,出现任何问题,本人概不负责。 上网搜索了一下internetusers这个关键词,发现不少人遇到过这个问题,都是安装了sqlserver,sa密码设置的过于简单造成的,估计入侵者使用了某种批量抓肉鸡的软件。 1、公司A的某产品后台数据库使用的是SQLServer数据库,在服务器端安装时会在数据库中建立一个用户,该用户和SA的权限一样,尽管密码相对复杂一些,但密码都是相同的,一旦泄露出去,数据库服务器的安全肯定会受到威胁,而且产品说明书中并没有说明该用户的存在。公司B和C的产品同样存在这用情况。 出于安全和方便管理考虑,不少软件公司在安装完自己的产品后,会推荐用户购买其他公司的远程接入产品,单从远程接入软件来看,安全措施做的都比较好,都有特征码绑定、KEY等安全功能选择,入侵者无法通过开启服务器的远程桌面服务进行连接控制,但由于SA密码已经泄露,远程接入软件也都存在被攻破的可能。远程接入软件公司J可对接入方的网卡物理地址进行认证,入侵者在获得服务器的SA密码后可以通过Ipconfig /all命令获得服务器的网卡物理地址,然后将自己的计算机网卡物理地址修改成服务器的网卡物理地址,运行远程接入的客户端就可以连接上服务器,进行图形操作了,当然前提是设置中允许服务器远程接入。远程接入软件公司K的接入客户端可以通过服务器开启的web方式下载,但需要在web页面中输入正确的用户名和密码,而web页面的用户名和密码保存在该远程接入软件的安装目录下的某个文件中,入侵者可以通过SA密码使用type命令获取该文件中的信息,用户名是明文,密码则是经过某种(不方便透露)加密的,入侵者破解加密密码获得明文后,就可以登陆到web管理界面的后台,获得分发的接入客户端,运行客户端就可以图形化管理服务器了。 说了这么多的安全隐患,都与使用SQLServer数据库有关,但这不代表SQLServer数据库存在安全问题,恰恰因为SQLServer数据库出色的稳定性和安全性使其得到极为广泛的应用,安全隐患只是软件“偷偷摸摸”建立的数据库用户造成的,使用其他数据库的软件肯定也存在类似隐患,只是笔者没有测试过,特此说明,以免引起大家的误会。在数据库中添加用户似乎是某些软件公司的“潜规则”,我想软件公司的目的是好的,是为了方便用户,让用户只需要把精力放在前台的程序操作上,而不需要关心后台是如何运作的,却忽视了安全这个环节,如果能在安装应用程序时让用户自己设置数据库新用户的密码,并将该密码加密后保存在配置文件中,这样会更安全和灵活,相信聪明的程序员一定会解决这个问题。 在互联网上有非常多的服务器运行着上面这些有安全隐患的软件,这些服务器或拥有固定ip地址,或使用花生壳、每步等软件解析,谁家的孩子,谁家清楚,希望这篇文章能引起所有软件公司对产品安全的重视,不要因为你们的疏忽而让数据库服务器的安全性受到威胁,让广大的系统维护人员和网管员背黑锅。这里介绍两个查看SQLServer服务器是否被入侵的方法: 1、入侵者入侵后一般会开服务器的3389,建立隐藏用户,然后登录。我们只要到C:Documents and Settings这个目录下看看是否有可以的用户名就可以了,不管是不是隐藏的用户,都会在这里显示出来。 2、有些入侵者喜欢留一个有高权限的sqlserver数据库用户,当作后门,我们可以打开登陆sqlserver的查询分析器,然后依次打开master--系统表--dbo.sysxlogins(sqlserver2000下,sql2005和2008下,小王没找到如何查看数据库用户的方法,如果您知道请指点),在这个窗口的name列中可以看到sqlserver数据库的用户,一般情况下会有3个用户,一个是sa,一个BUILTINAdministrators,还有一个是NULL,如果还存在其他用户,就有可能是被人入侵了或者是我上面讲的那些情况,就需要注意点了,当然不一定就那三个用户,小王还见过name下有多个sa和NULL的,但不知道是怎么回事,具体问题还需要具体分析。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |