假设黑客获得了包含受密码保护的 MySQL 的服务器的 root 访问权限。
好吧,如果我们只是通过几个简单的命令重置 MySQL 根密码,那么这不是就失去了密码保护的意义了吗?
例如,是否有一种行之有效的技术可以隔离 MySQL 并防止这种情况发生。我能想到的唯一办法可能是将数据库一起移动到不同的服务器。
欢迎所有想法。
编辑
我知道 MySQL 密码允许多个帐户使用不同的权限,仅此而已。我的问题更侧重于如何隔离数据库,这样即使被入侵,也无法轻易进入数据库记录。
答案1
将密码泄露root
给黑客是服务器最糟糕的事情。如果这种情况发生在您的生产服务器上,您不应该关心您的MySQL
数据库,您应该立即关闭服务器或至少将其与网络而不是物理层隔离。然后在其他服务器上搜索入侵迹象并确定根本原因。您永远不应该OS
再在生产中使用渗透。黑客可能会留下后门、定时炸弹、用他自己的文件伪造一些二进制文件等,所以即使您消除了入侵的所有可见后果,您仍然处于危险之中。
理论上可以保护某些东西免受攻击root
,但对于您来说,这绝对是错误的方法。您应该专注于保护root
密码 - 禁止root
ssh
登录,避免运行具有root
特权的守护进程,如果可能的话,避免运行chroot
它们等。
答案2
这实际上是不可能的。Linux 系统的 Root 帐户可以访问文件系统上的所有内容,因此也可以手动访问存储在文件系统上的数据库文件。我建议禁用 SSH 根访问权限和 SSH 密钥文件的使用,以防止或使攻击者更难访问您的服务器。
答案3
要从命令行重置 MySQL 数据库根密码,您必须拥有系统上的根权限,因此实际上所有赌注都无效。
不过,该过程确实要求您停止 MySQL 守护程序,然后从命令行手动启动它。进行更改,然后停止该实例并重新启动守护程序。您应该监视 MySQL,这样您就可以发现类似的东西。
将数据库移动到另一台服务器会有所帮助。