carla Asked: 2015-12-19 04:35:22 +0800 CST2015-12-19 04:35:22 +0800 CST 2015-12-19 04:35:22 +0800 CST 授予用户超级权限有什么危险吗? 772 我在恢复数据库中的过程时遇到了问题,所以我所做的就是向我的 dbuser 授予 SUPER 权限。 该用户与我的 Web 应用程序中使用的用户相同,因此我想知道向用户授予 SUPER 权限是否有任何危险。 mysql security 2 个回答 Voted Best Answer David Spillett 2015-12-19T06:04:16+08:002015-12-19T06:04:16+08:00 为用户提供比其履行职责所需的更多访问权限始终是一个坏主意。 此用户与我的 Web 应用程序中使用的用户相同 如果您的应用程序由于您的代码或您正在使用的库/模块之一中的错误而被黑客入侵,则攻击者最终可能能够以该用户的身份采取行动 - 因此,如果该用户具有允许完全破坏的权限应用程序数据库和其他数据库在同一台服务器上,那么成功的攻击者也会获得这些危险的权限。 应用程序用户应具有代表应用程序所需的正常任务执行操作所需的绝对最低权限。对于较大的系统,为系统的不同部分拥有多个应用程序用户并不少见,每个用户都具有限制权限,阻止他们与数据库中不相关的对象进行交互。其他允许更普遍地管理数据库和服务器的权限应仅授予单独的管理用户。 如果您处于应用程序用户需要管理权限的情况,那么建议您尝试重构您的设计以消除这种需要(或尽可能限制它)。 查找 Principal of Least Privilege(即https://en.wikipedia.org/wiki/Principle_of_least_privilege)以获取更多关于为什么这是一个好主意的信息。 mysql_user 2015-12-19T05:25:23+08:002015-12-19T05:25:23+08:00 如文档所述: SUPER 权限使帐户可以使用 CHANGE MASTER TO、KILL 或 mysqladmin kill 杀死属于其他帐户的线程(您始终可以杀死自己的线程)、PURGE BINARY LOGS、使用 SET GLOBAL 修改全局系统变量的配置更改、mysqladmin调试命令,启用或禁用日志记录,即使启用了 read_only 系统变量也执行更新,启动和停止从服务器上的复制,在存储程序和视图的 DEFINER 属性中指定任何帐户,并允许您连接(一次)甚至如果达到由 max_connections 系统变量控制的连接限制。 而且我认为我们已经看到了很多权力带来责任的事情!你知道 SUPER 授权让他们引入了一个新变量以避免意外 -> super_read_only。 因此,如果您认为“dbuser”不应该做 SUPER 用户可以做的事情,请撤销它。理想情况下,您应该给予最少的隐私。
为用户提供比其履行职责所需的更多访问权限始终是一个坏主意。
如果您的应用程序由于您的代码或您正在使用的库/模块之一中的错误而被黑客入侵,则攻击者最终可能能够以该用户的身份采取行动 - 因此,如果该用户具有允许完全破坏的权限应用程序数据库和其他数据库在同一台服务器上,那么成功的攻击者也会获得这些危险的权限。
应用程序用户应具有代表应用程序所需的正常任务执行操作所需的绝对最低权限。对于较大的系统,为系统的不同部分拥有多个应用程序用户并不少见,每个用户都具有限制权限,阻止他们与数据库中不相关的对象进行交互。其他允许更普遍地管理数据库和服务器的权限应仅授予单独的管理用户。
如果您处于应用程序用户需要管理权限的情况,那么建议您尝试重构您的设计以消除这种需要(或尽可能限制它)。
查找 Principal of Least Privilege(即https://en.wikipedia.org/wiki/Principle_of_least_privilege)以获取更多关于为什么这是一个好主意的信息。
如文档所述:
而且我认为我们已经看到了很多权力带来责任的事情!你知道 SUPER 授权让他们引入了一个新变量以避免意外 -> super_read_only。
因此,如果您认为“dbuser”不应该做 SUPER 用户可以做的事情,请撤销它。理想情况下,您应该给予最少的隐私。