MySQL服务器内部安全数据目录访问

  作为MySQL管理员的您,在维护MySQL安装的安全性和完整性方面能够做些什么。在本文中,我们将更详细地讨论以下与安全性相关的问题:

为什么说安全性是重要的,应该警惕哪些攻击?

从服务器主机中的用户那里您将面临什么风险(内部安全性),能做什么?

从在网络上连接到服务器的客户机那里您将面临什么风险(外部安全性),能做什么?

MySQL管理员有责任保护数据库内容的安全,使得记录只能由经过严格认证的那些用户访问。这包括内部安全性和外部安全性。

  内部安全性关心文件系统级的问题,如保护MySQL数据目录免遭拥有运行服务器的机器账号的用户的攻击。但是,如果数据目录内容的文件许可权过分随意,有人可以将对应这些表的文件进行简单的替换的话,内部安全性就不能很好地确保适当建立对网络上客户机访问的授权表的控制。

外部安全性关心客户机从外部连接的问题,如防止MySQL服务器免遭通过网络进来的通过服务器的连接请求对数据库内容访问的攻击。要建立MySQL授权表使得它们不允许对服务器所管理的数据库的访问(除非提供了有效的名字和口令)。

本文提供了应该了解的有关问题的指导,并说明如何防止内部和外部级别中未认证的访问。

MySQL服务器提供了一个通过mysql数据库中的授权表来实现的灵活的权限系统。可以设置这些表的内容来允许或拒绝数据库对客户机的访问。这提供了关于未认证的网络访问数据的安全性。但是,如果服务器主机上的其他用户具有对该数据目录内容的直接访问权,则将不能对访问数据的网络建立良好的安全性。除非知道您是曾在运行MySQL服务器的机器上注册的惟一的一个人,否则需要关心在该机器上的其他用户获得对数据目录访问的可能性。

以下是您想要保护的内容:

  数据库文件。显然想要维护由服务器维护的数据库的保密性。数据库的所有者通常要考虑数据库内容的专有性。即使他们不考虑,也最多是使数据库的内容公共化,而不会使那些内容因数据库目录安全性低而被泄露。

日志文件。常规和更新日志必须安全,因为它们包含了查询文本。这有相当的利害关系,因为具有日志文件访问的任何人都可以监控发生在数据库中的事务处理。

与日志文件有关的更为特殊的安全性问题是,像GRANT 和SET PASSWORD 这样的查询被记录在日志中了。常规和更新日志文件包含敏感的查询文本,其中包括了口令(MySQL使用口令加密,但这只适用于在口令设置之后的连接建立。设置口令的过程包含在GRANT、INSERT 或SET PASSWORD 这样的查询中,但这些查询以纯文本的形式被记录。)如果一个攻击者具有对日志的读访问权,那他只需在日志中对GRANT 或PASSWORD 这样的词运行grep 就能找到敏感信息。

显然,您不想让服务器主机上的其他用户拥有对数据目录文件的写访问权,因为那样的话,他们就可以在状态文件或数据库表上肆意践踏。但读访问也很危险。如果表文件可读取,那么窃取文件并使MySQL自己以纯文本的形式显示表的内容是微不足道的事。可按下列步骤进行:

1) 在服务器主机上安装您的MySQL服务器,但使用与正式服务器不同的端口、套接字和数据文件。

2) 运行mysql_install_db 初始化您的数据目录。这将允许您作为MySQL的root 用户访问服务器,因此您将具有完全控制服务器访问机制的权利。它还建立了一个test 数据库。

3) 将您想窃取的表的相应文件拷贝到服务器数据目录下的test 子目录中。

4) 启动作案服务器。您可以随意访问这些表。SHOW TABLES FROM test 将显示您拥有一个被窃取表的备份, SELECT * 将显示任何这些表的全部内容。

5) 如果更坏一点,打开服务器的匿名用户账号的许可权,使任何人都能从任何地方连接到该服务器来访问您的test 数据库。现在,您已经向全世界公布了这些被偷窃的表。

1 2 下一页 >全文阅读
提示:试试"← →"键,翻页更方便哦!

时间: 2024-08-03 12:50:26

MySQL服务器内部安全数据目录访问的相关文章

MySQL服务器内部安全数据目录如何访问

作为MySQL管理员的您,在维护MySQL安装的安全性和完整性方面能够做些什么.在本文中,我们将更详细地讨论以下与安全性相关的问题: ◆为什么说安全性是重要的,应该警惕哪些攻击? ◆从服务器主机中的用户那里您将面临什么风险(内部安全性),能做什么? ◆从在网络上连接到服务器的客户机那里您将面临什么风险(外部安全性),能做什么? MySQL管理员有责任保护数据库内容的安全,使得记录只能由经过严格认证的那些用户访问.这包括内部安全性和外部安全性. 内部安全性关心文件系统级的问题,如保护MySQL数据

MYSQL服务器内部安全性-安全数据目录访问

mysql|安全|安全性|访问|服务器|数据|数据目录     本章主要讨论作为MySQL管理员的您,在维护MySQL安装的安全性和完整性方面能够做些什么.我们已经在第11章中略微谈到了一点安全性问题,如设置初始的MySQLroot 的口令的重要性以及怎样建立用户账号.这些内容是作为启动和运行安装过程的一部分被讨论的.在本章中,我们将更详细地讨论以下与安全性相关的问题:    为什么说安全性是重要的,应该警惕哪些攻击?    从服务器主机中的用户那里您将面临什么风险(内部安全性茏鍪裁矗?br

服务器 局域网 并发-关于局域网内部的并发访问

问题描述 关于局域网内部的并发访问 局域网内有60号人,自己用笔记本建立FTP服务器,CPU:i7 4710MQ,固态硬盘,千兆网卡,4G内存,当他们同时下载FTP上面的文件的时候,有一部分人的电脑上会显示连接超时,这种情况是需要加强CPU的性能吗? 解决方案 http://www.cnblogs.com/kaixin110/archive/2007/12/12/992400.html 解决方案二: 你的操作系统如果是windows 7/8等客户端系统,那么iis并发最大只有10,你可以安装se

大哥大姐们,谁看到了可一定要帮忙哈!我编了个小程序,在本地测试成功!但传到客服服务器上(在服务器内部iis里浏览:无法访问或该页不存在,在外面通过浏览器访问:出现:Server Error in '/' Application.

问题描述 大哥大姐们,谁看到了可一定要帮忙哈!我编了个小程序,在本地测试成功!但传到客服服务器上(在服务器内部iis里浏览:无法访问或该页不存在,在外面通过浏览器访问:出现:ServerErrorin'/'Application.--------------------------------------------------------------------------------RuntimeErrorDescription:Anapplicationerroroccurredonthe

MySQL中使用FREDATED引擎实现跨数据库服务器、跨实例访问_Mysql

跨数据库服务器,跨实例访问是比较常见的一种访问方式,在Oracle中可以通过DB LINK的方式来实现.对于MySQL而言,有一个FEDERATED存储引擎与之相对应.同样也是通过创建一个链接方式的形式来访问远程服务器上的数据.本文简要描述了FEDERATED存储引擎,以及演示了基于FEDERATED存储引擎跨实例访问的示例. 1.FEDERATED存储引擎的描述   FEDERATED存储引擎允许在不使用复制或集群技术的情况下实现远程访问数据库   创建基于FEDERATED存储引擎表的时候,

MySQL服务器的启动与停止

mysql|服务器 MySQL服务器的启动与停止[晏子] 一.以非特权用户运行MySQL服务器 在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器.服务器可以手动或自动启动.如果你手动启动它,服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行:如果你用su命令切换到root,然后运启动服务器,则它以root运行.然而,大多数情况下你可能不想手动启动服务器,最有可能是你安排MySQL服务器在系统引导

优化MYSQL服务器

mysql|服务器|优化    MySQL服务器有几个影响其操作的参数(变量).如果缺省的参数值不合适,可以将其修改为对服务器运行环境更合适的值.例如,如果您有大量的内存,可以告诉服务为磁盘和索引操作使用较大的缓冲区.这将使内存持有更多的信息并减少了必须进行的磁盘访问的数量.如果是一般的系统,可以告诉服务器使用较小的缓冲区,以防止它扰乱系统资源损害其他的进程.    系统变量的当前值可以通过执行mysqladmin variables 命令来检查.变量可利用- - set - variable

Mysql服务器的启动与停止(一)

mysql|服务器 在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器.服务器可以手动或自动启动.如果你手动启动它,服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行:如果你用su命令切换到root,然后运启动服务器,则它以root运行.然而,大多数情况下你可能不想手动启动服务器,最有可能是你安排MySQL服务器在系统引导时自动启动,作为标准引导过程的一部分,在Unix下,该引导过程由系统的Uni

MySQL服务器的启动和关闭

mysql|服务器 作为MySQL管理员,一个普通的目标就是确保服务器尽可能地处于运行状态,使得客户机能够随时访问它.但是,有时最好关闭服务器(例如,如果正在进行数据库的重定位,不希望服务器在该数据库中更新表).保持服务器运行和偶尔关闭它的需求关系不是本书所解 决的.但是我们至少可以讨论如何使服务器启动和停止,以便您具备进行这两个操作的能力.     本章的说明只用于UNIX 系统.如果正在运行Windows 系统,可以跳过本章,因为附录A"获得和安装软件"一节中包含了所有需要的启动和