注意:我很清楚我们的 MySQL 已经过时了,我正在努力解决这个问题,但目前我们无法更新。
有几个小问题我无法找到明确的答案:
我发现我们的 MySQL v5.7.44 - MySQL Community Server (GPL) 上有很多用户使用“mysql”数据库,而“主机”字段显示非本地 IP 地址作为他们的“主机”。当设置
My.cnf
“skip-networking”设置为时,这是否会导致任何风险(假设)TRUE
?我认为这些不应该在这里,并且会清除它们,但我想了解“跳过网络”标志是否有警告,例如主机是否在表中列出
mysql.users
。这些外部 IP 中有些是我们以前使用过的旧服务器,但有些不是。这是否可能是数据库被入侵的迹象?
在同一主题上,我们在“mysql”数据库上也有很多用户,其中“Host”字段显示服务器的当前域名,以及“Host”显示服务器的当前 IP 地址。这是一个问题吗?清除这两个用户中的任何一个有什么好处吗?
如果 skip-networking 保持活动状态,则不存在风险。MySQL 服务器不会接受任何通过 TCP/IP 的连接。它只会接受使用 UNIX/Linux 上的套接字文件或 Windows 上的命名管道的本地客户端。
风险在于 skip-networking 选项将来可能会被其他人删除。这意味着 MySQL 服务器将再次接受使用 TCP/IP 的客户端连接。
如果数据库管理员不知道检查密码表中现有的 MySQL 用户,那么一群所谓的非活动用户将能够连接,使用为这些用户设置的任何旧密码。
如果是我,我会花时间删除不需要的 MySQL 用户。这样你就不必担心他们再次活跃的风险,也不必担心负责该 MySQL 服务器实例的继任者是否知道这个风险。
回复您的评论:
如果跳过网络处于活动状态,则唯一可以连接的用户是
user@localhost
。您没有锁定任何用户,因为如果他们是
user@hostname
或,他们无论如何都无法连接user@ipaddress
。无论他们是通过主机名还是 IP 地址识别都没有区别。他们都使用 TCP/IP,并且都已被锁定。如果这现在没有造成问题,那么您就没事了。