为 LAMP 堆栈保护 root MYSQL 用户

Securing root MYSQL user for LAMP stack

上下文

所以我正在按照 DigitalOcean (https://www.digitalocean.com/community/tutorials/how-to-secure-mysql-and-mariadb-databases-in-a-linux-vps) 在 Linux 机器上保护 MYSQL 的教程,我在重命名 root 用户的部分人们将更难获得对数据库的未授权访问。

执行rename user 'root'@'localhost' to 'newAdminUser'@'localhost';后,我看到:

+------------------+-----------+-------------------------------------------+ | User | Host | Password | +------------------+-----------+-------------------------------------------+ | newAdminUser | localhost | *D95F7B9193493217A2F5AF587BB27C2F92EC2301 | | root | 127.0.0.1 | *D95F7B9193493217A2F5AF587BB27C2F92EC2301 | | root | ::1 | *D95F7B9193493217A2F5AF587BB27C2F92EC2301 | | debian-sys-maint | localhost | *0BA36D18675A3EC9BBA779AAD0C189D798C886B1 | +------------------+-----------+-------------------------------------------+

问题

我应该更改其他 root 用户的名称吗?这会对我的机器产生什么影响 - 机器是否需要这些 "root" 用户?

感谢您的宝贵时间和协助!

只要您 运行 mysql_secure_installation 并删除了可从本地主机外部访问的 root 帐户 从安全性上来说应该没什么关系立场(除非你认为某人可以通过 SSH 访问机器,但不应该访问数据库)。

但我仍然更改它,只是为了您自己的理智 - 在某些时候您可能正在连接到数据库,并尝试使用 newAdminUser,但是 MySQL 看到你是从 127.0.0.1 连接的,所以它说 "nope, no user newAdminUser for that host, invalid password."

您可以安全地删除 'root'@'127.0.0.1' 用户,因为它等同于 'root'@'localhost'(您仍然可以使用 root 连接到主机 localhost127.0.0.1)。

将用户名从 root 更改为其他名称提供了边际安全性增强,因为一个人已经需要获得对系统的访问权限(本地,或利用网站并尝试从脚本连接)。

如果您不需要通过 IPv6 在本地连接到 MySQL,您也可以删除等效的 IPv6 本地主机 ::1

您应该删除debian-sys-maint帐户,因为系统使用该帐户执行log related tasks