我有一个服务器。我的服务器是安全的,但让我们想象一下进入的优秀黑客。他现在可以查看/etc/passwd和/etc/shadow。我想将该文件重命名/etc/passwd为/etc/xxanoda.
我以为我可以做一个链接,但对于黑客来说这很容易做到ls -l。
可以重命名这些文件并且仍然有一个正在运行的操作系统,没有兼容性问题,或者它完全没用?只为求知。
chr*_*tis 29
类Unix系统的文件系统层次结构标准包含/etc/passwd在一个固定位置,因此工具通常被硬编码以在那里寻找它。虽然理论上您可以重新编译所有相关实用程序以查找新位置,但任何攻击者始终可以只在这些二进制文件中查找字符串来定位新文件,或使用正则表达式查找具有passwd类似内容的文件。
该shadow文件应仅对root(并且可能对名为 的组shadow)可读。如果攻击者设法获得了对您系统的 root 访问权限,他们就拥有完全的控制权,此时他们是否可以读取您的 passwd/shadow 文件是无关紧要的。
可以想象,在某些情况下,文件不在预期位置可能会有所帮助,例如,如果您有一个配置错误的 Web 服务器,它允许某人请求http://myserver/../../etc/passwd,但通常这种间接方式需要大量工作才能获得最小的安全收益。
gun*_*ert 12
正如你所说的那样,最好的事情是“完全没用”。(它不会为入侵者提供额外的障碍)
/etc/passwd 确实包含帐户名称,但任何对系统具有 shell 访问权限的人都可以找到它们。
/etc/shadow包含敏感信息(密码哈希),但仅对 root 用户可读。如果入侵者设法获得了 root 权限 - 那么你怎么拼写灾难呢?
小智 10
在现代 Unices(和类 Unix 系统,包括 Ubuntu)中,/etc/passwd不包含任何秘密。考虑到必须重建多少公用事业才能在新位置寻找它,重命名它会比它的价值更麻烦。
/etc/shadow是另一回事,因为该文件中有秘密,但重命名它无济于事。它只能由 root 用户读取,因此即使黑客以其他用户身份进入系统,也不足以访问该文件。这就是为什么首先删除密码的原因/etc/passwd:每个人都需要能够读取/etc/passwd,但只有 root 需要能够获取实际密码,因此密码被移动到一个只有 root 可以读取的文件中。
如果黑客确实获得了 root 权限,那么重命名也救不了你。一个简单的递归grep可以为黑客提供一个类似/etc/shadow格式的文件列表,然后黑客只需查看它们就可以找到他想要的数据。您最多延迟了他几个小时,可能更少:同样,不值得花时间修改和重新编译依赖于/etc/shadow的位置的所有实用程序。