奇怪的MySQL用户被创build(例如bug115166_10073)而不是我

刚刚在安全审计期间查看了我的MySQL用户权限,并注意到大约20个MySQL用户已经使用随机名创build,如“bug115166_10073”。 他们根本没有任何权限,我是唯一一个pipe理数据库的人。

谁能想到这些可能是什么,他们来自哪里? 看到分配给这些用户的权限为零,我认为他们可以安全地删除?

请马上删除它们!

这是为什么:匿名用户有权访问前4个字母进行test任何数据库。 您可以在testing数据库中执行大量的CRUD密集型工作。 您可能还想要将testing数据库重新命名为完全不同的内容。 请阅读这些链接,因为我之前在DBA StackExchange中解决了这个问题。

  • 不能从mysql.user中删除匿名用户

  • 这是一组正常的MySQL权限吗?

为了确认需要这样做,请注意MySQL 5.0authentication学习指南第498页的第6段中的要点:

在Unix上,MySQL附带了一个mysql_secure_installation脚本,可以在您的安装上执行一些有用的与安全相关的操作。 该脚本具有以下function:

  • 为root帐户设置密码
  • 删除任何可远程访问的根帐户。
  • 删除匿名用户帐户。 这样可以提高安全性,因为它可以防止任何人以远程主机的身份作为root连接到MySQL服务器。 结果是,任何想以root用户身份进行连接的用户都必须首先能够login到服务器主机上,这样可以防止攻击。
  • 删除testing数据库(如果您删除匿名帐户,您可能还想要删除他们有权访问的testing数据库)。

从评论中的@ Pekka的修辞问题扩展,检查你现有的有效用户的权限。 您可能有一个具有CREATE USER权限但不是GRANT的应用程序帐户。 为了防止这种情况在未来发生,请撤消除您的pipe理帐户之外的所有CREATE USER