Mssql和Mysql的安全性分析


  数据库是电子商务、金融以及ERP系统的 根底,通常都 保留着主要的商业 搭档和
客户信息 。大多数企业、组织以及政府部门的电子数据都 保留在各种数据库中,他们
用这些数据库 保留一些个人 材料,还 主宰着敏感的金融数据 。然而数据库通常没有象
操作系统和网络这样在安全性上受到 重视 。数据是企业,组织的 命根子所在, 因此 取舍
一款安全的数据库是至关主要的 。大型网站普通 使用oracle或DB2,而中小型网站大
多数 使用更加灵便 玲珑的mssql数据库或者mysql数据库 。那么,在同样的条件下,微
软的mssql和免费的mysql哪个更加安全呢?

我在我的机子上面用治理员帐号默许安装了mssql和mysql以便在 雷同的状况下测
试他们的安全性 。我的系统配置如下:操作系统Microsoft windows 2000 Version5.0,
安装了sp4,ftp服务和iis服务, 支撑asp和php 。系统惟独一个治理员帐号admin,guest
帐号没有禁用 。

  一.系统内部安全性 综合

1.mysql数据库权限操纵问题

mysql的权限操纵是基于mysql这个数据库的,叫做授权表,一共包含包含六个表
columns_priv,db,func,host,tables_priv和user 。先 使用desc user命令查看非
常主要的user表的 构造以便 查问内容,现在 可以查看他的权限设置了 。
使用命令select host,user,password,delete_priv,update_priv,drop_priv from user;
这个命令查看了几个 比较惊险的权限,显示 后果如下:
mysql> select host,user,password,delete_priv,update_priv,drop_priv from user;
+-----------+------+------------------+-------------+-------------+-----------+
| host | user | password | delete_priv | update_priv | drop_priv |
+-----------+------+------------------+-------------+-------------+-----------+
| 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="";