荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: michaelx (==GuanShui=M.X), 信区: Database
标  题: [转载] mysql安全问题(匿名用户)的一点心得
发信站: 荔园晨风BBS站 (Sat Dec 22 11:43:23 2001), 转信

【 以下文字转载自 Security 讨论区 】
【 原文由 michaelx 所发表 】
mysql安全问题(匿名用户)的一点心得
发布日期: 2001-12-20
内容:
----------------------------------------------------------------------------
----
作者:<>
来源:<>
      前两天在帮朋友整理他的主页空间时候,发现的一点关于mysql可能大家都会忽
略的问题:
      我们知道,在安装完MySQL后,它会自动创建一个root用户和一个匿名用户,其
初始密码都是空,对于前者,很多参考资料上都会提醒大家要注意及时设定一个密码,

而忽略了后者,大概是因为后者默认设定为只能在本机使用的缘故吧。
      但如果你的mysql是要提供给web服务器作数据库服务的,忽略这个匿名用户的代

价可能相当惨重,因为在默认设置下,这个匿名用户在localhost上几乎拥有和root一
样的权限,这时候,如果你的客户拥有上传脚本文件、脚本文件可以进行mysql数据库
操作(比如允许操作mysql的php)的权限已经可能将你的MySQL改动得面目全非了:
      我今天帮朋友整理他的主页空间的时候,试着写了一个很简单的执行sql语句的
php文件上传上去,其中连接字中的user,password我都试着置空,host=localhost,结

果发现我的sql语句可以执行,于是执行select * from mysql.user察看用户权限,发现

这个用户在localhost权限非常高,连grant_priv都有,(察看的时候,会发现在root
用户下有两行用户名、密码为空的,但各项权限有yn的,就是这个匿名用户本地、远程

权限设置了)
      所以我试着用这个php页面创建一个新用户,并grant给他较高的权限,结果一举

成功,这样我就可以用这个新用户通过我本机的mysql client连接到这个网站的mysql
server,并用这个新建立的用户的管理权限对这个网站的mysql server进行管理,看到

自己可以进行这样轻易获得深入的数据库操作,我怎么还敢把朋友的主页空间的敏感资

料放入这个mysql server呢?
      改进建议:
      1。在安装完成mysql 后,不仅改变root用户的的密码,也同时改变匿名用户的
密码,方法类似改变root的密码的方式:
      Mysql> UPDATE user set password=PASSWORD(yournewpassword) where user=;

      Mysql>FLUSH PRIVILEGES;
      2。如非必要,删除这个匿名用户,这样所有人要使用mysql 都必须提供用户
名,即便日后出了问题,也容易查找问题的源头。
      3。除了root用户外,其他用户包括匿名用户(如果没有删除这个用户)不应该
拥有grant权限,防止管理权限不受控制的扩散出去。
      4。赋予用户updatedeletealertcreatedrop权限的时候,应该限定到特定的数据

库,尤其要避免普通客户拥有对mysql数据库做操作的权限,否则你的系统设置很可能
被替换掉。
      5。检查mysql.user表,取消不必要用户的
shutdown_priv,reload_priv,process_priv和File_priv权限,这些权限可能泄漏更多
的服务器信息包括非mysql的其它信息出去。
      6。如果不打算让你的用户使用mysql数据库,在提供诸如php这样的脚本语言的
时候,重新设置或编译你的php,取消它们对mysql的默认支持。

--
M.X的FTP SERVER
ftp://192.168.55.18

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 203.93.19.1]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 203.93.19.1]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店