MySQL安全问题(匿名用户)的一点心得

原创 2004年10月15日 17:34:00
前两天在帮朋友整理他的主页空间时候,发现的一点关于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用户下有两行用户名、密码为空的,但各项权限有y/n的,就是这个匿名用户本地、远程权限设置了)

所以我试着用这个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。赋予用户update/delete/alert/create/drop权限的时候,应该限定到特定的数据库,尤其要避免普通客户拥有对mysql数据库做操作的权限,否则你的系统设置很可能被替换掉。
5。检查mysql.user表,取消不必要用户的shutdown_priv,reload_priv,process_priv和File_priv权限,这些权限可能泄漏更多的服务器信息包括非mysql的其它信息出去。
6。如果不打算让你的用户使用mysql数据库,在提供诸如php这样的脚本语言的时候,重新设置或编译你的php,取消它们对MySQL的默认支持。

来自:非常Linux

mysql安全问题(匿名用户)的一点心得

前两天在帮朋友整理他的主页空间时候,发现的一点关于mysql可能大家都会忽略的问题: 我们知道,在安装完MySQL后,它会自动创建一个root用户和一个匿名用户,其初始密码都是空,对于前者,很多参考资...
  • zcatlinux
  • zcatlinux
  • 2004年10月14日 15:54
  • 1146

MySQL安全问题(匿名用户)的一点心得

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";...
  • java169
  • java169
  • 2008年05月24日 04:30
  • 158

MYSQL安全问题(匿名用户)的一点心得

前两天在帮朋友整理他的主页空间时候,发现的一点关于MySQL可能大家都会忽略的问题:我们知道,在安装完MySQL后,它会自动创建一个root用户和一个匿名用户,其初始密码都是空,对于前者,很多参考资料...
  • carefree31441
  • carefree31441
  • 2008年07月11日 15:13
  • 403

mysql匿名用户问题

今天遇到一个问题:直接在cmd下输入mysql进入mysql,输入show databases; 发现只有两张表:information_schema和test。很多操作都没有权限,觉得很奇怪。解决办...
  • LeoSha
  • LeoSha
  • 2015年04月28日 17:28
  • 1125

【MySQL】MySQL删除匿名用户,保证登录安全

许多MySQL程序都会带有匿名登录的功能。在刚刚安装完MySQL之后,就可以登录数据库啦。 这对于平时使用MySQL来说也基本没有什么,但是如果我们想部署数据库的时候,这种登录方式式绝对不能存在的!试...
  • fu_zk
  • fu_zk
  • 2014年11月09日 09:23
  • 4410

问题(匿名用户)的一点心得

  • zgqtxwd
  • zgqtxwd
  • 2008年04月30日 10:46
  • 100

MYSQL删除匿名用户的方法

删除匿名用户   在MySQL刚刚被安装后,存在用户名、密码为空的用户。这使得数据库服务器有无需密码被登录的可能性。为消除隐患,将匿名用户删除。   [root@sample ...
  • langkeziju
  • langkeziju
  • 2014年09月26日 10:38
  • 634

mysql禁止匿名用户登陆(mysql没有密码原因,创建用户后直接登录)

mysql> delete from mysql.user where user='';  ← 删除匿名用户
  • lumengabc
  • lumengabc
  • 2014年06月25日 16:53
  • 2644

解决windows下的mysql匿名登陆无法使用mysql数据库的问题

本文转自  http://www.cnblogs.com/bangbangjiang/p/3564321.html 我在windows下安装了mysql,但是不用密码就能登进去,而root明...
  • slightleaves
  • slightleaves
  • 2014年12月29日 10:58
  • 396

linux下匿名用户上传文件

1、打开配置文件: #vi /etc/vsftpd/vsftpd.conf anonymous_enable=YES write_enable=YES local_umask=022 anon_up...
  • lotluck
  • lotluck
  • 2016年10月12日 20:33
  • 927
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL安全问题(匿名用户)的一点心得
举报原因:
原因补充:

(最多只允许输入30个字)