dko*_*zev 5 mysql security linux
如果我的 MySQL 服务器只接受来自 localhost 的连接,没有密码的 root 用户是否构成安全漏洞?
我知道常识说 root 用户应该受密码保护,但将其留空有什么含义?除了我自己连接到 MySQL 之外,我不关心 Linux 用户,而且我不打算允许网络访问数据库。
编辑:什么使 MySQL 与不受密码保护的 SQLite 不同?我们在谈论什么样的部署场景?如果攻击者获得了对服务器的访问权限,是什么阻止了攻击者简单地重置密码?
请记住,我不是要在这里提倡任何东西,我只是希望人们就此事提供受过教育的意见。
wom*_*ble 27
是的,我认为这是一个相当基本的安全漏洞。让我通过一个故事来说明这一点。
很久很久以前,在我年轻且知识渊博的日子里,我设置了一个服务器,用于对我正在测试的各种零碎进行内部测试。它坐在我的桌子上,没有连接到任何网络(这是很久以前的事了,在一切都必须在网络上才能做任何事情之前)。当我不在办公室时,其他人需要一台机器,并拿走了我的测试机(我不介意;我使用这台机器是因为如果需要,它可以用来做其他事情)。由于它已经在运行所需的操作系统,因此他们只需将其插入网络并安装所需的内容即可。
问题是,我会在那个盒子上设置各种测试帐户,并带有易于猜测的密码(例如永远有用的test)。即使在很久以前,也不乏不法分子,他们除了猜密码帐户之外别无他法。没过多久,他们就找到了这台机器,猜测了密码,并以他们的邪恶方式使用了它。
这个故事的主旨?需求变化。即使您现在不希望这样做,在机器的整个生命周期中,它的角色也有可能发生变化——我预计最有可能的结果是其他用户可以访问机器(合法地或通过应用程序级漏洞利用)。您会记得在必要时设置 MySQL 根密码的机会是……微乎其微,充其量。
我的建议是花 10 秒钟设置 MySQL 根密码并将其放入~root/.my.cnf. 一次性的时间成本远小于妥协的代价乘以被破坏的概率。
| 归档时间: |
|
| 查看次数: |
2546 次 |
| 最近记录: |