VB 源码VC 源码ASP源码JSP源码PHP源码CGI源码FLASH源码素材模板C 源程序常用软件文档中心其他程序

数据库

编程开发
PHP技术
JSP技术
ASP技术
.NET技术
数据库

本类阅读TOP10

·远程连接access数据库的方法
·九大数据库特点比较
·浅谈数据库设计技巧(上)
·SQL Server存储图像数据的策略与方法
·浅谈数据库设计技巧(下)
·Sql server中时间查询的一个比较快的语句
·无组件上传图片到数据库中,最完整解决方案
·安装Oracle服务器
·在RedHat 6.0上安装Oracle 8i(全攻略)
·Oracle9i在Linux下的安装

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

作者:佚名 来源:月光软件站 加入时间:2005-5-12 月光软件站

前两天在帮朋友整理他的主页空间时候,发现的一点关于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的默认支持。





相关文章
  • Mysql存取权限系统
  • MySQL数据库备份
  • 在RedHat7.1上安装Oracle817数据库
  • Oracle9i在Linux下的安装
  • SQL基础
  • 中级SQL
  • PostgreSql服务器的配置
  • 基于MySQL的高性能数据库应用开发
  • MySQL性能优化全攻略(4)相关数据库命令
  • MySQL和Postgres的比较
  • MySQL性能优化全攻略(1)
  • MySQL性能优化全攻略(2)服务器参数调整
  • MySQL性能优化全攻略(3)表的类型
  • 5种修改MySql的用户密码的方法
  • 我在RedHat7.0下安装Oracle的经历
  • 在RedHat 6.0上安装Oracle 8i(全攻略)
  • 安装Oracle服务器
  • 为Linux配备Oracle 8
  • Oracle8i+Apache1.3.14+PHP4.0.3完全安装
  • 如何在你的Linux机器上安装运行Oracle
  • 相关软件




    月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
    电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
    音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

    月光软件站·版权所有