共计 1691 个字符,预计需要花费 5 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章将为大家详细讲解有关 MySQL 中怎么访问内部安全数据目录,文章内容质量较高,因此丸趣 TV 小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
◆为什么说安全性是重要的,应该警惕哪些攻击?
◆从服务器主机中的用户那里您将面临什么风险(内部安全性),能做什么?
◆从在网络上连接到服务器的客户机那里您将面临什么风险(外部安全性),能做什么?
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 数据库。现在,您已经向全世界公布了这些被偷窃的表。
关于 MySQL 中怎么访问内部安全数据目录就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
向 AI 问一下细节