Mysql数据库的安全性问题释疑(2)

时间:2009-02-26 16:20:00 

不要使用Unix的root用户运行MySQL守护进程

不要作为Unix的root用户运行MySQL守护进程。mysqld能以任何用户运行,你也可以创造一个新的Unix用户mysql使一切更安全。如果你作为其它Unix用户运行mysqld,你不需要改变在user表中的root用户名,因为MySQL用户名与Unix 用户名没关系。

你可以作为其它Unix用户编辑mysql.server启动脚本mysqld。或者使用选项文件。有关如何用非root用户启动MySQL服务器的细节,请见第二章。

数据库目录的安全

MySQL服务器提供了一个通过mysql数据库中的授权表,实现了一个十分灵活的权限系统,保证了从网络访问数据的安全性。但是,如果服务器主机上的其它用户拥有对服务器目录的直接访问权,那么你的服务器的数据仍旧是不安全的。

一般你可能用一个非特权的Unix用户执行守护程序。检查那个运行mysqld的Unix用户是唯一的在数据库目录下有读/写权限的用户。

可能的安全漏洞

显然,你不会让服务器主机上的其它用户拥有对数据库目录文件的写访问权,但是,仅仅是读访问权也非常危险。

由于象GRANT和SET PASSWORD这样的查询都被记录到日志中去了,常规和更新日志文件包含了有关密码的敏感查询文本。如果一个攻具有对这些日志的读访问权,那么他只要在日志文件中查找GRANT或PASSWORD这样的敏感单词,就很容易找到密码的明文。

对于表文件的读访问也是很危险的,窃取文件并使MySQL以及以纯文本的形式显示表的内容是微不足道的事。可以按下列步骤进行:

1、安装一个新的MySQL分发,可以是在另一台主机上,也可以就在当前的服务器主机上安装,使用与正式服务器不同的端口、套接字和数据文件。

2、将窃取的表的相应文件拷贝到新服务数据库目录中的test目录下

3、然后就可以启动作案服务器,可以随意访问所窃取表的内容。

标签:mysql,安全性,问题,数据库
0
投稿

猜你喜欢

  • mysql基础:mysqld_safe 启动执行流程详解

    2024-01-14 23:33:57
  • JavaScript面向对象中的封装和继承你了解吗

    2024-06-07 16:00:16
  • 99%的程序员都会收藏的书单 你读过几本?

    2022-10-01 19:45:59
  • vue项目页面嵌入代码块vue-prism-editor的实现

    2024-04-27 16:14:03
  • PHP实现获取两个以逗号分割的字符串的并集

    2023-06-01 03:24:53
  • seaborn绘制双变量联合分布图示例详解

    2021-04-29 01:49:24
  • MySQL数据库数据备份和恢复详解

    2009-07-15 10:51:00
  • Go语言的互斥锁的详细使用

    2024-03-11 04:04:30
  • Python绑定方法与非绑定方法详解

    2021-04-12 00:20:19
  • scrapy+flask+html打造搜索引擎的示例代码

    2022-06-04 01:15:33
  • 关于 Web,你可能不知道的

    2008-09-18 12:09:00
  • 分发服务器 系统抛出18483错误,未能连接服务器,因为'distributor_admin'未定义远程登陆

    2024-01-24 00:39:48
  • pandas 如何保存数据到excel,csv

    2021-05-12 13:05:22
  • 使用Python实现毫秒级抢单功能

    2022-10-17 18:46:16
  • 使用selenium模拟登录解决滑块验证问题的实现

    2022-12-10 10:38:32
  • Python利用Xpath选择器爬取京东网商品信息

    2021-05-18 09:08:41
  • 详解Django中的ifequal和ifnotequal标签使用

    2023-06-24 05:07:04
  • Python个人博客程序开发实例用户验证功能

    2023-07-31 14:24:36
  • PDO::commit讲解

    2023-06-14 05:35:45
  • python中set()函数简介及实例解析

    2022-05-15 17:12:24
  • asp之家 网络编程 m.aspxhome.com