数据库是电子商务、金融以及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="";