SQL Server和MySQL的安全性分析
2008-08-30 11:07:41 来源:WEB开发网| localhost | root |0e4941f53f6fa106 | Y | Y | Y |
| % | root | | Y | Y | Y |
| localhost | | | Y | Y | Y |
| % | | | N | N | N |
+-----------+------+------------------+-------------+-------------+-----------+
4 rows in set (0.00 sec)
第一条表示在本机使用root用密码登陆,拥有删除记录,修改记录,删除表等权限,好,这是安全的。第二条表示在任何主机使用root不需密码登陆,拥有删除记录,修改记录,删除表等权限。第三条表示在本机匿名登陆,拥有删除记录,修改记录,删除表等权限。最后条表示可以再任何主机匿名登陆,但是没有任何权限。显然,第二,三,四都是不安全的!第二条不用说,就第三条而言,就算你在本地是guest权限,但是也可以登陆mysql数据库,而且拥有全部权限。这样,就可以对数据库为所欲为了。
解决方法:如果你不需要远程维护,删除掉第二条,delete from user where host="%" and user="root";或者给它加个强壮的密码。删除第三条,delete from user where host="localhost" and user="";
2.mysql安装目录权限问题
mysql默认安装到c:mysql,但是c盘默认是everyone完全控制,由于权限的继承性,c:mysql对everyone也是完全控制的,显然这样是不安全的。因为恶意用户可以删除重要的数据文件。
解决方法:重新设置mysql目录的存取权限。或者将mysql安装到其他目录,如果你移动Mysql分发到D:mysql,你就必须使用用D:mysqlbinmysqld --basedir D:mysql来启动mysqld,甚至还需要修改它的配置文件。
3.mssql数据库权限控制问题
mssql数据库的权限控制是基于master库的syslogins表,拥有所有权限的帐号是sa,其他还有sysadmin,db_owner等不同权限帐号。但是,mssql数据库最高权限帐号sa的默认密码是空,这样如果安装的时候不注意,就会给数据带来毁灭性的灾难。恶意攻击者可以修改,删除所有数据,更加重要的是mssql帐号可以利用扩展执行系统命令。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››Mysql高性能备份方案解决数据不间断访问
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››mysql 定时更新表字段列的值状态(存储过程+定时任...
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››MySQL 生成随机密码
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››mysql创建新用户的命令
- ››MySql Blob图片类型存储Bug解决:索引超出了数组界...
更多精彩
赞助商链接