欢迎来到天天文库
浏览记录
ID:31431618
大小:110.00 KB
页数:7页
时间:2019-01-09
《基于mysql和sql server数据库安全分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Mysql和SQLserver数据库安全分析 【摘要】网站后台数据库的安全,对企业内部客户信息等数据和企业网站正常运行至关重要。为保证网站数据库安全,增强企业网站运营的可靠性,本文将从数据库系统的用户权限、目录权限、漏洞探测和密码窃听四个方面对MYSQL和MSSQL数据库做安全性分析,并结合实例给出解决问题的出路。 【关键词】MYSQL;MSSQL;安全分析;漏洞探测 动态网站的安全是关系到网站是否正常运行的根本,而企业内部客户信息等数据的安全更是其命脉所在,这些数据通常都保存在网站的后台数据库中,那么安全可靠的数据库是至关重要的。目前中小型企业多使用MYSQL和MSSQL作为后台数
2、据库。 本文将从数据库系统的用户权限、目录权限、漏洞探测和密码窃听四个方面对MYSQL和MSSQL数据库做安全性分析。 1.测试环境 Windowsserver2003网络操作系统,默认系统管理员账户,在IIS6.0上配置网站和FTP服务器,系统支持asp,Asp.Net,PHP。安装有MySql5.1和SQLserver2008数据库系统。 2.数据库安全性分析 2.1用户权限7 (1)当你试图联接一个MySQL服务器时,身份检查使用user表中3个字段(Host,User和Password)。服务器在user表条目中匹配你的主机名和用户名,并当你提供了正确的口令才接受连接。我们
3、通过root用户和密码,连接数据库后,使用select命令查看用户和权限。如图1所示。 图1Mysql初始用户及权限 第一条说明可在本机使用root用密码登陆,拥有删除记录,修改记录,删除表等权限,如果密码强壮,那么,这是安全的。 第二条表示在任何主机使用root不需密码登陆,拥有删除记录,修改记录,删除表等权限,’%’在Host列里意味着“任何主机”并且是不特定的。 第三条表示在本机(localhost)匿名登陆,拥有删除记录,修改记录,删除表等权限,空白User值意味着“任何用户”并且是最不特定的。 第四条表示可以在任何主机匿名登陆,但没有任何权限。 显然,第二,三,四都是不安
4、全的! 解决方法:如果你不需要远程维护,删除掉第二条,deletefromuserwherehost=“%”anduser=“root”;或者给它加个强壮的密码。删除第三条和第四条。 (2)MSSQL数据库的权限控制是基于master库的syslogins表,拥有所有权限的帐号是sa,其他还有sysadmin,db_owner等不同权限帐号。由于SQL7Server不能删除Sa这个超级用户,所以必须对这个帐号进行最强的保护,如使用非常强壮的密码。新建立一个拥有与Sa一样权限的超级用户来管理数据库,只有当其它系统管理员不可用或忘了密码时才使用Sa。定期检查所有登陆帐号,查看是否有不符合要求的
5、密码。 如下命令检查是否有空口令帐号存在。 Usemaster Selectname,Passwordfromsysloginswherepasswordisnull 尽可能的删除存储扩展,防止本地用户利用存储扩展执行恶意命令。 如下命令删除xp_cmdshell扩展。 usemaster sp_dropextendedprocxp_cmdshell 2.2目录权限 (1)一般不会让服务器主机上的其它用户拥有对数据库目录文件的写访问权,但仅仅是读访问权也非常危险。由于像GRANT和SETPASSWORD这样的查询都被记录到日志中去了,常规和更新日志文件包含了有关密码的敏感查询
6、文本。如果一个攻击具有对这些日志的读访问权,那么他只要在日志文件中查找GRANT或PASSWORD这样的敏感单词,就很容易找到密码的明文。要消除这些安全漏洞,就要安排数据库目录及其中所有文件和目录的所有权。 MySQL默认安装到c:\mysql,c盘默认everyone有读取和运行权限,由于权限的继承性,everyone对c:\mysql也有读取和运行权限,如图2所示,显然这是不安全的。 图2windows2003默认目录用户及权限 解决方法:把mysql目录文件改为只有某个管理员账户(如windows下的adminis-trator账户)可读写。7 (2)MSSQL也是安装到c盘,由
7、于存取控制问题,最好安装到d盘等非系统盘进行严格的权限控制。而且,由于MSSQL数据库与系统结合非常紧密,系统管理员在没有数据库密码的情况下也可以通过选择windows验证来操作数据库。因此,普通用户有可能通过系统漏洞提升自己的权限,对数据库进行破坏。 解决办法:除了严格的存取限制外,还要定期查看SQLServer日志检查是否有可疑的登录事件发生。 对于MSSQL的安全是和windows系统安
此文档下载收益归作者所有