SQLServer和MySQL的安全性分析_第1页
SQLServer和MySQL的安全性分析_第2页
SQLServer和MySQL的安全性分析_第3页
SQLServer和MySQL的安全性分析_第4页
SQLServer和MySQL的安全性分析_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、sql server和mysql的安全性分析大型网站-般使用oracle或db2,而屮小型网站大多数使用史加灵活小巧的sql server数据庳或者mysql数据庳。那么,在同样的条件卜,微软的sql server和免费 的mysql哪个更加安全呢?数裾库是电了商务、金融以及erp系统的拣础,通常都保存着重要的商业伙伴和客户信息。大多数企业、组织以及政府部门的电子数据都保存4:各种数据库中,他们用这些数据库保存一些个人资料,还掌握着敏感的金融数裾。但是数据库通常没有像做系统和网络这样在安全性上受到熏视。数裾是企业,组织的命脉所在,因此选择一款安全的数裾库是至关東要的。人型网站一般使川oracl

2、e或db2,而屮小型网站人多数使川更加灵活小巧的sqlserver数据库或者mysql数据库。那么,在同样的条件下,微软的sql server和免费的mysql哪个更加安全呢?我在我的机子上面川管理员帐号默认安装了 mssql和mysql以便在相同的情况h则试他们的安全性。我的系统配置如卜':操作系统microsoft windows 2000 version5.0,安装了 sp4, ftp服务和iis服务,支持asp和php。系统只有一个管理员帐号admin,guest帐号没有禁川。一.系统内部安全性分析1 -mysql数据库权限控制问题mysql的权限控制是基于mysql这个数据库

3、的,叫做授权表,一共包括包括六个表 columns_priv, db,func, host, tables_priv 和 user。先使用 desc user 命令查看非常熏要的user表的结构以便查询内容,现在可以查看他的权限设置了。使用命令selecthost,user,password,delete_priv,update_priv,drop_priv from user;这个命令査看/几个比较危险的权限,姑示结果如下:mysql> select host5user,password,delete_priv,update_priv,drop_priv fromuser;| host

4、 | user | password | delete_priv | update_priv | drop_priv | localhost | root 10e4941 f53f6fa106 | y | y | y | % | root | | y | y | y | localhost | | | y | y | y |d11111h4 rows in set (0.00 sec)第一条表示在木机使用root用密码登陆,拥科删除记录,修改记录,删除表等权限,好,这是安全的。第二条表示在任何主机使用root不需密码登陆,拥有删除记录,修改记录,删除表等权限。第三条表示在本机匿名登陆,拥侖删除

5、记录,修改记录,删除表等权限。最后条表示可以再任何主机匿名登陆,但是没有任何权限。显然,第二,三,叫都是不安全的!第二条不用说,就第三条而言,就算你在本地是guest权限,俏是也可以登陆mysql 数据序,而且拥奋全部权限。这样,就讨以对数据厍为所欲为了。解决方法:如果你不需耍远程维护,册齢棹第二条,delete什0阳user wherehost=h%h and user="root"或者给它加个强壮的密码。删除第三条,delete fromuser where host="localhost” and user=”;2. mysql安装目录权限问题mysql默认

6、安装到c:mysql,但是c盘默认是everyone完全控制,由于权限的继承性,c:mysql对everyone也是完全控制的,显然这样是不安全的。因为恶意用户可以删除重耍的数据文件。解决方法:重新没ffi mysql 0录的存取权限。或者将mysql安装到其他0录,如果你移动 mysql 分发到 d:mysql,你就必须使用用 d:mysqlbinmysqld basedird:mysql来启动mysqld,s至还需要修改它的配置文件。3. mssql数据库权限控制问题mssql数据库的权限控制是基于master库的syslogins表,拥有所有权限的帐号是sa,其他还有sysadmin,d

7、b_owner等不同权限帐号。供是,mssql数据库最高权限帐号sa的默认密码是空,这样如果安装的吋候不注意,就会给数据带來毁灭性的灾难。恶意攻击者可以修改,删除所存数裾,更加重要的是mssql帐号可以利用扩展执行系统命令。解决方法:定期检査所有登陆帐号,查肴是否有不符合要求的密码。use masterselect name,password from syslogins where password is null 命令检查是否有空口令帐号存在。尽可能的删除存储扩展,防止本地用广利用存储扩展执行恶意命令。use mastersp_dropextendedproc xp_cmdshell 命令

8、删除 xp_cmdshell 扩展。4.mssql安装目录权限问题同mysql样,mssql也是安装到everyone完全控制c盘,由于存取控制问题,最好安裝到d盘等非系统盘进行严格的权限控制。而且,由于mssql数裾库与系统结合非常紧密,系统管理员在没有数据库密码的怙况下也可以通过选择windows验证来操作数据炸。w此,普通用户有可能通过系统漏洞提升£1己的权限,对数裾库进行破坏。解决办法:除了严格的存取限制外,还要定期查看sql server円志检查是否有可疑的登录事件发生,或者使川dos命令findstr /c:"登彔"d:microsoft sqlser

9、vermssqllog* *。mssql的安全是和windows系统女全紧密结合的,任何一个出现漏洞,都会威胁到另一个的安全。总结,在系统内部安全性上,mysql和mssql都没杏达到令人满意的程度,帐号安全,存取权限都控制的不是很好。是mssql有详细的门志可以查看登陆情况,比mysql要高出一筹。如果进行了合理的没s, mysql反而要更加安全些,因为对mssql而言,只要奋系统权限即可拥有数裾庠权限。二.外部网络安全性分析1 .数据库服务的探测为了安全,可以i± mysql服务运行在内网,但是如果你的机器有外网的接门,mysql也会自动被绑定在外网上面,暴露在internet中

10、,而且系统会在tcp的3306端li监听, 非常容易被端口扫描工具发现,不能保证数据安全。如果默认,mssql则会打开tcp的1433端口监听。虽然mssql对以人为的改变监听端口,但是通过微软未公开的1434端口的udp探测可以很容易知道sql server使用的什么tcp/ip端口了。往udp1434端口发送一个1个字节的内容为02的数裾包,被探测的系统则会返回安装的mssql服务倌息,这些信息包括:主机名称、实例名称、版本、管道名称以及使用的端口等。这个端口足微软tl己使用,而且不象默认的1433端!那样可以改变,1434足不能改变的。一个典型的返m的信息如下:servername ;s

11、ky; i nstancename ;sky; isclustered ;no; version ;8.00.194 ;tcp ;3341 ;np;skypipemssql$xht310sqlquery;可以发现 mssql 的 tcp 端ul改成了3341,为攻击者打开/方便之门!只要会一点socket编程知识,很容易就可以写出扫描mssql服务的稈序,而且,由于利川了 udp端u,一般的过滤足很难防范的。补天的awen写了个探测程序,用的是c#语言,代码如下:using system; using system.net.sockets; using system.net; using sy

12、stem.text; using system.threading; namespace consoleapplication3 class classl/创建一个udpclient实例 private static udpciient m_client;/listen用來获取返回的信息public static string listen(string hostip)string hostip = hostip;ipaddress thisip = ipaddress.parse(hostlp);ipendpoint host = new ipendpoint(thislp, 1434);

13、byte data = m_client.receive(ref host);encoding ascii = encoding.asci i;string strdata = asci i .getstring(data); return strdata;/sendpublic static void send(string hostip)string hostip = hostip;byte buffer = 02;/02为耍发送的数据,只有02、03、04有回应int ecode = m_client.send(buffer,1,hostip,1434);/ecode用来返回足否成功发送

14、if(ecode <= 0)console.writeline("发送时出错:+ ecode);/对返回的信息的简单的处理public static void outputlnfo(string strdata)string str = strdata;/str.lechar that =string strofthis =str.split(that);/int i= 0for(int i=0;iconsole. write(strofthis);console.writef);/输入ippublic static string lnputhostlp()console.wr

15、itefenter the ip you want to scan:string hostip =console.readline();console.writef);return hostip;/exitpublic static void exit()console.writeline(f,if you want to exit just input 1 ”);int a = console.read(); if(a!= 1)console.writeline(”if you want to exit just input 1console.read();elsestathreadstat

16、ic void main(string args)string host ip;host ip = lnputhostlp();console.writeline(f,begin to send udp to the host" m_client = new udpclient();send(hostlp);string strdata=listen(hostlp);outputlnfo(strdata);exit();3个典型的返回的信息servername; awen;instancename; awen;lsclustered;no;version;8.00.194;tcp;1

17、044; (tcp的端口,nj见就算改了端口也是很容易找到的)np;awenpipemssql$xht310sqlquery;解决办法:安裝防火墙,或者利用windows 2000系统的ipsec对网络连接进行ip限制,实现ip数据包的安全性。对ip连接进行限制,只保证ft己的ip能够访问,扪绝其他ip进行的端口连接,把來自网络上的安全威胁进行有效的控制。重要的是,还要对端口作过滤,包括大部分的tcp和udp端口,因为仅仅做ip限制的话,冇可能恶意攻击者先攻击被数据库服务器信任的主机,控制之后作为跳板对数据库服务器进行攻*。2.数据库的密码探测密码攻击包括两种,破解密码和网络监听。破解密码足使

18、用工具不停的连接数据库来猜测密码,包括字典攻击,暴力攻击和界干两者之间的半暴力半字典攻击。通常攻击者先采用字典攻击的力*法,没杏成功的话依次采用半暴力半字典攻击,暴力攻击。在网络速度够好,电脑运算能力够强的情况k,这样的密码攻击危害是相当大的。网络监听则是控制-台网络没备,在上面运行监听工具捕获在网络屮传送的密码信总。网络监听可以分为两种,一种是外部的监听,将侦听工具软什放到网络连接的设备或者放到可以控制m络连接设备的电脑上,这里的网络连接设备,比如网关服务器,比如路由器等等。w外一种是来肉闪部的监听,对干不安全的局域网,数据是采用广播的方式传播的,只要把网卡设置为混杂模式即可接收到本来不属于自己的数裾包,当然可能包括密码信息等资料。解决方法:针对密码破解,从耍把密码设置为足够强壮,并且对hi个ip地址不停的连接请求进行屏蔽

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论